Памогите плз решить задание по лабе по турбо паскалю

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by LEGHEBOKA, 30 Mar 2010.

  1. LEGHEBOKA

    LEGHEBOKA New Member

    Joined:
    30 Mar 2010
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Задание:
    Дан массив А(N,N). Поменять элементы К-ой строки с элементами последней строкой этого массива. Переписать в одномерный массив элементы К-ой строки. Первоначальный и преобразованый двумерные массивы и одномерный массив вывести на экран.


    Началась практика, а я почти ни чё не помню.
    ЗАРАНЕЕ СПАСИБО.
     
  2. moodoone

    moodoone Member

    Joined:
    21 Oct 2009
    Messages:
    144
    Likes Received:
    38
    Reputations:
    5
    Program)

    Code:
    program zadacha;
    var
    a:array[1..255,1..255];
    b:array[1..255,1..255];
    c:array[1..255];
    k,i,j,n:integer;
    begin
    writeln ('Введите  номер строки которую нужно поменять');
    readln (k);
    writeln ('Введите количество элементов массива');
    readln (n);
    writeln ('Введите элементы массива и нажмите (Enter)');
    for i:=1 to n  do
    for j:=1 to n  do
    read(A[i,j]);
    for i:=1 to n  do
    for j:=1 to n  do
    b[i,j]:=a[i,j];
    
    for j:=1 to n do
    c:=b[k,j];
    b[k,j]:=b[n,j];
    b[n,j]:=c;
    for j:=1 to n do
    c[i]:=b[k,j];
    for i:=1 to n  do
    for j:=1 to n  do
     write (A[i,j]);
     for i:=1 to n  do
    for j:=1 to n  do
     write (B[i,j]);
     for i:=1 to n  do
     write (c[i]);
    end.

    Только недавно начал изучать паскаль так что не пинайте..Незнаю рабочия ли программа...
     
    #2 moodoone, 31 Mar 2010
    Last edited: 31 Mar 2010
  3. Malor1k

    Malor1k Banned

    Joined:
    6 Mar 2010
    Messages:
    0
    Likes Received:
    11
    Reputations:
    0
    не рабочая
     
  4. Alv

    Alv Elder - Старейшина

    Joined:
    30 Jan 2007
    Messages:
    0
    Likes Received:
    20
    Reputations:
    2
    Code:
    program zadacha;
    var
    a:array[byte,byte] of integer;
    b:array[byte] of integer;
    k,i,j,n:integer;
    begin
    writeln ('Введите  номер строки которую нужно поменять');
    readln (k);
    writeln ('Введите количество элементов массива');
    readln (n);
    writeln ('Введите элементы массива и нажмите (Enter)');
    for i:=1 to n  do
    for j:=1 to n  do
    read(A[i,j]);
    
    for i:=1 to n  do
    for j:=1 to n  do
     write (A[i,j]);
    
    for j:=1 to n do
    begin
    b[j]:=a[k,j];
    a[k,j]:=a[n,j];
    a[n,j]:=b[j];
    end;
    
    for i:=1 to n  do
    for j:=1 to n  do
     write (a[i,j]);
    
     for i:=1 to n  do
     write (b[i]);
    end.
     
  5. Soherox

    Soherox Member

    Joined:
    17 Feb 2010
    Messages:
    45
    Likes Received:
    16
    Reputations:
    0
    PHP:
    const
        
    kl 300;
      
    type
        myarr 
    = array [1..kl1..klof integer;

      var
        
    amyarr;
        
    b: array [1..klof integer;
        
    ijkninteger;

    procedure swap(var abinteger);
      var
        
    tinteger;
    begin
      t
    :=a;
      
    a:=b;
      
    b:=t;
    end;

    procedure writem (amyarr);
      var
        
    ijinteger;
    begin
      writeln
    ;
      for 
    i:=1 to n do
        
    begin
          
    for j:=1 to n do write(a[ij],' ');
          
    writeln;
        
    end;
    end;

    begin
      readln
    (nk);
      for 
    i:=1 to n do
        
    begin
          
    for j:=1 to n do read(a[ij]);
          
    readln;
        
    end;
      
    writem(a);
      for 
    i:=1 to n do
        
    begin
          swap
    (a[ki], a[ni]);
          
    b[i]:=a[ki];
        
    end;
      
    writem(a);
      
    writeln;
      for 
    i:=1 to n do write(b[i],' ');
      
    readln;
    end.
     
  6. JnK

    JnK Elder - Старейшина

    Joined:
    30 Mar 2007
    Messages:
    125
    Likes Received:
    21
    Reputations:
    0
    Писал на Делфи, но должно работать и на паскале:
    PHP:
    program Project2;

    var
      
    i,j,R:integer;
      
    N,K:integer;
      
    Massv:array[1..255,0..255of integer;
      
    Massv_t:array[1..255,0..255of integer;
      
    Massv_o:array[1..255of integer;
    begin
      Write
    ('Размер массива: ');
       
    ReadLn(N);
    {
    Заполняем рандом 2 массива}
      for 
    j:=1 to N do   // Столбец
        
    for i:=1 to N do // строка
        
    begin
          r
    :=Random(100);
          
    Massv[j,i]:=r;
          
    Massv_t[j,i]:=r;
        
    end;
    {
    Какую строку будем менять}
      
    Write('Строка: ');
       
    ReadLn(K);
    {
    Замена Сохранение в одномерном массиве}
      for 
    i:=1 to N do // строка
      
    begin
        Massv_o
    [i]:=Massv[K,i]; // сохраняем в одномерном
        
    Massv[K,i]:=Massv[N,i]; // заменяем K строку последней
        
    Massv[N,i]:=Massv_o[i]; // последнюю заменяем из одномерного массива
      
    end;

    {
    Вывод}
      
    WriteLn('-Массив--------------');
      for 
    j:=1 to N do   // Столбец
      
    begin
        
    for i:=1 to N do // строка
        
    begin
          Write
    (Massv_t[j,i],' ');
        
    end;
        
    WriteLn// новая строка
      
    end;
      
    WriteLn('-Измененый Массив--------------------');
      for 
    j:=1 to N do   // Столбец
      
    begin
        
    for i:=1 to N do // строка
        
    begin
          Write
    (Massv[j,i],' ');
        
    end;
        
    WriteLn;
      
    end;
      
    WriteLn('-Строка-----------------------');
      for 
    i:=1 to N do // строка
      
    begin
        Write
    (Massv_o[i],' ');
      
    end;

    WriteLn('Нажмите Enter для завершения...');
    ReadLn// Ожидаем нажатие Enter для выдода
    end.
    P.s. надеюсь правильно понял задачу.
     
    #6 JnK, 6 Apr 2010
    Last edited: 6 Apr 2010
  7. Soherox

    Soherox Member

    Joined:
    17 Feb 2010
    Messages:
    45
    Likes Received:
    16
    Reputations:
    0
    JnK...нужно сначала поменять местами в двумерном, только потом записывать в одномерный, у тебя же наоборот происходит... плюс если используешь random, то не забываем писать randomize
     
  8. JnK

    JnK Elder - Старейшина

    Joined:
    30 Mar 2007
    Messages:
    125
    Likes Received:
    21
    Reputations:
    0
    Soherox, Выходит в одномерный надо записать последнюю строку двухмерного начального массива.

    ИМХО, В данном случаи randomize, дело вкуса.

    Если после изменения, тогда надо поменять этот кусочек:
    PHP:
      for i:=1 to N do // строка 
      
    begin 
    //    Massv_o[i]:=Massv[K,i]; // Сохранить до изменения
        
    Massv[K,i]:=Massv[N,i]; 
        
    Massv_o[i]:=Massv[K,i]; // Сохранить После изменения
        
    Massv[N,i]:=Massv_t[K,i]; // последнюю строку заменяем на К строку
      
    end;
     
    #8 JnK, 6 Apr 2010
    Last edited: 6 Apr 2010
  9. -Gory King-

    -Gory King- Banned

    Joined:
    26 Jun 2009
    Messages:
    247
    Likes Received:
    23
    Reputations:
    15
    _http://forum.antichat.ru/thread122076.html