Показать полную графическую версию : Паскаль! создать массив целых чисел и записать его в файл
Помогите пожалуйста, Составить программу, которая создает массив целых чисел и записывает его в файл разными способами (с использованием процедур write или blockwrite, read или blockread), а также вычисляет значение среднего арифметического всех элементов, записанных в файл.
Я набросал массив, если есть ошибки исправте пожалуйста
uses crt;
var a: file of integer; i: byte;
mas:array[1..100] of integer; n:integer;
begin
assign(a,'file.bin');
reset(a);
clrscr;
writeln ('Vvedite kol-vo elementov ');
readln (n);
writeln('vvedite zna4enie massiva: ');
for i:=1 to n do
write('a[',i,'] = ');
readln(a[i]);
end;
begin
read(a,mas[i]);
write(mas[i],' ');
end;
close(a);
end.
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;
var f:text;
n,i:integer;
nf:string;
a: array[1..10] of integer;
begin
clrscr;
randomize;
write('Imya faila ');
readln(nf);
nf:=nf+'.txt';
assign(f,nf);
rewrite(f);
write('Skolko 4isel v massive n=');
readln(n);
for i:=1 to n do
begin
randomize;
for i:=1 to n do
begin
a[i]:=random(n);
write(a[i],' ');
end;
end;
close(f);
end.
Desvi, КОММЕНТАРИИ!!! Скоро на лбу у каждого студента писать буду!
(Без обид, но это уже надоедает. Благо программа маленькая разобраться можно, но привыкать не стоит.)
По коду:
Randomize надо вызвать один раз в начале программы. Это правильное его использование. (Что вообще делает randomize - читай в документации, гугле)
Покажи мне команду записи в файл. Где она?
Зачем тебе двойной вложенный цикл for i = 1 to n, причем не правильно написанный?
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.