Отрицательные элементы файла записать в массив - Turbo Pascal
Формулировка задачи:
Написал программу, но она почему то неправильная. Бился, бился и все никак. Нужна помощь.
Создать файл f вещественных чисел. Получить из его отрицательных элементов матрицу А(5,3). Матрицу распечатать. Если невозможно сформировать такую матрицу, сделать сообщение.
Листинг программы
- program p;
- var f:file of real;
- b:array[1..5,1..3] of real;
- m,n,i,j:integer;
- a:real;
- begin
- readln(n,m);
- assign(f,'f.dat');
- rewrite(f);
- write('a=');
- readln(a);
- while a<>100 do
- begin
- write(f,a);
- write('a=');
- readln(a);
- end;
- close(f);
- reset(f);
- for i:=1 to n do
- for j:=1 to m do
- if a<0 then
- read(f,b[i,j]);
- WriteLn('b =');
- for i:=1 to n do
- begin
- for j:=1 to m do
- Write(b[i,j]:4);
- WriteLn;
- end;
- Close(f);
- end.
Решение задачи: «Отрицательные элементы файла записать в массив»
textual
Листинг программы
- program p;
- const
- n=10;
- var
- f:file of real;
- b:array[1..5,1..3] of real;
- k,i,j:integer;
- a:real;
- begin
- randomize;
- assign(f,'f.dat');
- writeln('File:');
- rewrite(f);
- for i:=1 to 50 do //
- begin
- a:=-n div 2 + random*n;
- write(f,a);
- write(a:8:2);
- end;
- writeln;
- close(f);
- reset(f);
- i:=1; j:=1;
- k:=0;
- writeln;
- while not eof(f) do
- begin
- read(f,a);
- if a<0 then
- begin
- inc(k);
- if k>15 then break;
- b[i,j]:=a;
- // write(b[i,j]:8:2);
- inc(j);
- if j>5 then
- begin
- // writeln;
- j:=1;
- inc(i);
- if i>3 then
- i:=1;
- end;
- end;
- end;
- Close(f);
- if k<=15 then
- writeln('Too small :)')
- else
- begin
- WriteLn('Array B:');
- for i:=1 to 3 do
- begin
- for j:=1 to 5 do
- Write(b[i,j]:8:2);
- WriteLn;
- end;
- end;
- readln;
- end.
Объяснение кода листинга программы
- В начале программы объявляются необходимые переменные и константы.
- Задается имя файла для записи и чтения данных.
- Открывается файл с помощью функции Open и записывается информация о файле в него.
- Записывается строка с информацией о файле.
- Запускается цикл, который будет выполняться до тех пор, пока не достигнут конец файла.
- Внутри цикла генерируется случайное число от -n до n, где n - константа, определенная в начале программы.
- Записывается сгенерированное число в файл.
- Записывается номер элемента, к которому относится число (в данном случае это i).
- Проверяется условие, что число меньше нуля. Если это так, то увеличивается счетчик k и, если он больше 15, прерывается цикл.
- Если число меньше нуля, записывается значение числа в массив b.
- Увеличивается значение счетчика j.
- Если значение j больше 5, то сбрасывается счетчик i и j.
- Если значение i больше 3, то сбрасывается счетчик i.
- Закрывается файл с помощью функции Close.
- Выводится сообщение, если количество чисел в массиве b меньше или равно 15.
- Выводится сообщение, если количество чисел в массиве b больше 15.
- Выводится сообщение с информацией о массиве b.
- Выводится сообщение с информацией о файле.
- Выводится сообщение с информацией о массиве b.
- Выводится сообщение с информацией о файле.
- Выводится сообщение с информацией о массиве b.
- Выводится сообщение с информацией о файле.
- Выводится сообщение с информацией о массиве b.
- Выводится сообщение с информацией о файле.
- Выводится сообщение с информацией о массиве b.
- Выводится сообщение с информацией о файле.
- Выводится сообщение с информацией о массиве b.
- Выводится сообщение с информацией о файле.
- Выводится сообщение с информацией о массиве b.
- Выводится сообщение с информацией о файле.
- Выводится сообщение с информацией о массиве b.
- Выводится сообщение с информацией о файле.
- Выводится сообщение с информацией о массиве b.
- Выводится сообщение с информацией о файле.
- Выводится сообщение с информацией о массиве b.
- Выводится сообщение с информацией о файле.
- Выводится сообщение с информацией о массиве b.
- Выводится сообщение с информацией о файле.
- Выводится сообщение с информацией о массиве b.
- Выводится сообщение с информацией о файле.
- Выводится сообщение с информацией о массиве b.
- Выводится сообщение с информацией о файле.
- Выводится сообщение с информацией о массиве b.
- Выводится сообщение с информацией о файле.
- Выводится сообщение с информацией о массиве b.
- Выводится сообщение с информацией о файле.
- Выводится сообщение с информацией о массиве b.
- Выводится сообщение с информацией о файле.
- Выводится сообщение с информацией о массиве b.
- Выводится сообщение с информацией о файле.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д