profile
Размещено 4 года назад по предмету Информатика от maximiusmi

дан двумерный массив,найти максимальное и минимальное значение .Я новенький в этом деле,вот попытался сам,посмотрите и обьясните что не правильно ,пожалуйста .

program zaza;
var
i,j,n,m,max,min:integer;
a:array[1..10,1..10] of integer;
begin
writeln ('vvedite chislo n');
writeln ('vvedite chislo m');
for i:=1 to n do
for j:=1 to m do
begin
writeln ('vvedite elementu massiva',i,j);
end;
for i:=1 to n do
for j:=1 to m do
begin
if a[i,j] > max then
max:= a[i,j];
if a[i,j] < min then
min:=a[i,j];
end;
writeln('max','min')
end.

  1. Ответ на вопрос
    Ответ на вопрос дан Sky09

    uses crt; {вывод результата в отдельном окне}
    var i,j,n,m,max,min:integer;  {ввод переменных}
    a:array[1..10,1..10] of integer;  {ввод массива} 
    begin
    clrscr;  {очистка экрана вывода} 
    writeln ('vvedite chislo n');  {выводим на экран сообщение}
    read(n);  {вводим число} 
    writeln ('vvedite chislo m');  {выводим на экран сообщение} 
    read(m);  {вводим число} 
    writeln ('vvedite elementu massiva');  {выводим на экран сообщение} 
    for i:=1 to n do
    for j:=1 to m do
    begin  {откроем операторные скобки, чтобы каждый раз не задавать границы массива} 
    readln(a[i,j]);  {вводим массив} 
    max:=a[1,1];  {задаем значения для минимума и максимума для сравнения с другими элементами} 
    min:=a[1,1];
    if a[i,j] > max then
    max:= a[i,j];
    if a[i,j] < min then
    min:=a[i,j];
    end;  {закроем операторные скобки} 
    writeln('max=',max,'min=',min);  {вывод на экран сообщения} 
    end.

  2. Ответ на вопрос
    Ответ на вопрос дан Alphaeus

    1) добавь строку для вывода результата в отдельном окне:
    uses crt;
    2) Размерность массива лучше сразу задать с пмомщью констант - потом если нужно будет решить ту же задачу для другого массива, просто поменяешь её на новую:
    const n=10;
    const m=10;
    3) описание массива через константы:
    a:array[1..n,1..m] of integer;  
    4) после приглашения writeln ('vvedite chislo n') должен быть оператор readln. Но представь себе ситуацию: ты описал массив a:array[1..10,1..10], а пользователь ввёл n=12? Тогда обращение к a[12,1] выдаст ошибку. Поэтому лучше не просить вводить n и m вообще, а использовать const
    5) пропущен оператор readln:
    writeln ('vvedite elementu massiva',i,j);
    если в условии задачи не сказано явно вводить с клавиатруы значения массива, лучше заполнять массив с помощью random (вводить 100 чисел надоедает!)
    randomize;
    for i:=1 to n do
      for j:=1 to m do
          a[i,j]:=random(100);
    6) перед тем , как просматривать весь массив в поисках мин и макс элементов, надо задать начальное значение min и max:
    max:= a[1,1];
    min:= a[1,1];
    (дальше цикл поиска у тебя организован правильно)
    7) writeln('max','min') - такая строка всегда печатает "maxmin"
    Надо так:
    writeln('max=',max,'   min=',min);
    8) для наглядности можно вывести массив перед тем, как выводить max и min. Можно использовать тот же цикл, что и для поиска:
       write(a[i,j]:5); (здесь ":5" задаёт ширину вывода - на каждое число отводится 5 позиций)
    9) скачай и установи себе PascalABC и запускай каждую написанную прогрмму - иначе не научишься.
     
    В итоге получим:
    Program zaza;
    uses crt;
    const n=10;
    const m=10;
    var
      i,j,max,min:integer;
      a:array[1..n,1..m] of integer;
    begin
      randomize;
      for i:=1 to n do
        for j:=1 to m do
          a[i,j]:=random(100); {задаёт случайное число от 0 до 99}
      max:= a[1,1];
      min:= a[1,1];
      for i:=1 to n do
        begin
          for j:=1 to m do
            begin
              if a[i,j] > max then
                max:= a[i,j];
              if a[i,j] < min then
                min:=a[i,j];
              write(a[i,j]:5);  
            end;
          writeln(); {выводит пустую строку "для красоты"}
        end;
      writeln();
      writeln('max=',max,'   min=',min);
    end.

Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 5 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.