Форум программистов, компьютерный форум, киберфорум
Наши страницы

Почему не работает этот код? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Обработка exception http://www.cyberforum.ru/cpp-beginners/thread1009430.html
Возникла такая проблема и не могу понять как ее реализовать... cin >> totalitems; // вот здесь в случае ввода не цифр, выбить ошибку и повторить цикл, как реализовать? int TotalArrayItems()...
C++ Нужно исправит ошибку с массивом! Почти решил задачу но вот эту ошибку никак не могу исправиьcannot convert from 'void' to 'double' #include "stdafx.h" #include <iostream> #include <fstream> #include <math.h> #include <iomanip>... http://www.cyberforum.ru/cpp-beginners/thread1009420.html
Количество цифр между числами C++
Собственно написал, код все работает, но мне нужно, чтобы после этой строчки cout << a++ << " "; курсор переключался на след. строчку endl или \n не подходит, ибо все числа тогда через строчку...
Неправильно считает C++
Сделал программу под эту задачу :Дана матрица А(4,4). 1.Считать матрицу с файла и вывести на экран. 2.Найти сумму элементов среди элементов расположенных на главной диагонали матрицы А. 3.Найти...
C++ Графика в С++ в принципе http://www.cyberforum.ru/cpp-beginners/thread1009414.html
Я новичек. Вернее сказать: очень новичек. Решил изучить С++ и попробовать программирование. В качестве хобби. Странное хобби конечно, но так. У моей жены,например, хобби расчищать снег перед моей...
C++ WinAPI LBN_KILLFOCUS Никак немогу убрать фокус с выбраного рание названия, что не так а то я не могу никак понять как пользоваться LBN_KILLFOCUS void Cls_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify) {... подробнее

Показать сообщение отдельно
Анатолий_95
0 / 0 / 0
Регистрация: 02.11.2013
Сообщений: 10

Почему не работает этот код? - C++

16.11.2013, 14:34. Просмотров 210. Ответов 0
Метки (Все метки)

Помогите разобраться с кодом, что в нем не так? Компиллируется, ввожу число, выводит на экран сообщение, что необходимо вывести предложения, содержащие заданное число строк и далее ничего не происходит и выйти из программы можно только путем ее закрытия.
Очень долго разбираюсь, но безуспешно. Буду очень признателен.
Ниже само задание и мой код. Если можно, то прокомментируйте ошибки подробно. Заранее благодарен.

Задание:

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

Код:

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#include<fstream.h>
#include<stdio.h>
#include<conio.h>
int main(){
 
  clrscr();
 
  //proverka naliciya faila//
    ifstream fin("1.txt",ios::nocreate);
  if(!fin) { cout<<"Error open file."<<endl;
    return 1;
  }
 
 
  //videlenie pamyati pod fail//
  fin.seekg(0,ios::end);
  long len=fin.tellg();
  char *buf=new char[len+1];
 
 
  //schitivanie faila b bufer//
  fin.seekg(0,ios::beg);
  fin.read(buf,len);
  buf[len]='\0';
 
 
  //sozdanie potoka vihoda i otkritie faila
  ofstream fout("1out.txt",ios::out);
  if(!fout){
    cout<<"Can't open output file"<<endl;
    return 1;
  }
 
 
  //vvod shablona poiska predlozeniy
  int num_word; //shablon cisla slov v predlozenii
  cout<<"Enter number"<<endl;
  cin>>num_word;
  cout<<"Display the proposals contain"<<" "<<num_word
      <<" "<<"words"<<endl;
 
 
  // poisk zadannogo usloviem predlozeniya
  char distrib[]=".,!?/<>:;)(*"; //massiv razdeliteley slov
  long n=0,       //dlya hraneniya pozicii nachala tekyshego predlozeniya
         i=0,       //dlya prosmotra massiva
             j=0;       //dlya vivoda predlozeniya
  int nw=0;       //podchet slov v predlozenii
 
  while(buf[i]){  //cikl zavershaetsya pri nahozdenii nul-simvola
    if(buf[i]=='?'||buf[i]=='.'||buf[i]=='!'){
        for(j=n;j<=i;j++){
       if(buf[i]==distrib[j]||buf[i]==' '){
             nw++;
                if(nw==num_word){
             fout<<buf[j];
                 n=i+1;
                 i++;
                }
           }
        }
    }
  }
  fin.close();
  fout.close();
  cout<<endl;
  return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.