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

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

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

> Работа с файлом, 1 операция с файлом
Инкогнито
сообщение 17.12.2007 17:32
Сообщение #1


Новичок
*

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

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


Задание: Дан файл целых чисел. Удалить из него все отрицательные числа.
uses crt;
var i,j:integer;
a:array [1..30000] of integer;
begin
clrscr;
assign(input,'c:\input.txt');
reset(input);
i:=1;
while not eof(input) do
begin
read(a[i]);
i:=i+1;
end;
close(input);
assign(output,'c:\input.txt');
rewrite(output);
for j:=1 to i do
if a[j]>0 then write(a[j]:4);
close(output);
readkey;
end.



Не пойму почему не работает, файл создал в С, но прога выкидывает лишь чистый экран, а в задании другое....помогите плиз


--------------------
И никто его так и не узнал*)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 12)
not_programmer
сообщение 17.12.2007 17:53
Сообщение #2


Новичок
*

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

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


Тебе нужно переписать все неотрицательные значения из одного файла в другой?

Добавлено через 1 мин.
Извини, не то спросил, невнимательно прочел.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Инкогнито
сообщение 17.12.2007 17:58
Сообщение #3


Новичок
*

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

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


Цитата(not_programmer @ 17.12.2007 17:53) *

Тебе нужно переписать все неотрицательные значения из одного файла в другой?

Добавлено через 1 мин.
Извини, не то спросил, невнимательно прочел.

Да ниче...только мне надо в коде проблему найти:)


--------------------
И никто его так и не узнал*)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
not_programmer
сообщение 17.12.2007 18:11
Сообщение #4


Новичок
*

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

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



uses crt;
var i,j:integer;
a:array [1..30000] of integer;
n : integer;
begin
clrscr;
assign(input,'с:\input.txt');
reset(input);
i:=0;
while not eof(input) do
begin
inc(i);
read(a[i]);
end;
close(input);
assign(input,'с:\input.txt');
rewrite(input);
for j:=1 to i do
if a[j]>0 then write(a[j]:3);
for j:=1 to i do
if a[j]>0 then write(input,a[j]:3);
close(input);
readkey;
end.


вот. что не понятно - спрашивай.

Добавлено через 1 мин.
В разделе описания переменных n:integer; - не нужно, удали
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 17.12.2007 18:18
Сообщение #5


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

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

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


зачем массив ?

var
f, temp: Text;
value: Integer;
begin
assign(f, 'c:\input.txt');
reset(f);

assign(temp, 'c:\temp.txt');
rewrite(temp);

while not eof(f) do begin
readln(f, value);
if value >= 0 then
writeln(temp, value);
end;

close(f);
erase(f);

close(temp);
rename(temp, 'c:\input.txt');
end.


Сообщение отредактировано: klem4 - 17.12.2007 18:18


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


Новичок
*

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

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


Цитата(klem4 @ 17.12.2007 18:18) *

зачем массив ?

var
f, temp: Text;
value: Integer;
begin
assign(f, 'c:\input.txt');
reset(f);

assign(temp, 'c:\temp.txt');
rewrite(temp);

while not eof(f) do begin
readln(f, value);
if value >= 0 then
writeln(temp, value);
end;

close(f);
erase(f);

close(temp);
rename(temp, 'c:\input.txt');
end.


Блин...спасибо конечно, ноэффект такой же, Никогда не работал с файлами, что ваще должна показать программа? неужели пустой экран?


--------------------
И никто его так и не узнал*)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 17.12.2007 18:43
Сообщение #7


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

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

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


если ты внимательно прочитаешь задание, все станет понятно ...


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


Новичок
*

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

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


При удалении отрицательныч чисел разве не должно было показать оставшиеся положительные числа?


--------------------
И никто его так и не узнал*)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
not_programmer
сообщение 17.12.2007 19:06
Сообщение #9


Новичок
*

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

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


Цитата(Инкогнито @ 17.12.2007 20:45) *

При удалении отрицательныч чисел разве не должно было показать оставшиеся положительные числа?


Разве не показывает? У меня все работает.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Инкогнито
сообщение 17.12.2007 19:11
Сообщение #10


Новичок
*

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

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


Не-а, пустой экран...мож с Паскалем самим какая то фигня, а чё там показывается? набор положительных чисел?


--------------------
И никто его так и не узнал*)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 17.12.2007 19:17
Сообщение #11


Гость






Цитата
Не-а, пустой экран...
А файл? ТЫ результат должен в файл записать или как? Вот и проверяй в файле... Кстати, "файл целых" <> "текстовый файл", это так, к слову, чтоб потом не удивлялся, если придется переделывать...
 К началу страницы 
+ Ответить 
Инкогнито
сообщение 17.12.2007 19:31
Сообщение #12


Новичок
*

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

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


Всё! работает! я в Паскале смотрел, а надо было в самом файле, и еще числа записывал неправильно, но теперь всё понял, работает ура:) Спасибо всем вам:)


--------------------
И никто его так и не узнал*)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 17.12.2007 19:41
Сообщение #13


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

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

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


да, кстати, volvo прав, если файл целых, то программа немного изменится ...


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

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

 



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