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

  • Автор темы Pascaler
  • Дата начала
P

Pascaler

#1
В двумерном массиве 3х3 (данные вводим с клавиатуры) чисел найти строки с максимальным и минимальным значением приращения (разности между соседними значениями). Исходные данные брать с внешнего источника. При необходимости можно через подпрограммы(procedure).
 
09.11.2009
665
1
#2
айти строки с максимальным и минимальным значением приращения (разности между соседними значениями).
Строки или элементы?
разности между соседними значениями
По горизонтали, вертикале? А если елемент №1,1?
Исходные данные брать с внешнего источника
Какие именно и для чего?
 
P

Pascaler

#3
Найти строки, на счет разности между соседними значениями в задании вот не сказано... наверное по горизонтали. Данные с внешнего источника это значит брать данные с файла на жестком диске. (с помощью оператора assign, rewrite вроде)
 
09.11.2009
665
1
#4
Данные с внешнего источника это значит брать данные с файла на жестком диске. (с помощью оператора assign, rewrite вроде)
Какие данные(текс, цифры) и для чего?

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

Pascaler

#5
Какие данные(текс, цифры) и для чего?
Данные для заполнения массива, цифры.
И всетаки как быть если елемент 1.1 или 1.3 ... соседним будет только одно, а если матрыца 3х3 то выходит проверять надо только средний(1.2,2.2,3.2)?
по моему с 3х3 так. Поэтому возьмем 5х5
 
09.11.2009
665
1
#6
Данные для заполнения массива, цифры.
А нафиг это?↓
(данные вводим с клавиатуры)
Код:
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.
 
P

Pascaler

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