Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.11.2007, 17:13   #1
kommunist
C# developer
Форумчанин
 
Аватар для kommunist
 
Регистрация: 03.10.2007
Сообщений: 393
Восклицание проблема с массивом

Здраствуйте товарищи. у меня возникла проблема с решением задачи:
надо заполнить массив случайными числами 3х4, вычислить и вывести максимальные и минимальные элементы каждой строки и поставить их на место первого и последнего элемента соответственно. Как раз расставить их на места у меня и не получилось, подскажите как сделать!
Код:
program matrica;
uses    crt;
const   n = 3;
        m = 4;
type    matr = array [1..n,1..m] of integer;
var     a:matr;
        i:integer;
        j:integer;
        max,min:integer;
begin
        clrscr;
        randomize;
        writeln;
        writeln('ishodnaya matrica:');
        writeln;
        for i:= 1 to n do
begin
        for j:= 1 to m do
begin
        a[i,j]:=random(10);
        write(a[i,j]:2, ' ');
end;
        writeln;

end;

         writeln('maksimalnie chisla strok');
        for i:= 1 to n do
begin
        max:=a[i,1];
        for j:= 2 to m do
begin
        if max < a[i,j]
        then
        max:=a[i,j];
end;
        write(max, ' ');
end;
        writeln;
        writeln('minimalnie chisla strok');
        for i:= 1 to n do
begin
        min:=a[i,1];
        for j:= 2 to m do
        if min > a[i,j]
        then
        min:=a[i,j];
        write(min, ' ');
end;
end.
Заранее всех благадарю!
С уважением kommunist.
I like WPF
kommunist вне форума Ответить с цитированием
Старый 14.11.2007, 17:42   #2
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Код:
writeln('maksimalnie chisla strok');
for i:= 1 to n do
  begin
    max:=a[i,1];
    for j:= 2 to m do
      if max < a[i,j] then max:=a[i,j];
    write(max, ' ');
    a[i,m]:=max;
  end;
Ну, и минимум аналогично, товарищ.
_Dmitry вне форума Ответить с цитированием
Старый 14.11.2007, 17:57   #3
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Мне кажется, что это какая-то простая задача для начинающих и ее не надо решать в общем виде. Всего три строки. В каждой найти min и max, а потом a[i,1]:=max(i); a[i,4]:=min(i);Вывести max(a[1]),min(a[1]) и т.д.. Потом вывести отремонтированный массив.
puporev вне форума Ответить с цитированием
Старый 14.11.2007, 18:00   #4
kommunist
C# developer
Форумчанин
 
Аватар для kommunist
 
Регистрация: 03.10.2007
Сообщений: 393
По умолчанию

to puporev
спасибо,но
вообще у меня не 3 строки а гораздо больше, это я сейчас делаю 3*4
что бы легко было программу в работе.
I like WPF

Последний раз редактировалось kommunist; 14.11.2007 в 18:08.
kommunist вне форума Ответить с цитированием
Старый 14.11.2007, 18:07   #5
kommunist
C# developer
Форумчанин
 
Аватар для kommunist
 
Регистрация: 03.10.2007
Сообщений: 393
По умолчанию

уважаемый _Dmitry спасибо вам за подсказку я сделал все как вы порекомендовали но, к моему глубокому сожелению программа работает но ни так как надо (выводит нужную матрицу с последним столбцом состоящий из максимальных элементов, а вот первый столбик не такой какой нужен, вместо минимальных элементов стоят совсем другие числа)
вот здесь все показано:
Вложения
Тип файла: rar BIN.rar (4.1 Кб, 6 просмотров)
I like WPF
kommunist вне форума Ответить с цитированием
Старый 14.11.2007, 18:29   #6
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Немного поправил
Код:
program matrica;
uses    crt;
const   n = 3;
        m = 4;
type    matr = array [1..n,1..m] of integer;
var     a:matr;
        i:integer;
        j:integer;
        max,min:integer;
begin
        clrscr;
        randomize;
        writeln;
        writeln('ishodnaya matrica:');
        writeln;
        for i:= 1 to n do
          begin
            for j:= 1 to m do
              begin
                a[i,j]:=random(10);
                write(a[i,j]:3);
              end;
            writeln;
          end;

        for i:= 1 to n do
          begin
            max:=a[i,1]; min:=a[i,1];
            for j:= 2 to m do
              begin
                if max < a[i,j] then max:=a[i,j];
                if min > a[i,j] then min:=a[i,j];
              end;
            a[i,m]:=max; a[i,1]:=min;
          end;
        writeln;

  for i:= 1 to n do
    begin
      for j:= 1 to m do
        write(a[i,j]:3);
      writeln;
    end;
 readln;
end.
_Dmitry вне форума Ответить с цитированием
Старый 14.11.2007, 18:36   #7
kommunist
C# developer
Форумчанин
 
Аватар для kommunist
 
Регистрация: 03.10.2007
Сообщений: 393
Радость спасибо

огромнейшее спасибо тебе _Dmitry
I like WPF
kommunist вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема с массивом kommunist Паскаль, Turbo Pascal, PascalABC.NET 7 27.05.2010 19:00
Проблема с динамическим массивом dee_lv Помощь студентам 7 09.06.2008 16:58
проблема с динамическим массивом kommunist Помощь студентам 6 11.11.2007 21:18
проблема с массивом Lonix Общие вопросы Delphi 2 06.11.2007 23:56
проблема с массивом kommunist Помощь студентам 4 31.10.2007 17:11