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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2014, 21:40   #1
Виталик124
Пользователь
 
Регистрация: 08.02.2014
Сообщений: 37
По умолчанию Матрица!

Дана матрица! Найти максимальный элемент в каждой строке, вывести вектором.
Виталик124 вне форума Ответить с цитированием
Старый 19.02.2014, 21:46   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

Знаете, как найти максимальный элемент в одномерном массиве? Если да, то просто производите поиск в цикле по каждой строке (строка ведь является одномерным массивом) и выводите найденное число.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 19.02.2014, 21:50   #3
Виталик124
Пользователь
 
Регистрация: 08.02.2014
Сообщений: 37
По умолчанию

я не могу понять, как производить поиск по каждой строке!?
Виталик124 вне форума Ответить с цитированием
Старый 19.02.2014, 22:26   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
как производить поиск по каждой строке!?
Покажешь код ввода матрицы?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.02.2014, 22:39   #5
Виталик124
Пользователь
 
Регистрация: 08.02.2014
Сообщений: 37
По умолчанию

Код:
begin
randomize;
writeln('vvedite_kolichestvo_strok');
readln(n);
writeln('vvedite_kolichestvo_stolbcov');
readln(m);
for i:=1 to n do begin
for j:=1 to m do begin
a[i,j]:=random(10);
write('  ',a[i,j]);
end;
writeln;
end;
Виталик124 вне форума Ответить с цитированием
Старый 19.02.2014, 23:37   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Вотъ.
А нахождение максимума:
Код:
for i:=1 to n do begin
for j:=1 to m do begin
 if a[i,j]>b[i] then b[i]:=a[i,j];
end;
end;
Где b:array[1..m] of Чего-то
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.02.2014, 23:38   #7
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

Код:
for i := 1 to n do
begin
  max := a[i, 1];
  for j := 2 to m do
    if a[i, j] > ...

end;
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 20.02.2014, 00:22   #8
Виталик124
Пользователь
 
Регистрация: 08.02.2014
Сообщений: 37
По умолчанию

Код:
program max_elementi_v_strokah;

var
  max, f, l, n, m, i, j: integer;
  a: array[1..100] of array[1..100] of integer;
  b: array[0..100] of integer;

begin
  randomize;
  writeln('vvedite_kolichestvo_strok');
  readln(n);
  writeln('vvedite_kolichestvo_stolbcov');
  readln(m);
  writeln('MATRICA : ');
  for i := 1 to n do 
  begin
    for j := 1 to m do 
    begin
      a[i, j] := random(10);
      write('  ', a[i, j]);
    end;
    writeln;
  end;
  writeln;
  l := 1;
  for i := 1 to n do 
  begin
    max := a[i, 1];
    for j := 2 to m do 
    begin
      if a[i, j] > max then
        max := a[i, j];
    end;
    writeln('STROKA ', i, ' MAX_ELEMENT ', max);
    b[l] := max;
    l := l + 1;
  end;
  dec(l);
  writeln;
  writeln('vektor_iz_MAX_elementov_strok : ');
  for f := 1 to l do 
    write('  ', b[f]);
end.
НО! я не понял эту строку : max := a[i, 1]; Почему i не = 1? А всё остальное ясно! Спасибо!
Виталик124 вне форума Ответить с цитированием
Старый 20.02.2014, 00:43   #9
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

Код:
 for i := 1 to n do 
  begin
    b[i] := a[i, 1];
    for j := 2 to m do 
    begin
      if a[i, j] > b[i] then
        b[i] := a[i, j];
    end;
    writeln('STROKA ', i, ' MAX_ELEMENT ', b[i]);
  end;
  writeln;
  writeln('vektor_iz_MAX_elementov_strok : ');
  for f := 1 to n do 
    write('  ', b[f]);
Первый индекс - номер строки, второй - столбца. Рассматриваем i-ю строку. Предполагаем, что значение максимального элемента равно первому элементу строки (нужно же задать какое-нибудь начальное значение).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 20.02.2014, 00:56   #10
Виталик124
Пользователь
 
Регистрация: 08.02.2014
Сообщений: 37
По умолчанию

Агаа! Всё! Пасиб!
Виталик124 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль. Матрица NxN -> текстовый файл -> Матрица NxN - найти max по диагоналям -> типизированный файл Лунатик13 Помощь студентам 1 20.02.2012 15:54
матрица Татьана Паскаль, Turbo Pascal, PascalABC.NET 3 11.10.2011 11:45
Матрица stas45rus Помощь студентам 2 10.10.2011 14:51
Непонятки с DirectX (матрица поворота, камера, матрица проекции) ROD Общие вопросы C/C++ 2 17.09.2010 17:00
TurboPascal: граф, матрица смежности и матрица инцидентности. ulala Помощь студентам 0 02.12.2009 10:11