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

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

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

> типизированный файл, assign,write,rewrite
Юлия
сообщение 8.01.2007 17:31
Сообщение #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.

 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 19)
polic
сообщение 8.01.2007 17:36
Сообщение #2


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

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

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


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

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



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


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


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

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

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


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


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

.....

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


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


Гость






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

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


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

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

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


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

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

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


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


Гость






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

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

.....




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


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

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

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


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

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


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


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

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

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


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

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


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


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


Гость






а ты не мог бы с мою прогу поделать? просто я уже замучалась с ней. не могу понять как делать. там три массива,в каждом выводятся положительные и отрицательные элементы. и именно их мне и нужно вывести в типизированый файл. помоги,пожалуйста,а то что-то у меня свосем никак. wacko.gif
 К началу страницы 
+ Ответить 
Bokul
сообщение 8.01.2007 20:38
Сообщение #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 
 К началу страницы 
+ Ответить 
Bokul
сообщение 8.01.2007 20:52
Сообщение #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 - 8.01.2007 20:59


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


Гость






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

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



выдает ошибку типов после f.
 К началу страницы 
+ Ответить 
Bokul
сообщение 8.01.2007 21:54
Сообщение #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 килобайт ) Кол-во скачиваний: 367


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


Гость






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


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

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

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


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

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


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


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

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

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


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


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


Гуру
*****

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

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


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

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

tongue.gif


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





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

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


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


Прикрепленные файлы
Прикрепленный файл  PROCEDUR.PAS ( 1.1 килобайт ) Кол-во скачиваний: 180
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Bokul
сообщение 8.01.2007 23:11
Сообщение #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 
 К началу страницы 
+ Ответить 
Юлька@
сообщение 9.01.2007 0:33
Сообщение #20





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

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


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

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

 



- Текстовая версия 20.07.2025 3:04
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"