Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Войти
 
Страницы: 1
RSS
Помогите!!!!
 
Надо на С++ написать программу которая изменяет порядок строк в текстовом файле на обратный.Опишите пожайлуста как бы вы решали эту задачу.
 
Интересно, в каком ВУЗе ты учишься? :)
Я решил эту задачу так:

1) открывает текстовый файл
2) пока не дойдём до конца файла, читаем из него строки в массив
3) выводим строки из массива в обратном порядке (на экран, в файл - неважно)
4) освобождаем память

Программу на С++ я только что сделал - работает. ;)
 
clavdin, эээ дорогой, так дело не пойдёт, никто за тебя здесь задачки решать не будет, вопросы нужно задавать по существу, то есть, пишу такую-то, такую-то программу, там-то и там-то что-то не получается, подскажите что не так делаю?
Mr.Clumsy respect =)
 
A eshe luchshe sozdat dinamicheskij spisok ssylok na stroki (list)!
 
Saint_I, задачки за него решать может и будут (я же тряхнул стариной ;)), но вот отдавать безвозмездно не будут. Разве что обменять на что-нибудь. :)

myxA, по своему опыту учёбы в ВУЗе могу точно сказать, что человеку, задающему такие простые вопросы не нужна программа со списками и прочими хорошими вещами. Её (программу) ведь ещё надо защитить преподавателю, поэтому она должна быть очень простая и лёгкая для понимания. :)
 
Нафиг списки, вы что?
Открываем файл, бежим в конец. Запоминаем позицию в endofline. Потом бежим по символу назад, пока не найдём перевод строки. Запоминаем как startline. Выводим в файл от текущей позиции и до endofline. Запоминаем currentline как endofline. И опять, бежим назад цикл повторяется. Зделать сложнее. Щас попробую. Зделаю конечно не в лёгкую, но без напряга...
if (argc!=3) usage(argv[0]);
inf=fopen("argv[1]","r");
outf=fopen("argv[2]","w");
fseek(inf,0,SEEK_END);
size=ftell(inf);
while(startline<size){
//fseek(inf, startline,SEEK_END);
//read(ch,sizeof(ch),1,inf);
//if (ch=='\n'){
////for(i=startline;i>=endline;i--){
//////fread(ch,sizeof(ch),1,inf);
//////fwrite(ch,sizeof(ch),1,outf);
////}
////endline=startline;
//}
//startline++;
}
PS Не тестил.
 
Misha nu tut zhe skazano cto na c++ napisat nado! a ty na c pishesh!

#include <fstream.h>
#define MAXLENGTH 255
.............
char buf[MAXLENGTH];
.................
ifstream in("yourfile");
.............
while(!in.eof())
 in.getline(buf,MAXLENGTH);
 
Не люблю C++.
http://wocson.008.ru/humor/straustr.htm
Ну, дык что, исправить сложно? Кроме того, чем это не С++, если подключить другие заголовки, то скомпилится в Microsoft VC++.
 
Господа,зачем парится с массивом ? Не легче ли открыть 2 файла сразу и последовательно читая из одного писать в другой ?
 
Я может утрирую..., но не будет следующим вопрос, как в QBASIC вывести текст "Я тут" с позиции 10, 15... ?
Страницы: 1
Читают тему