Очень прошу, кто-нибудь! Помогите решить задачку, вроде не сложная, но я-чайник в этой области и мне обратится не к кому. Заранее всем откликнувшимся большое спасибо!!!
При работе над этим заданием создать 3 программы, которые позволят:
а) сформировать исходный файл;
в) открыть, обработать исходный массив данных файла или добавить информацию к имеющимся;
с) вывести на экран результаты обработки.
Задача. На основе исходного файла целых чисел создать массив утроенных четных чисел. перезаписать массив в файл, добавив в конец сумму и среднее значение новых чисел.
речь идет о турбоПаскале.
Ответьте, пожалуйста в течении 2 дней на сообщение, или когда сможете(в конце недели мне сдавать работу).
Помогите решить задачу, плиз!!!
Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill
Если я правильно понял условие, то решение такое:
#1
[syntax='Delphi']
program prg11;
var
F:File of Integer;
Cnt:integer;
I:integer;
N:integer;
begin
Assign(F,'Data.bin');
Rewrite(F);
writeln('Введите количество чисел');
readln(Cnt);
writeln('Введите ',cnt,' чисел через пробел');
for I:=1 to Cnt do
begin
read(N);
write(F,N);
end;
Close(F);
readln;
writeln;
writeln('Данные записаны в файл "Data.bin"');
readln;
end.
[/syntax]
#2
[syntax='Delphi']
program prg12;
Const
N=255;
var
F:File of Integer;
A:array[0..N]of integer;
Cnt:integer;
I:integer;
Sum:integer;
NewCnt:integer;
begin
Assign(F,'Data.bin');
Reset(F);
while not EoF(F) do
begin
Inc(Cnt);
Read(F,A[Cnt]);
end;
Close(F);
writeln('Прочитано из файла');
for I:=1 to Cnt do
write(A,' ');
writeln;
Assign(F,'Data.bin');
Rewrite(F);
NewCnt:=0;
Sum:=0;
for I:=1 to Cnt do
if not Odd(A) then
begin
A:=A*3;
Write(F,A);
Inc(NewCnt);
Inc(Sum,A);
end;
write(F,Sum);
Sum:=Round(Sum/NewCnt);
write(F,Sum);
Close(F);
writeln('Данные изменены');
readln;
end.
[/syntax]
#3
[syntax='Delphi']
program prg13;
var
F:File of Integer;
Cnt:integer;
I:integer;
N:integer;
begin
Assign(F,'Data.bin');
Reset(F);
while not EoF(F) do
begin
Read(F,N);
write(N,' ');
end;
Close(F);
readln;
end.
[/syntax]
#1
[syntax='Delphi']
program prg11;
var
F:File of Integer;
Cnt:integer;
I:integer;
N:integer;
begin
Assign(F,'Data.bin');
Rewrite(F);
writeln('Введите количество чисел');
readln(Cnt);
writeln('Введите ',cnt,' чисел через пробел');
for I:=1 to Cnt do
begin
read(N);
write(F,N);
end;
Close(F);
readln;
writeln;
writeln('Данные записаны в файл "Data.bin"');
readln;
end.
[/syntax]
#2
[syntax='Delphi']
program prg12;
Const
N=255;
var
F:File of Integer;
A:array[0..N]of integer;
Cnt:integer;
I:integer;
Sum:integer;
NewCnt:integer;
begin
Assign(F,'Data.bin');
Reset(F);
while not EoF(F) do
begin
Inc(Cnt);
Read(F,A[Cnt]);
end;
Close(F);
writeln('Прочитано из файла');
for I:=1 to Cnt do
write(A,' ');
writeln;
Assign(F,'Data.bin');
Rewrite(F);
NewCnt:=0;
Sum:=0;
for I:=1 to Cnt do
if not Odd(A) then
begin
A:=A*3;
Write(F,A);
Inc(NewCnt);
Inc(Sum,A);
end;
write(F,Sum);
Sum:=Round(Sum/NewCnt);
write(F,Sum);
Close(F);
writeln('Данные изменены');
readln;
end.
[/syntax]
#3
[syntax='Delphi']
program prg13;
var
F:File of Integer;
Cnt:integer;
I:integer;
N:integer;
begin
Assign(F,'Data.bin');
Reset(F);
while not EoF(F) do
begin
Read(F,N);
write(N,' ');
end;
Close(F);
readln;
end.
[/syntax]
Ни что так не ограничивает фантазию программиста, как компилятор...
ну и скорость, я ошарашена(!!!!) даже не ожидала, спасибо огромное! Я смею вас ещё об одном попросить. Преподаватель требует чтобы это была одна программа, состоящая из трех частей, кроме того он требует, чтобы в доказательство того, что она работает нужно показать окно работающей программы с результатом. Можете мне в этом помочь?
Мда...мир не без добрых людей.
Мда...мир не без добрых людей.
Тогда примерно так:
[syntax='Delphi']
program prg11;
uses
Crt;
Const
NN=255;
var
N:integer;
F:File of Integer;
A:array[0..NN]of integer;
Cnt:integer;
I:integer;
Sum:integer;
NewCnt:integer;
Procedure WriteData;
begin
Assign(F,'Data.bin');
Rewrite(F);
writeln('Введите количество чисел');
readln(Cnt);
writeln('Введите ',cnt,' чисел через пробел');
for I:=1 to Cnt do
begin
read(N);
write(F,N);
end;
Close(F);
readln;
writeln('Данные записаны в файл "Data.bin"');
Writeln('Нажмите <Enter>');
Readln;
Writeln;
end;
procedure ChangeData;
begin
Cnt:=0;
Assign(F,'Data.bin');
Reset(F);
while not EoF(F) do
begin
Inc(Cnt);
Read(F,A[Cnt]);
end;
Close(F);
writeln('Прочитано из файла');
for I:=1 to Cnt do
write(A,' ');
writeln;
Assign(F,'Data.bin');
Rewrite(F);
NewCnt:=0;
Sum:=0;
for I:=1 to Cnt do
if not Odd(A) then
begin
A:=A*3;
Write(F,A);
Inc(NewCnt);
Inc(Sum,A);
end;
write(F,Sum);
Sum:=Round(Sum/NewCnt);
write(F,Sum);
Close(F);
writeln('Данные изменены');
Writeln('Нажмите <Enter>');
Readln;
Writeln;
end;
Procedure DisplayResult;
begin
writeln('Результат');
Assign(F,'Data.bin');
Reset(F);
while not EoF(F) do
begin
Read(F,N);
write(N,' ');
end;
Close(F);
writeln;
Writeln('Нажмите <Enter>');
Readln;
end;
begin
ClrScr;
WriteData;
ChangeData;
DisplayResult;
end.
[/syntax]
[syntax='Delphi']
program prg11;
uses
Crt;
Const
NN=255;
var
N:integer;
F:File of Integer;
A:array[0..NN]of integer;
Cnt:integer;
I:integer;
Sum:integer;
NewCnt:integer;
Procedure WriteData;
begin
Assign(F,'Data.bin');
Rewrite(F);
writeln('Введите количество чисел');
readln(Cnt);
writeln('Введите ',cnt,' чисел через пробел');
for I:=1 to Cnt do
begin
read(N);
write(F,N);
end;
Close(F);
readln;
writeln('Данные записаны в файл "Data.bin"');
Writeln('Нажмите <Enter>');
Readln;
Writeln;
end;
procedure ChangeData;
begin
Cnt:=0;
Assign(F,'Data.bin');
Reset(F);
while not EoF(F) do
begin
Inc(Cnt);
Read(F,A[Cnt]);
end;
Close(F);
writeln('Прочитано из файла');
for I:=1 to Cnt do
write(A,' ');
writeln;
Assign(F,'Data.bin');
Rewrite(F);
NewCnt:=0;
Sum:=0;
for I:=1 to Cnt do
if not Odd(A) then
begin
A:=A*3;
Write(F,A);
Inc(NewCnt);
Inc(Sum,A);
end;
write(F,Sum);
Sum:=Round(Sum/NewCnt);
write(F,Sum);
Close(F);
writeln('Данные изменены');
Writeln('Нажмите <Enter>');
Readln;
Writeln;
end;
Procedure DisplayResult;
begin
writeln('Результат');
Assign(F,'Data.bin');
Reset(F);
while not EoF(F) do
begin
Read(F,N);
write(N,' ');
end;
Close(F);
writeln;
Writeln('Нажмите <Enter>');
Readln;
end;
begin
ClrScr;
WriteData;
ChangeData;
DisplayResult;
end.
[/syntax]
Ни что так не ограничивает фантазию программиста, как компилятор...
Впервые встречаюсь с такой людской сознательностью. Неужели такое бывает? Простите за наглость, но мне нужны снимки окон всех 4 программ в работе по результату. Спасибо ещё раз, вы не представляете, как вы мне помогли.
Вот скрины, правда так, на будущее-прогнать рабочую прогу и сделать скриншот-много мозгов не надо 

- Вложения
-
- Screens.zip
- (90.16 КБ) 15 скачиваний
Ни что так не ограничивает фантазию программиста, как компилятор...