[pascal&fortran] Обработка массивов

Тема в разделе "Pascal and Delphi", создана пользователем Pascaler, 19 апр 2010.

  1. Pascaler

    Pascaler Гость

    Репутация:
    0
    В двумерном массиве 3х3 (данные вводим с клавиатуры) чисел найти строки с максимальным и минимальным значением приращения (разности между соседними значениями). Исходные данные брать с внешнего источника. При необходимости можно через подпрограммы(procedure).
     
  2. Dock1100

    Dock1100 :-]

    Репутация:
    0
    Регистрация:
    9 ноя 2009
    Сообщения:
    665
    Симпатии:
    1
    Строки или элементы?
    По горизонтали, вертикале? А если елемент №1,1?
    Какие именно и для чего?
     
  3. Pascaler

    Pascaler Гость

    Репутация:
    0
    Найти строки, на счет разности между соседними значениями в задании вот не сказано... наверное по горизонтали. Данные с внешнего источника это значит брать данные с файла на жестком диске. (с помощью оператора assign, rewrite вроде)
     
  4. Dock1100

    Dock1100 :-]

    Репутация:
    0
    Регистрация:
    9 ноя 2009
    Сообщения:
    665
    Симпатии:
    1
    Какие данные(текс, цифры) и для чего?

    И всетаки как быть если елемент 1.1 или 1.3 ... соседним будет только одно, а если матрыца 3х3 то выходит проверять надо только средний(1.2,2.2,3.2)?
     
  5. Pascaler

    Pascaler Гость

    Репутация:
    0
    Данные для заполнения массива, цифры.
    по моему с 3х3 так. Поэтому возьмем 5х5
     
  6. Dock1100

    Dock1100 :-]

    Репутация:
    0
    Регистрация:
    9 ноя 2009
    Сообщения:
    665
    Симпатии:
    1
    А нафиг это?↓
    Код (Delphi):
    const m=5;
    n=6;

    var i,j,strokamin,strokamax:integer;
    min,max:real;
    A:Array[1..m,1..n] of real;
    f:file of real;
    s:string;
    begin
    writeln('vvedit fail');
    readln(s);
    assign(f,s);
    reset(f)
    for i:=1 to m do
    for j:=1 to n do
    read(f,a[i,j]);
    close(f);

    min:=a[1,1];
    max:=a[1,1];
    strokamin:=1;
    strokamax:=1;
    for i:=1 to m do
    for j:=2 to n-1 do
    begin
    if a[i,j-1]-a[i,j+1]<min then begin min:=a[i,j-1]-a[i,j+1]; strokamin:=i; end;
    if a[i,j-1]-a[i,j+1]>max then begin max:=a[i,j-1]-a[i,j+1]; strokamax:=i; end;
    end;
    writeln('storka min prirashenije : ',strokamin);
    writeln('storka max prirashenije : ',strokamax);
    readln;
    end.
     
  7. Pascaler

    Pascaler Гость

    Репутация:
    0
    Код (Text):
    assign(f,s);
    reset(f)
    for i:=1 to m do
    for j:=1 to n do
    read(f,a[i,j]);
    После for при проверке требует оператор. Пишет ожидался оператор. я проверял с Паскаль ABC
     
  8. Dock1100

    Dock1100 :-]

    Репутация:
    0
    Регистрация:
    9 ноя 2009
    Сообщения:
    665
    Симпатии:
    1
    после reset(f) поставь ;
     
Загрузка...

Поделиться этой страницей