Форум программистов, компьютерный форум CyberForum.ru

Почему выводит только последнюю строчку? - C++

Восстановить пароль Регистрация
 
vikichocolate
 Аватар для vikichocolate
25 / 14 / 1
Регистрация: 11.11.2011
Сообщений: 94
25.12.2011, 23:53     Почему выводит только последнюю строчку? #1
завтра на зачет нужно!!!!!!
есть код.


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/*1.    Задан текстовый файл Input.txt, 
состоящий  из слов и некоторое предложение. 
Разделителями между словами является некоторое множество знаков препинания. 
Найти  строки, в которых встречается данное предложение, 
продублировать первое и последнее слова предложений.   
Результат записать  в новый файл Output.txt. Упорядочить слова  в искомых предложениях по 
убыванию длин слов, результат сортировки записать в файл Out_sort.txt. */
#include <iostream>
#include <string.h>
#include <fstream>
using namespace std;
void main()
{
    ifstream f;
    char *predloz=new char[256];
    char text[10000];
    f.open("input.txt", ios::binary);
    int i=0;
    while (!f.eof())
    {
        f.getline(text, 10000);
    }
    cout<<text<<endl;
    f.close();
}



посмотрите, пожалуйста, в чем ошибка!!!

и если есть идеи по рошению задачи, подкиньте!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2011, 23:53     Почему выводит только последнюю строчку?
Посмотрите здесь:

C++ пользователь вводит строчку,а программа выводит количество пробелов между словами в строке.
C++ Почему не выводит m?
C++ Почему не выводит?
C++ Почему последнюю строку из файла выводит дважды?
программу, которая считывает текст из файла и выводит на экран только предложения, начинающиеся с тире, перед которым могут находиться только пробелы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
26.12.2011, 00:02     Почему выводит только последнюю строчку? #2
Цитата Сообщение от vikichocolate Посмотреть сообщение
C++
1
2
3
4
5
while (!f.eof())
 {
   f.getline(text, 10000);
 }
   cout<<text<<endl;
cout в цикл поместите.
vikichocolate
 Аватар для vikichocolate
25 / 14 / 1
Регистрация: 11.11.2011
Сообщений: 94
26.12.2011, 00:58  [ТС]     Почему выводит только последнюю строчку? #3
блин...позор какой...

Добавлено через 31 минуту
kazak,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
#include <string.h>
#include <fstream>
using namespace std;
void main()
{
    ifstream f;
    char *predloz=new char[256];
    char text[10000];
    f.open("input.txt", ios::binary);
    if(!f)
    {
        cout<<"can't open file!\n";
    }
    int i=0;
    while (!f.eof())
    {
        f.getline(text, 10000);
        cout<<text<<endl;
        int n=strlen(text);
        for(int i=0; i<n; i++)
        while(text[i]='\n')
        {
            text[i]=predloz[i];
            cout<<predloz<<endl;
            break;
        }
    }
    
    f.close();
}




а тут, когда я хочу переписать 1-ю строку????
для меня тема "строки" просто пипец какой-то...

Добавлено через 22 минуты
посмотрите, пжл, код!!!!!!!!!!!

а-а-а-а-а-а!!!
опять тупая ошибка!!!!!!!!!!!!!
grizlik78
Эксперт С++
 Аватар для grizlik78
1884 / 1416 / 102
Регистрация: 29.05.2011
Сообщений: 2,961
26.12.2011, 01:47     Почему выводит только последнюю строчку? #4
Вот этот цикл зачем?
Цитата Сообщение от vikichocolate Посмотреть сообщение
C++
1
while(text[i]='\n')
Во-первых условие неправильное, там могло бы быть сравнение '!=' или '==', а присваивание '=' совсем ни к месту. Во-вторых даже с правильным условием цикл работать не будет, так как условие не будет изменяться. Может там условие какое с выходом нужно, типа if () break;
Но вникать в задание и в код не могу, не до того...

Добавлено через 4 минуты
Одиноко стоящий в строке 28 break тоже вызывает удивление. Цикл while из бесконечного превращается в отсутствие цикла
В общем пока это больше набор инструкций, нежели код.
vikichocolate
 Аватар для vikichocolate
25 / 14 / 1
Регистрация: 11.11.2011
Сообщений: 94
26.12.2011, 01:48  [ТС]     Почему выводит только последнюю строчку? #5
я понимаю, что тут плохо все=((((
Yandex
Объявления
26.12.2011, 01:48     Почему выводит только последнюю строчку?
Ответ Создать тему
Опции темы

Текущее время: 10:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru