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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.05.2011, 20:04   #1
prelest'
Пользователь
 
Регистрация: 23.05.2011
Сообщений: 34
По умолчанию двумерный массив (матрицы)

1)Дана матрица размера M x N. Вывести ее элементы в следующем порядке: первый столбец сверху вниз, второй столбец снизу вверх, третий столбец сверху вниз, четвертый столбец снизу вверх и т.д
2)Дана матрица размера M x N. Найти минимальный среди максимальных элементов ее столбцов.
3)Дана матрица размера M x N. Найти количество ее столбцов, элементы которых упорядочены по убыванию.
prelest' вне форума Ответить с цитированием
Старый 26.05.2011, 18:51   #2
ByAlex
Форумчанин
 
Аватар для ByAlex
 
Регистрация: 15.03.2011
Сообщений: 465
По умолчанию

Цитата:
Сообщение от prelest' Посмотреть сообщение
1)Дана матрица размера M x N. Вывести ее элементы в следующем порядке: первый столбец сверху вниз, второй столбец снизу вверх, третий столбец сверху вниз, четвертый столбец снизу вверх и т.д
2)Дана матрица размера M x N. Найти минимальный среди максимальных элементов ее столбцов.
3)Дана матрица размера M x N. Найти количество ее столбцов, элементы которых упорядочены по убыванию.
Привет! Если еще нужно, то вот пока Первая работа -
Код:
var
  temp,i,j:integer;
  check:boolean;
  a:array[1..5,1..5] of integer;
begin
  writeln('Vvedite massive [5,5]:');
  for i := 1 to 5 do
    for j := 1 to 5 do
      read(a[i,j]);
  check:=false;
  for i := 1 to 5 do
  begin
    if check then
    begin
      for j := 1 to (5 div 2)+1 do
      begin
        temp:=a[j,i];
        a[j,i]:=a[(5+1)-j,i];
        a[(5+1)-j,i]:=temp;
      end;
      check:=false;
    end
    else check:=true;
  end;
  writeln;
  for i := 1 to 5 do
  begin
    for j := 1 to 5 do
      write(a[i,j],' ');
    writeln;
  end;
  readln;
  readln;
end.
Помог - жми на весы!
ByAlex89@mail.ru
ByAlex вне форума Ответить с цитированием
Старый 26.05.2011, 23:20   #3
ByAlex
Форумчанин
 
Аватар для ByAlex
 
Регистрация: 15.03.2011
Сообщений: 465
По умолчанию

Вторая -
Код:
var
  max,i,j, minMax:integer;
  arr:array[1..5,1..5] of integer;
  arrMax:array[1..5] of integer;
begin
  writeln('Vvedite massive [5,5]:');
  for i := 1 to 5 do
    for j := 1 to 5 do
      read(arr[i,j]);

  max:=0;
  for i := 1 to 5 do
  begin
    for j := 1 to 5 do
    begin
      if arr[j,i]>max then
        max:=arr[j,i];
    end;
    arrMax[i]:=max;
    max:=0;
  end;

  minMax:=arrMax[1];
  for i := 1 to 5 do
  begin
    if arrMax[i]<minMax then
      minMax:=arrMax[i];
  end;

  writeln;
  write('Minimalniy element sredi maximalnyh = ',minMax);
  readln;
  readln;
Помог - жми на весы!
ByAlex89@mail.ru
ByAlex вне форума Ответить с цитированием
Старый 30.05.2011, 11:32   #4
prelest'
Пользователь
 
Регистрация: 23.05.2011
Сообщений: 34
По умолчанию

а почему все до 5?
prelest' вне форума Ответить с цитированием
Старый 30.05.2011, 13:51   #5
(zom!k
 
Регистрация: 29.05.2011
Сообщений: 4
По умолчанию

Цитата:
Сообщение от prelest' Посмотреть сообщение
1)Дана матрица размера M x N. Вывести ее элементы в следующем порядке: первый столбец сверху вниз, второй столбец снизу вверх, третий столбец сверху вниз, четвертый столбец снизу вверх и т.д
2)Дана матрица размера M x N. Найти минимальный среди максимальных элементов ее столбцов.
3)Дана матрица размера M x N. Найти количество ее столбцов, элементы которых упорядочены по убыванию.
В первом используеш конструкцию:

Код:
for i:=1 to N do
  for j:=M downto 1 do write (mas[j,i],'  ');
где N-столбцы, M-строки, хотя неважно..

во втором:

Код:
max:=mas[1,1]; min:=max;
for i:=1 to N do begin
  for j:=1 to M do if mas[j,i]>max then max:=mas[j,i];
  if max<min then min:=max;
end;
в третьем:

Код:
count:=0;
for i:=1 to N do begin
  flag:=true;
  for j:=1 to M-1 do 
    if mas[j,i]<mas[j+1,i] then begin
                                  flag:=false;
                                  break;
                                end;
  if flag then inc(count);
end;

вроде так - не проверял
(zom!k вне форума Ответить с цитированием
Старый 30.05.2011, 15:37   #6
prelest'
Пользователь
 
Регистрация: 23.05.2011
Сообщений: 34
По умолчанию

уважаемые программисты напишите пожалуйста полностью эти задачи...не понимаю я..а мне девушке не обьясняет препод(
prelest' вне форума Ответить с цитированием
Старый 06.06.2011, 13:42   #7
ByAlex
Форумчанин
 
Аватар для ByAlex
 
Регистрация: 15.03.2011
Сообщений: 465
По умолчанию

Цитата:
Сообщение от prelest' Посмотреть сообщение
уважаемые программисты напишите пожалуйста полностью эти задачи...не понимаю я..а мне девушке не обьясняет препод(
Пиши в асю, если еще надо, все сделаем! 646455354
Помог - жми на весы!
ByAlex89@mail.ru
ByAlex вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одномерный массив и Двумерный массив eugene1437 Общие вопросы C/C++ 15 25.05.2011 19:17
Двумерный массив eragon_ua Паскаль, Turbo Pascal, PascalABC.NET 2 29.03.2011 22:34
ДВУМЕРНЫЙ МАССИВ vova6161 Помощь студентам 1 15.12.2010 21:33
двумерный массив kolobok00100 Помощь студентам 2 25.12.2009 00:01
Двумерный массив, одномерный массив. Branbal Помощь студентам 14 18.11.2009 12:40