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

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

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

4 страниц V < 1 2 3 4 >  
 Ответить  Открыть новую тему 
> Строки в текстовом файле., Помогите найти ошибку пожалуйста.
Ellsa
сообщение 9.12.2006 22:21
Сообщение #21


lehf
**

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

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


что-тоо я неочень поняла свои ошибки...только одну нашла...и лишний цикл бегин и енд...ты то напечатал? unsure.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Bokul
сообщение 9.12.2006 22:32
Сообщение #22


Гуру
*****

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

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


Цитата
ты то напечатал?

Да, его я убрал. smile.gif
Цитата
что-тоо я неочень поняла свои ошибки...только одну нашла...

Ну с ошибками я погорячился, но одну из-за которой прога, вылетает не отработав до конца, видно отчётливо:
Для чего ты в цикле закрываешь файл? wink.gif
Цитата

           
close(f1);
close(f2)


Исправив это, хоть увидишь, что она делает...

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


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


lehf
**

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

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


Bokul


черт,спасибо большое! give_rose.gif А если у меня будет опять ошибка 104:?Файл недоступен для чтения?
unsure.gif
я повешусь тогда.... wacko.gif
а как тут плюсики поставить?Или нельзя?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Bokul
сообщение 9.12.2006 22:37
Сообщение #24


Гуру
*****

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

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


Цитата
А если у меня будет опять ошибка 104:?Файл недоступен для чтения?

То приходи еще smile.gif
Цитата
а как тут плюсики поставить?Или нельзя?

Какие плюсики?


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


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


к репутации smile.gif
Ellsa, ты пока что сама не можешь - мало сообщений.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ellsa
сообщение 9.12.2006 22:39
Сообщение #26


lehf
**

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

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


я приду еще с домашним заданием за весь курс.... lol.gif
ну надеюсь,я смогу его сделать....ну если не сегодня,то до 24-го-то....
а чем может быть вызвана ошибка 104?Я ввожу с расширенем,и с кавычками пробовала и без....и файл в папке лежит,что я указываю.... unsure.gif
а плюсики-репутация....я ждумала это как респекты на многих форумах. smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Bokul
сообщение 9.12.2006 22:44
Сообщение #27


Гуру
*****

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

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


Цитата
а чем может быть вызвана ошибка 104?Я ввожу с расширенем,и с кавычками пробовала и без....и файл в папке лежит,что я указываю....

А что ты вводишь и где лежит файл с данными? У меня твоя прога отработала, хоть и с не правильным результатом, ну это уже пустяки... smile.gif
Цитата
а плюсики-репутация....я ждумала это как респекты на многих форумах.

И в нас такое есть...

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


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


lehf
**

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

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


у тебя неправильно отработала та прога,что ты исправил?ТО есть она неверна? mega_chok.gif
а я указываю как у вас тут кто-то указывал в какой-то теме
C:\pascal.txt
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Bokul
сообщение 9.12.2006 22:54
Сообщение #29


Гуру
*****

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

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


Цитата
у тебя неправильно отработала та прога,что ты исправил?ТО есть она неверна?

Не понял. Та, что полностью моя, работает отлично, в твоей же я только сделал форматирование и убрал пару очевидных ошибок. С алгоритмом я не разбирался...
Цитата
а я указываю как у вас тут кто-то указывал в какой-то теме C:\pascal.txt

А файл с таким именем там есть?
+
исправь в своем коде
assign(f2,'d:\result.txt');

на путь, где ты хочешь получить файл-ответ, например с:\result.txt, у тебя нету, наверное, диска d
и
write(f2,sred);

на
writeln(f2,sred);

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


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


lehf
**

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

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


спасибо.Я попробую сегодня ночью еще. smile.gif
Большое всем спасибо! wub.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Bokul
сообщение 9.12.2006 23:19
Сообщение #31


Гуру
*****

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

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


Вот моя прога без функций:
uses crt;
const
Separators=',.!? ';
var ts,tr:text;
s,n,i:byte;
buf,SourceFile,ResultFile:string;
begin
clrscr;
writeln('Enter the path to source file');
readln(SourceFile);
assign(ts,SourceFile);
{$I-}
reset(ts);
{$I+}
if IoResult<>0 then
begin
writeln('SourceFile does not exist');
readln;
exit;
end;
writeln('Enter the path to result file');
readln(ResultFile);
assign(tr,ResultFile);
{$I-}
rewrite(tr);
{$I+}
if IoResult<>0 then
begin
writeln('Cannot create result-file');
readln;
exit;
end;
while not eof(ts) do
begin
readln(ts,buf);
s:=0;
n:=0;
for i:=1 to length(buf) do
if pos(buf[i],separators)=0 then
inc(s)
else
if ((pos(buf[i-1],separators)=0) and ((i-1)<>0)) then
inc(n);
if pos(buf[length(buf)],separators)=0 then
inc(n);
writeln(tr,s/n:0:2);
end;
close(ts);
close(tr);
end.


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


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


lehf
**

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

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


и все-таки знаете...никак от ошибки 104 не могу избавится... crazy.gif crazy.gif crazy.gif
уже почти несмешно....все-таки в пн сдавать....а он находит файл,но открыть для чтения не может,если я правильно понимаю.... blink.gif blink.gif norespect.gif
ну подскажите что-нибудь,пожалуйста! unsure.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Bokul
сообщение 10.12.2006 20:16
Сообщение #33


Гуру
*****

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

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


Цитата
никак от ошибки 104 не могу избавится...

Возьми мой код, или там тоже самое?

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


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


lehf
**

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

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


ну ведь у тебя она шла....твоя прога работает и работает даже в моими файлами.И я не могу понять,почему моя не работает с ними.Ты говорил,что моя у тебя пошла,хоть и результат неверн был... unsure.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Bokul
сообщение 10.12.2006 20:55
Сообщение #35


Гуру
*****

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

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


Цитата
Ты говорил,что моя у тебя пошла,хоть и результат неверн был..

Так оно и есть. smile.gif Попробуй запустить это:
 
var str1,str2,imya1,imya2:string;
f1,f2:text;
kol,k,i,n:integer;
sred,c:integer;
begin
writeln('vvedite imya fajla:');
readln(imya1);
assign(f1,imya1);
{$I-}
reset(f1);
{$I+}
if IOResult<>0 then
begin
writeln('owibka v imeni fajla-source');
readln;
exit;
end;
assign(f2,'c:\result.txt');
{$I-}
rewrite(f2);
{$I+}
if IOResult<>0 then
begin
writeln('owibka v imeni fajla-result');
readln;
exit;
end;
while not(eof(f1)) do
begin
readln(f1,str1);
n:=length(str1);
i:=1;
kol:=0;
while i<=n do
begin
k:=0;
repeat k:=k+1;
i:=i+1;
until (str1[i]=' ') or (i>n);
kol:=kol+k;
i:=i+1;
end;
writeln(kol);
for i:=1 to n do
if (str1[i]=' ') then c:=c+1;
if (str1[1]=' ') then c:=c-1;
if (str1[n]=' ') then c:=c-1;
writeln(c+1);
sred:=trunc(kol/(c+1));
writeln(f2,sred);
end;
close(f1);
close(f2);
readln;
end.





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


lehf
**

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

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


зачем ты пишешь
readln
exit
и в самомо конце еще readln? blink.gif
что это дает?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Bokul
сообщение 10.12.2006 21:13
Сообщение #37


Гуру
*****

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

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


Цитата
что это дает?

Делает задержку. Программа не будет выполнятся дальше, пока ты не нажмешь на Enter. Для чего надо? Без задержки, в случае возникновения ошибки, например здесь,

if IOResult<>0 then
begin
writeln('owibka v imeni fajla-source');
readln;
exit;
end;


ты бы не успела увидеть вывод твоего сообщения writeln('owibka v imeni fajla-source');, для тебя прога просто бы закрылась. А по какой причине, ты бы не узнала. Попробуй специально ввести неверный путь к файлу, з readln, а потом - без. Увидела разницу?

Ну как, не было 104-ой?


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


lehf
**

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

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


ошибку вроде твоя не выдает,но считает неправильно... у меня цикл работал...а теперь нет....странно....
но...
что ты изменил такого значительного,что открывает файл?
Просто readln и exit добавил....
не понимаю... =(
мне просто отладку надо будет писать еще....
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Bokul
сообщение 10.12.2006 21:35
Сообщение #39


Гуру
*****

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

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


Цитата
что ты изменил такого значительного,что открывает файл?

assign(f2,'c:\result.txt');
Было d, прога нормально открывала файл данных, но она не могла создать файл-ответ.
Цитата
но считает неправильно

Я ж тебе уже давно говорил.
Цитата
у меня цикл работал...а теперь нет....странно....

В цикле я ничего не менял, он как был не рабочим, таким и остался... smile.gif

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


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


lehf
**

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

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


просто дело в том,что цикл работал и считал правильно для одной строки....безошибочно...а теперь....
а про диск c...
я его и в своей проге уже меняла...все равно не открывал....я не понимаю...
не понимаю,что ему там не нравилось.
unsure.gif dry.gif
утопия какая-то.... wacko.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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