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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.02.2013, 19:49   #1
AlexP777
Пользователь
 
Регистрация: 18.10.2011
Сообщений: 33
По умолчанию двумерный массив - преобразование матрицы

Здравствуйте,

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

Вот вводим всю матрицу(допустим квадратную 5/5 для простоты):
Код:
readln(A[I,J]);
For I:=1 to N do
For J:=1 to M do
Readln(A[I,J]);
нужно задать какую-то переменную для минимального значение и каое-то минимальное значение, но какое?

Код:
  For J:=1 to M do
    Begin
    For I:=1 to N do
    if min> A[I,J] then min:=A[I,J];
    writeln(min);
    For I:=1 to N do
    min:= A[I,J] * min;
    writeln(min);
    end;
т.е. по сути здесь все и выполняется - ищем минимальный элемент массива и перемножаем все другие, но перед циклом минимальный эл. должен быть указан - можно указать его равным нулю?

подскажите идеями, либо каким-то текстами как решить данный вопрос буду благодарен.
AlexP777 вне форума Ответить с цитированием
Старый 28.02.2013, 21:07   #2
AlexP777
Пользователь
 
Регистрация: 18.10.2011
Сообщений: 33
По умолчанию

поразмышлял и пришел вот к какому тексту(поправьте меня, если что не так написал):
Код:
program laba6v7;
const n=5;
var a:array[1..n,1..n] of real;
  m:real; i,j:integer;
begin
m:=5000000000;

     for i:=1 to n do
     for j:=1 to n do
     begin
         a[i,j]:=random(50);
         write(a[i,j]:4);
     end;
(* writeln('vvedite massiv');
for i:=1 to n do
for j:=1 to n do
readln(a[i,j]); *)

for i:=1 to n do
  begin
  if m>a[i,j] then m:=a[i,j];
  write(' ',m,'  '); writeln;
  m:=a[i,j]*m;
  writeln(m);
  end;
(* for i:=1 to n do
  begin
  m:=m*a[i,j];
 writeln;
  write('   ',m,'    ');
  end; *)
end.
некоторые строки просто закомментил, что бы заново не писать вдруг чего.



P.S.: как бы все таки сделать дополнительно красивый вывод результата в ввиде нормальной квадратной матрицы на экран?

Последний раз редактировалось AlexP777; 28.02.2013 в 21:08. Причина: скопировал не тот код
AlexP777 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двумерный массив (Матрицы) SnakeLight Visual C++ 0 10.04.2012 17:22
двумерный массив(матрицы) в pascal zenid Помощь студентам 8 27.12.2011 19:17
Матрицы - двумерный массив. Aleksa91 Помощь студентам 0 29.10.2011 19:39
двумерный массив (матрицы) prelest' Паскаль, Turbo Pascal, PascalABC.NET 6 06.06.2011 13:42
двумерный массив..преобразование и поиск минимума..в чем ошибка? XanderXage Помощь студентам 4 02.12.2009 12:18