![]() |
Паскаль! создать массив целых чисел и записать его в файл
Помогите пожалуйста, Составить программу, которая создает массив целых чисел и записывает его в файл разными способами (с использованием процедур write или blockwrite, read или blockread), а также вычисляет значение среднего арифметического всех элементов, записанных в файл.
Я набросал массив, если есть ошибки исправте пожалуйста Код:
uses crt; |
Desvi, прокомментируй код пожалуйста.
Т.к. не совсем понятно что и где ты хочешь сделать. Прости, но пока это больше похоже на набор бессвязных команд. uses crt; var a: file of integer; i: byte; mas:array[1..100] of integer; n:integer; begin assign(a,'file.bin'); reset(a); // что делает reset? clrscr; writeln ('Vvedite kol-vo elementov '); readln (n); writeln('vvedite zna4enie massiva: '); for i:=1 to n do write('a[',i,'] = '); // при данном расположении операторных скобок (begin, end) write - единственный оператор, который будет выполнятся в цикле for readln(a[i]); //что и откуда читаем? Вопрос кстати не праздный end; // к чему относится этот end? begin //этот begin тоже не понятен. Что хоть тут происходит, или что должно происходить? read(a,mas[i]); write(mas[i],' '); end; close(a); end. |
Немного исправил, но массив не записывается в файл, подскажите в чем ошибка? И как с файла посчитай средне арифметическое?
Код:
USES CRT; |
Desvi, КОММЕНТАРИИ!!! Скоро на лбу у каждого студента писать буду!
(Без обид, но это уже надоедает. Благо программа маленькая разобраться можно, но привыкать не стоит.) По коду: Randomize надо вызвать один раз в начале программы. Это правильное его использование. (Что вообще делает randomize - читай в документации, гугле) Покажи мне команду записи в файл. Где она? Зачем тебе двойной вложенный цикл for i = 1 to n, причем не правильно написанный? |
Время: 07:47. |
Время: 07:47.
© OSzone.net 2001-