2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Вывод двумерного массива [Delphi]
Сообщение02.01.2015, 02:59 
Аватара пользователя


27/03/14
1091
Я написал программу для вывода двумерного массива. По строкам при помощи цикла while, по столбцам- repeat. Ерунду мне какую- то выдает, а не то, что я прошу, что я не так сделал ?
код: [ скачать ] [ спрятать ]
Используется синтаксис Delphi
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;
type Tmatrix=array [1..31,1..44] of integer;
procedure Tm (m,n:integer;Var a:TMatrix);
  var
      i,j:integer;
  begin
    writeln ('skolko strok? ');
    readln (m);
    writeln (' skolko stolbcov? ');
    readln (n);
    i:=1;
      while i<=m do begin
        j:=1;
          repeat
              a[i,j]:=random (5);
              write(a[i,j]:4);
             j:=j+1;
         until j=n;
         writeln;
        i:=i+1;
    end;
  end;
Var m,n:integer;
    a:TMatrix;

Begin
  Tm(m,n,a);

readln;
End.

 Профиль  
                  
 
 Re: Вывод двумерного массива
Сообщение02.01.2015, 03:10 
Заслуженный участник


09/05/12
25179
fronnya в сообщении #955331 писал(а):
Ерунду мне какую- то выдает, а не то, что я прошу
Строго говоря, выдает-то как раз то, что просите. А вот что Вы хотели попросить - это другой вопрос...

По-видимому, проблема в том, что не хватает одного столбца? Если да, то связано это с тем, что условие выхода из цикла until проверяется в тот момент, когда индекс уже увеличен на единицу, для получения желаемого поведения надо немного изменить условие выхода.

Но только зачем для таких целей использовать что-то другое, кроме циклов for? И вообще - зачем так сложно?

 Профиль  
                  
 
 Re: Вывод двумерного массива
Сообщение02.01.2015, 03:20 
Аватара пользователя


27/03/14
1091
Pphantom в сообщении #955333 писал(а):
fronnya в сообщении #955331 писал(а):
Ерунду мне какую- то выдает, а не то, что я прошу
Строго говоря, выдает-то как раз то, что просите. А вот что Вы хотели попросить - это другой вопрос...

По-видимому, проблема в том, что не хватает одного столбца? Если да, то связано это с тем, что условие выхода из цикла until проверяется в тот момент, когда индекс уже увеличен на единицу, для получения желаемого поведения надо немного изменить условие выхода.

Да, так и думал, сейчас гляну.
Pphantom в сообщении #955333 писал(а):
Но только зачем для таких целей использовать что-то другое, кроме циклов for? И вообще - зачем так сложно?

А вот это уже нормальная реакция на подобные задания :D :D Преподавательница говорит, что просто хочет нас научить работать с циклами, не более, в этом идея подобных заданий.

-- 02.01.2015, 02:22 --

Проблема решена, очень глупая ошибка.

 Профиль  
                  
 
 Re: Вывод двумерного массива
Сообщение02.01.2015, 15:43 


27/08/14
206
fronnya в сообщении #955335 писал(а):
Pphantom в сообщении #955333 писал(а):
Но только зачем для таких целей использовать что-то другое, кроме циклов for? И вообще - зачем так сложно?

А вот это уже нормальная реакция на подобные задания :D :D Преподавательница говорит, что просто хочет нас научить работать с циклами, не более, в этом идея подобных заданий.

В этом случае надо давать задания, где применение таких циклов обосновано. Зато это объясняет, откуда потом возникает индусский код :-).

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group