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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2007, 15:59   #1
karinskih
Новичок
Джуниор
 
Регистрация: 10.12.2007
Сообщений: 1
По умолчанию Помогите с контрольной

Народ помогите! Делаю контрольную по информатике для бухгалтеров, один вопрос по Паскалю
В среде "Turbo Pascal" создать программу для решения задачи:
Создать целочисленный двумерный массив М, имеющий 8 строк и 10 столбцов с помощью генератора случайных чисел от 0 до 100. Вывести на дисплей наибольший и наименьший элементы этого массива, указав на пересечении каких строк и столбцов находятся эти элементы.
В программе желательно написать коментарии, так как я в Паскале полный ноль. Заранее спасибо.
karinskih вне форума Ответить с цитированием
Старый 10.12.2007, 16:02   #2
Alex21
With best regards
Участник клуба
 
Регистрация: 20.04.2007
Сообщений: 1,448
По умолчанию

Поиск по форуму.
Решена уже уйма аналогичных задач.
Alex21 вне форума Ответить с цитированием
Старый 10.12.2007, 16:48   #3
kommunist
C# developer
Форумчанин
 
Аватар для kommunist
 
Регистрация: 03.10.2007
Сообщений: 393
По умолчанию

Поиск максимального и минимального элемента массива.
Код:
program massiv;
uses crt;
const n = 8;
      m = 10;
type matrix  = array[1..n,1..m] of integer;
var  a:matrix;
     i:integer;
     j:integer;
     max:integer;
     min:integer;
 
begin
   clrscr;
   randomize;
   for i:= 1 to n do
begin
   for j:= 1 to m do
begin
   a[i,j] := random(101);
   write(a[i,j]:2,' ');
end;
   writeln;
end;
   max:=a[1,1];
   min:=a[1,1];
   writeln;
   for i:= 1 to n do
begin
   for j:= 1 to m do
   begin
   if max < a[i,j]
   then
   max:=a[i,j];
  end;
   writeln;
end;
   write(max,' ');
   for i:= 1 to n do
begin
   for j:= 1 to m do
   begin
   if min > a[i,j]
   then
   min := a[i,j];
end;

end;
   write(min,' ');
   readln;
   end.
Нахождение номера индекса массива примерно следующий алгоритм
добавляем еще переменные для номеров. после нахождения максимального и минимального присваеваем этим переменных индексы этих массивов и выводим их.
I like WPF

Последний раз редактировалось kommunist; 10.12.2007 в 18:17.
kommunist вне форума Ответить с цитированием
Старый 10.12.2007, 18:03   #4
Alex21
With best regards
Участник клуба
 
Регистрация: 20.04.2007
Сообщений: 1,448
По умолчанию

И чего вы любите столько циклов городить?
Вот всего 2 цикла:
Код:
const n = 8;
      m = 10;
var
  a: array[1..n,1..m] of integer;
  i, j, min, max:integer;
  minPosX,MinposY,MAXposX,MAXPosY:byte;
begin
  { TODO -oUser -cConsole Main : Insert code here }
  Randomize;
  min:=a[1,1]; // значение min (в начале =0)
  max:=a[1,1]; // значение Max (в начале =0)
  minposX:=1; minPosy:=1; // позиция min
  maxposX:=1; maxPosy:=1; // позиция Max

  for i:=1 to n do
  begin
    for j:=1 to M do
    begin
      a[i,j]:=Random(101);
      write(a[i,j]:3,' ');
      // ищем МАКС
      if a[i,j]>=max then
      begin
        max:=a[i,j];
        maxposX:=j;
        maxposY:=i;
      end;
      // Ищем МИН
      if a[i,j]<=min then
      begin
        min:=a[i,j];
        minposX:=j;
        minposY:=i;
      end;
    end;
    writeln;
  end;
  writeln;
  writeln('max = ',max:3,'[',maxposx,':',maxposy,']');
  writeln('min = ',min:3,'[',minposx,':',minposy,']');

  readln;
end.

Последний раз редактировалось Alex21; 10.12.2007 в 18:16.
Alex21 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сижу на контрольной помогите. __k1ll3r__ Паскаль, Turbo Pascal, PascalABC.NET 2 07.03.2008 15:20
Помогите с контрольной НиколаМГВРК Помощь студентам 4 02.10.2007 15:23
помогите с контрольной Delphi НиколаМГВРК Помощь студентам 3 30.09.2007 12:10