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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Обработка exception http://www.cyberforum.ru/cpp-beginners/thread1009430.html
Возникла такая проблема и не могу понять как ее реализовать... cin >> totalitems; // вот здесь в случае ввода не цифр, выбить ошибку и повторить цикл, как реализовать? int TotalArrayItems() { int totalitems(0); do {
C++ Нужно исправит ошибку с массивом! Почти решил задачу но вот эту ошибку никак не могу исправиьcannot convert from 'void' to 'double' #include "stdafx.h" #include <iostream> #include <fstream> #include <math.h> #include <iomanip> using namespace std; void read_matr(double Y) { http://www.cyberforum.ru/cpp-beginners/thread1009420.html
Количество цифр между числами C++
Собственно написал, код все работает, но мне нужно, чтобы после этой строчки cout << a++ << " "; курсор переключался на след. строчку endl или \n не подходит, ибо все числа тогда через строчку пишутся. #include <iostream> using namespace std; int main (int argc, char* argv) { int T, n, a, b, result; cin >> T; for (int i=0; i < T; T--) {
Неправильно считает C++
Сделал программу под эту задачу :Дана матрица А(4,4). 1.Считать матрицу с файла и вывести на экран. 2.Найти сумму элементов среди элементов расположенных на главной диагонали матрицы А. 3.Найти максимальный элемент в 3-ей строке матрицы. Третье условие что то не правильно работает. #include "stdafx.h" #include<iostream> #include<iomanip> #include<fstream> #include<math.h> using...
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) { LBN_KILLFOCUS IDC_LIST2= (int)LOWORD(wParam); hwnd= (HWND) lParam; } подробнее

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

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

16.11.2013, 14:34. Просмотров 199. Ответов 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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru