IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> типизированный файл, assign,write,rewrite
сообщение
Сообщение #1


Гость






привет всем! очень нужна помощь! написала программу, а теперь ее результат нужно вписать в текстовый файл. очень прошу помочь. сама программа:

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.

 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


гений чегото
**

Группа: Пользователи
Сообщений: 108
Пол: Мужской

Репутация: -  -1  +


код в теги для начала занеси

М
Для таких замечаний (хоть и справделивых) есть модераторы/администраторы. Или ты считаешь, что они не справляются со своими обязанностями?
В общем, ИМХО, нарушение п.7 правил.
мисс_граффити



Сообщение отредактировано: мисс_граффити -


--------------------
-------------
избранный.... но не в Паскале.....
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


гений чегото
**

Группа: Пользователи
Сообщений: 108
Пол: Мужской

Репутация: -  -1  +


для этого используется процедура outdata вот так выводятся файлы для примера


.......
Код
procedure outdata;
var g:text;
begin
assign(g,'output.txt');
rewrite(g)
close(g)
end;

.....

Сообщение отредактировано: polic -


--------------------
-------------
избранный.... но не в Паскале.....
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






 ! 
polic, а тебя, кстати, теги тоже касаются... Устное замечание... Еще одно подобное нарушение - последуют более кардинальные меры...

 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


гений чегото
**

Группа: Пользователи
Сообщений: 108
Пол: Мужской

Репутация: -  -1  +


я поэтому и пишу чтоб самому тож не забыть про тэги naezd.gif

и ещё хотел показать на примере как у меня теги раставлены

Сообщение отредактировано: polic -


--------------------
-------------
избранный.... но не в Паскале.....
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






Цитата(polic @ 8.01.2007 18:00) *

для этого используется процедура outdata вот так выводятся файлы для примера
.......
Код
procedure outdata;
var g:text;
begin
assign(g,'output.txt');
rewrite(g)
close(g)
end;

.....




т.е. я открываю новую процедуру? я правильно поняла? но тогда даже не появляется текстовый документ.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


гений чегото
**

Группа: Пользователи
Сообщений: 108
Пол: Мужской

Репутация: -  -1  +


ты пишеш сначало куда поместить например
Код
assign (s, 'A:\var5\output.txt');

а затем вписываеш тот код которой вырабатывает результат


--------------------
-------------
избранный.... но не в Паскале.....
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


гений чегото
**

Группа: Пользователи
Сообщений: 108
Пол: Мужской

Репутация: -  -1  +


мою прогу там тож надо вывести в файл позырь ,мож поможет

Сообщение отредактировано: polic -


Прикрепленные файлы
Прикрепленный файл  VAR5_10.PAS ( 2.05 килобайт ) Кол-во скачиваний: 142


--------------------
-------------
избранный.... но не в Паскале.....
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Гость






а ты не мог бы с мою прогу поделать? просто я уже замучалась с ней. не могу понять как делать. там три массива,в каждом выводятся положительные и отрицательные элементы. и именно их мне и нужно вывести в типизированый файл. помоги,пожалуйста,а то что-то у меня свосем никак. wacko.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Гуру
*****

Группа: Пользователи
Сообщений: 1 117
Пол: Мужской
Реальное имя: Богдан

Репутация: -  11  +


Вот:


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;



Цитата
ее результат нужно вписать в текстовый файл

не заметил 10.gif


--------------------
Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Гуру
*****

Группа: Пользователи
Сообщений: 1 117
Пол: Мужской
Реальное имя: Богдан

Репутация: -  11  +


С текстовыми:

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;



P.S. в названии темы написано с типизированным файлом, в задании - с текстовым, ты уж как-то определись.. wink.gif

Сообщение отредактировано: Bokul -


--------------------
Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Гость






там где записываем в файл массивы

WriteArray(A,f,n);//записываем сначала массив A
WriteArray(B,f,n);//потом B
WriteArray(C,f,n);// и наконец C
close(f);// закрываем файл
end;



выдает ошибку типов после f.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Гуру
*****

Группа: Пользователи
Сообщений: 1 117
Пол: Мужской
Реальное имя: Богдан

Репутация: -  11  +


blink.gif
У меня работает отлично, вот полный пример

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.



Создаваемый файл: Прикрепленный файл  res.txt ( 1.67 килобайт ) Кол-во скачиваний: 306


--------------------
Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Гость






работает! но выводит сам массив. а как вывести номера положительных и отрицательных элементов?
blink.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15


гений чегото
**

Группа: Пользователи
Сообщений: 108
Пол: Мужской

Репутация: -  -1  +


Код
if IoResult<>0 then  begin
не известен компилятору IoResult

Сообщение отредактировано: polic -


--------------------
-------------
избранный.... но не в Паскале.....
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #16


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Чтоже за компилятор то у тебя такой ... попробуй первой строчкой поставить uses crt;


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #17


Гуру
*****

Группа: Пользователи
Сообщений: 1 117
Пол: Мужской
Реальное имя: Богдан

Репутация: -  11  +


Цитата
работает! но выводит сам массив. а как вывести номера положительных и отрицательных элементов?

А как ты хочешь их выводить? Отдельно положительные и отрицательные? В разных файлах?

tongue.gif


--------------------
Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #18





Группа: Пользователи
Сообщений: 2
Пол: Женский

Репутация: -  0  +


я прикрепила свою программу. как в ней выводятся, так и в текстовом должны yes2.gif


Прикрепленные файлы
Прикрепленный файл  PROCEDUR.PAS ( 1.1 килобайт ) Кол-во скачиваний: 150
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #19


Гуру
*****

Группа: Пользователи
Сообщений: 1 117
Пол: Мужской
Реальное имя: Богдан

Репутация: -  11  +



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.



--------------------
Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #20





Группа: Пользователи
Сообщений: 2
Пол: Женский

Репутация: -  0  +


Bokul,огромное спасибо! у меня все работает!!! еще раз спасибооо!!!!!! lol.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 23.09.2020 16:58
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name