привет всем! очень нужна помощь! написала программу, а теперь ее результат нужно вписать в текстовый файл. очень прошу помочь. сама программа:
Program proced;
uses crt;
Type ar=array[1..30] of real;
var Z,T,U:ar;
i,j,k:byte;
y,yz,yt,yu,nz,nt,nu,nk:byte;
f:file of real;
f1:text;
procedure analiz(var N:byte; Z:ar);
var i,k:byte;
begin
k:=0;
for i:=1 to N do
begin
if z[i]>0 then write(' El# ',i:3,' - pol;');
if z[i]<0 then write(' El# ',i:3,' - otr;');
k:=k+1;
if k>2 then
begin
writeln;
k:=0;
end;
end;
end;
Procedure WaitSpace;
Var ch : char;
Begin
writeln('Dlia prodolgeniya nagmite SPACE');
Repeat
ch:=ReadKey;
Until ord(ch)=32;
End;
BEGIN
ClrScr;
nz:=30;
writeln('Massiv Z');
for i:=1 to nz do
begin
z[i]:=sin(1.5*i)+3*(cos(2*i));
write(Z[i]:8:3);
end;
writeln;
analiz (Nz,Z);
writeln;
WaitSpace;
Clrscr;
nt:=20;
writeln('Massiv T');
for j:=1 to nt do
begin
t[j]:=j*cos(1.5*j+2);
write(T[j]:8:3);
end;
writeln;
analiz(Nt,T);
writeln;
WaitSpace;
ClrScr;
nk:=25;
writeln('Massiv U');
for k:=1 to nk do
begin
U[k]:=sin(2*k)*cos(2.5*k);
write(U[k]:8:3);
end;
writeln;
analiz(Nk,U);
writeln;
WaitSpace;
end.
код в теги для начала занеси
М | Для таких замечаний (хоть и справделивых) есть модераторы/администраторы. Или ты считаешь, что они не справляются со своими обязанностями? В общем, ИМХО, нарушение п.7 правил. мисс_граффити |
для этого используется процедура outdata вот так выводятся файлы для примера
.......
! | polic, а тебя, кстати, теги тоже касаются... Устное замечание... Еще одно подобное нарушение - последуют более кардинальные меры... |
я поэтому и пишу чтоб самому тож не забыть про тэги
и ещё хотел показать на примере как у меня теги раставлены
ты пишеш сначало куда поместить например
мою прогу там тож надо вывести в файл позырь ,мож поможет
Прикрепленные файлы
VAR5_10.PAS ( 2.05 килобайт )
Кол-во скачиваний: 237
а ты не мог бы с мою прогу поделать? просто я уже замучалась с ней. не могу понять как делать. там три массива,в каждом выводятся положительные и отрицательные элементы. и именно их мне и нужно вывести в типизированый файл. помоги,пожалуйста,а то что-то у меня свосем никак.
Вот:
procedure WriteResult(Const A,B,C:ar; Const path:string);//path - путь к файлу
var f:file of ar;
begin
assign(f,path);
{$I-}
rewrite(f);
{$I+}
if IoResult<>0 then begin
writeln('Cannot create file');
readln;
exit;
end;
write(f,a);
write(f,b);
write(f,c);
close(f);
end;
С текстовыми:
Type
ar=array[1..30] of real;
procedure WriteArray(Const mas:ar; Var f:text; Const n:byte);//вспомогательная процедура, записывает в файл один массив
var i:byte;
begin
for i:=1 to n do
writeln(f,mas[i]);
end;
procedure WriteResult(Const A,B,C:ar; Const path:string; Const n:byte);//path-путь к файлу, n-размер массива
var f:text;
begin
assign(f,path);
{$I-}
rewrite(f);// пробуем создать файл
{$I+}
if IoResult<>0 then begin //если возникла ошибка
writeln('Cannot create file');
readln;
exit;//то выходим
end;
WriteArray(A,f,n);//записываем сначала массив A
WriteArray(B,f,n);//потом B
WriteArray(C,f,n);// и наконец C
close(f);// закрываем файл
end;
там где записываем в файл массивы
WriteArray(A,f,n);//записываем сначала массив A
WriteArray(B,f,n);//потом B
WriteArray(C,f,n);// и наконец C
close(f);// закрываем файл
end;
У меня работает отлично, вот полный пример
Type
ar=array[1..30] of real;
procedure WriteArray(Const mas:ar; Var f:text; Const n:byte);
var i:byte;
begin
for i:=1 to n do
writeln(f,mas[i]);
end;
procedure WriteResult(Const A,B,C:ar; Const path:string; Const n:byte);
var f:text; i:byte;
begin
assign(f,path);
{$I-}
rewrite(f);
{$I+}
if IoResult<>0 then begin
writeln('Cannot create file');
readln;
exit;
end;
WriteArray(A,f,n);
WriteArray(B,f,n);
WriteArray(C,f,n);
close(f);
end;
var A,B,C:ar;
begin
WriteResult(A,B,C,'c:\res.txt',30);
end.
работает! но выводит сам массив. а как вывести номера положительных и отрицательных элементов?
Чтоже за компилятор то у тебя такой ... попробуй первой строчкой поставить uses crt;
я прикрепила свою программу. как в ней выводятся, так и в текстовом должны
Прикрепленные файлы
PROCEDUR.PAS ( 1.1 килобайт )
Кол-во скачиваний: 238
Type
ar=array[1..30] of real;
procedure WriteArray(Const mas:ar; Var f:text; Const n:byte);
var i:byte;
begin
for i:=1 to n do
writeln(f,mas[i]:0:3);
end;
procedure AnalyzeArray(Const mas:ar; Var f:text; Const n:byte);
var i:byte;
begin
for i:=1 to n do begin
if mas[i]>0 then
writeln(f,'Elelemnt # ',i:3,' - positive');
if mas[i]<0 then
writeln(f,'Element # ',i:3,' - negative');
end;
end;
procedure WriteResult(Const A,B,C:ar; Const path:string; Const n:byte);
var f:text; i:byte;
begin
assign(f,path);
{$I-}
rewrite(f);
{$I+}
if IoResult<>0 then begin
writeln('Cannot create file');
readln;
exit;
end;
writeln(f,' Array A :');
WriteArray(A,f,n);
AnalyzeArray(A,f,n);
writeln(f,' Array B :');
WriteArray(B,f,n);
AnalyzeArray(B,f,n);
writeln(f,' Array C :');
WriteArray(C,f,n);
AnalyzeArray(C,f,n);
close(f);
end;
var A,B,C:ar;
begin
WriteResult(A,B,C,'c:\res.txt',30);
end.
Bokul,огромное спасибо! у меня все работает!!! еще раз спасибооо!!!!!!