Помощь - Поиск - Пользователи - Календарь
Полная версия: Матрица с минимальной строкой (считовать с файла)
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
REC0N
Данная матрица M x N, вывести строку (строки) с минимальным значением матрицы.Матрицу считовать с файла.
Основна проблема в том что неумею считовать с файла,тему ище непроходили так что идей нет.Помогите.А так то вся прога готова

program matryca;
uses crt;

const
nmax = 100;

Var matr: array [1 .. nmax, 1 .. nmax] of integer;
vec: array [1 .. nmax] of integer;
m, n, i, j, rad, mini, minj: integer;

Begin
repeat
write ('Введите количество столбцов матрицы:');
read (m);
write ('Введите количество строк матрицы:');
read (n);
if (m <= 0) and (n <= 0) then writeln ('Некорректное ввод данных');
until (n> 0) and (m> 0);

// Ввод матрицы

for i:= 1 to n do
for j:= 1 to m do begin

write ('Введите элемент матрицы A (', i ,';', j ,'):');
read (matr [i, j]);
end;

// Вывод матрицы

for i:= 1 to n do begin

write ('(', i, ' строка) ');

for j:= 1 to m do
write (matr [i, j], '');
writeln

end;

// Вычисление минимального элемента матрицы
mini:=1; minj:=1;
for i:= 1 to n do
for j:= 1 to m do begin
if matr [i, j] < matr [mini, minj] then begin // Ищем минимальный элемент матрицы
mini:=i; minj:=j;
end;
end;

writeln;
write ('Минимальный элемент матрицы:');
write (matr [mini, minj]);

writeln ('===============================');
writeln;
writeln ('Строки с минимальным элементом:');
for i:= 1 to n do
for j := 1 to m do
if matr[i, j] = matr[mini, minj] then begin
writeln(i); break; // Завершаем цикл, чтоб не печатать один номер строки несколько раз
end;
end.

volvo
Цитата
Основна проблема в том что неумею считовать с файла,тему ище непроходили так что идей нет.
Если не проходили - зачем хочешь использовать?

Вообще-то читается с файла очень просто:
var f: text; // Текстовый файл
// ...
assign(f, 'имя_файла');
reset(f);
for i:= 1 to n do begin
for j:= 1 to m do read(f, matr[i, j]); // <--- читаем с файла, потому как F присутствует первым параметром
readln(f); // переходим на следующую строку в файле
end;
// ... а потом файл надо закрыть
close(f);
но если этого еще не объясняли - то не надо "бежать впереди поезда".
REC0N
Цитата(volvo @ 10.03.2010 19:58) *

Если не проходили - зачем хочешь использовать?

Просто если сделал прогу без считование с файла,препод ставит максимум балов(10/10),если сделал ище и со считуванием с файла,то он поставит бонусние бали(+5)...вот хочу заработать ище парочку балов...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.