Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.12.2010, 19:38   #1
Mirt
Пользователь
 
Регистрация: 12.10.2010
Сообщений: 10
По умолчанию Строки

В текстовом файле записано :
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
Нужно что бы программа оставила строки :
2 1 3
3 1 2
И записала в новый текстовый документ.
Код:
uses crt;
var f,g:text;
s,s1,s2:string;
i,k,t,c:integer;
begin
clrscr;
assign(f,'file1.txt');
reset(f);
assign(g,'file2.txt');
rewrite(g);
while not eof(f) do
begin
readln(f,s);{читаем строку}
s1:=s+' ';{создаем вспомогательную, над ней измываться будем, добавим к ней пробел}
while pos(' *',s1)>0 do{на всякий случай удалим лишние пробелы}
delete(s1,pos(' *',s1),1);{если не нужно, уберите эти 2 строки из кода}
i:=0;k:=0;{счетчики чисел и совпадений их с номером}
while pos(' ',s1)>0 do{пока есть пробелы}
begin
s2:=copy(s1,1,pos(' ',s1)-1);{читаем первое слово}
val(s2,t,c);{преобразуем в число}
i:=i+1;{считаем}
if t=i then k:=k+1;{если совпало число со своим номером, считаем}
delete(s1,1,pos(' ',s1));{удаляем его с пробелом, следующее число первое}
end;
if k=0 then writeln(g,s);{если на разу не совпало, в новый файл}
end;
close(f);
close(g);
write('Fail perepisan!');
readln
end.

Последний раз редактировалось alex_fcsm; 06.12.2010 в 19:44.
Mirt вне форума Ответить с цитированием
Старый 06.12.2010, 19:39   #2
Mirt
Пользователь
 
Регистрация: 12.10.2010
Сообщений: 10
По умолчанию

Уже и методом втыка пробовал, все равно не остаются данные строки у меня во втором текстовом файле, помогите пожалуйста разобраться
Mirt вне форума Ответить с цитированием
Старый 06.12.2010, 19:44   #3
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

А вы условие не пробывали выкладывать???
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 06.12.2010, 19:47   #4
Mirt
Пользователь
 
Регистрация: 12.10.2010
Сообщений: 10
По умолчанию

Цитата:
Сообщение от alex_fcsm Посмотреть сообщение
А вы условие не пробывали выкладывать???
Пардон, но это все что нам дал препад.
Mirt вне форума Ответить с цитированием
Старый 06.12.2010, 19:52   #5
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Я так понимаю условие - вывести все строки, в которых числа стоят на местах, не совпадающих с их значением
то есть
3 1 2
3 на месте 1
1 на месте 2
2 на месте 3
Выводи

3 2 1
3 на месте 1
2 на месте 2 - совпало
1 на месте 3
------------------
Не выводим


В сл. раз сами потрудитесь прочитать комментарии в программе и определить закономерность
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание пустой строки и копирование в неё содержимое предыдущей строки Gvaridos Microsoft Office Excel 2 29.10.2010 13:33
Дбавление новой строки, после строки с подходящими параметрами RailOS Microsoft Office Excel 5 18.08.2010 10:12
Определять максимальную длину той части строки s, которая не содержит символы из строки s1. Александе еть я Общие вопросы C/C++ 5 13.04.2010 20:54
Перенести символа с начала строки в место перед запятой этой же строки. Zhiltsov Microsoft Office Excel 4 05.06.2009 13:10
считать из файла две строки, вывести на экран символы первой строки, которые отсутствуют во второй gotex Помощь студентам 4 08.05.2008 02:27