Передача Строк В Функцию.

Тема в разделе "C/C++/C#", создана пользователем smagin4ik, 31 янв 2012.

  1. smagin4ik

    smagin4ik Гость

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




    Код (C++):
    #include <iostream>
    #include<fstream>
    #include <stdio.h>
    using namespace std;
    int cikl(int k){
    ifstream fin("text.txt");
    if (!fin) { cout<<"Error in open file!"<<endl; return 1;
    }
    fin.seekg(0, ios::end);
    long len=fin.tellg();
    char *buf=new char [len+1];
    fin.seekg(0, ios::beg);
    fin.read(buf, len);
    fin.close();
    buf[len]='\0';
    long n=0, i=0, j=0, kw=1;
    ofstream fout("output.txt");
    while(buf[i]){

    if (buf[i]==' ') kw++;
    if (buf[i]=='?' || buf[i]=='.' || buf[i]=='!')
    if (kw==k){
    for (j=n; j<=i; j++) fout<<buf[j];
    fout<<"\n";
    n=i+1;
    }
    else {n=i+2; kw=0;}
    i++;
    }
    fout.close();
    return 0;}
    int main()
    {int k;
    cout<<"How many words are necessary in a sentence?\n"<<"k=";
    cin>>k;
    cikl(k);
    return 0;
    }




    Проблема с циклом. :(
    Не работает программа если ввожу количество слов=2
    3 день не могу исправить,великое желание сделать так---> :)
     
  2. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    тебе же на экран надо вывести.
     
  3. smagin4ik

    smagin4ik Гость




    нет,у меня в выходном файле выводит)
    условия чуть чуть изменились,вывод не на экран,а в файл
     
  4. Bireva

    Bireva Гость

    попробуй j+2 у меня было похожее
     
  5. smagin4ik

    smagin4ik Гость





    не поможет)
     
Загрузка...

Поделиться этой страницей