Помогите исправить, не знаю в чём ошибка. Задание двумерный массив с ручным заполнением...

0 голосов
48 просмотров

Помогите исправить, не знаю в чём ошибка.
Задание двумерный массив с ручным заполнением числами (от минимального до максимального) и поиском нечётных чисел, с выводом их на экран


Скачать вложение Текст (TXT)

Информатика (15 баллов) | 48 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Program Project1;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils;

var
i, j, m, n, max, min: integer;
a: array [1..99, 1..99] of integer;

procedure v(var p: integer);
var
  k: integer;
  s: string;
begin
  repeat
    readln(s);
    val(s, p, k);
    if (k <> 0) then
      write('Введите элемент массива ')
    else
      until (k = 0);
  end;
  begin
    write('Введите количество строк: ');
    readln(n);
    if (n < 1) or (n > 99) then
      repeat
        write('Введите количество строк: ');
        readln(n);
      until (n >= 1) and (n < 100);
    write('Введите количество столбцов: ');
    readln(m);
    if (m < 1) or (m > 99) then
      repeat
        write('Введите количество столбцов: ');
        readln(m);
      until (m >= 1) and (m < 100);
    write('Введите минимальный элемент массива: ');
    v(min);
    write('Введите максимальный элемент массива: ');
    v(max);
    if min > max then
      while min > max do
      begin
        write('Минимальный элемент массива > максимального, введите снова минимальный элемент: ');
        v(min);
      end;
    writeln('Элементы массива:');
    Randomize;
    for i:= 1 to n do
      for j:= 1 to m do
       a[i, j]:=Random(max - min + 1) + min;
    for i := 1 to n do
    begin
      for j := 1 to m do
        write(' ', a[i, j]:2);
      writeln;
    end;
    writeln('нечетные элементы массива:');
    for i := 1 to n do
      for j := 1 to m do
      if a[i, j] mod 2 <> 0 then
        write(a[i, j], ' ');
    readln;
end.

(150k баллов)