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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Rezvanov
1 / 1 / 0
Регистрация: 22.10.2011
Сообщений: 71
#1

Не правильно прописана программа - C++

08.06.2013, 12:01. Просмотров 265. Ответов 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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include "stdafx.h"
#include <iostream>
#include <string>
#include <windows.h>
 
using namespace std;
 
void main (){
string s;    //Создали объект класса string, с помощью конструктора по умолчанию
string masslov[10];
int N,i;    
cout<<"Vveditekolichestvoslov v nabore: ";
cin>>N;
for (i=0;i<N;i++){
cout<<"Vvediteslovo #"<<i<<" : ";
cin>>masslov[i];
}
cout<<"Vveditestroku:\n";
getline(cin,s);    //Считали строку из потока cin
string razd=" ,.:";
/*Создали объект класса string, с помощью конструктора копирования для хранения гласных*/
string s1=s;   /* Скопировали строку s в строку s1 с помощью переопредленной операции = */
string word;   // Создали объект класса string для хранения выделенного слова
char n= s1.find_first_of(razd);
/*Нашли позицию первого разделителя в строке s1*/
while (n!=-1){
if (n){
word=s1.substr(0,n);
/*Сохранили подстроку до разделителя как очередной элемент массива */
for (i=0;i<N;i++)
if (word==masslov[i]){
cout<<word<<endl;
break;
}
}
s1=s1.substr(n+1);
/*Далее рассматриваем только оставшуюся часть строки*/
n=s1.find_first_of(razd);//Нашли позицию очередного
//разделителя
}
word=s1; //Обработка последнего слова в строке
for (i=0;i<N;i++)
if (word==masslov[i]){
cout<<word<<endl;
break;
}
system("pause");
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.06.2013, 12:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не правильно прописана программа (C++):

Программа правильно сохраняет, но не правильно считывает матрицу из файла - C++
Программа правильно сохраняет, но не правильно считывает матрицу из файла ... При считывание выводит на экран какие-то непонятные...

Правильно ли написана программа? - C++
Задача такова. Перед авиаперелётом на известное расстояние закупается топливо для самолёта. Топливо продаётся в ёмкостях заданного...

Правильно ли написана программа? - C++
#include &lt;tchar.h&gt; #include &lt;stdio.h&gt; #include &lt;iostream&gt; int _tmain(int argc, _TCHAR* argv) { std::cout &lt;&lt; &quot;temperature...

Программа не правильно дешифрует - C++
Помогите, не могу понять в чем проблема, программа должна считывать исходный текст и сам ключ с текстового файла. Проблема заключается в...

Программа работает не правильно - C++
Задача:Найти среди 10 русских существительных отглагольные(типа хождение) и вывести их. AnsiString A; AnsiString B; int C; int...

Не правильно работает программа - C++
Написал программу но она чего то не правильно работает вот код: #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string&gt; using...

1
Smile11
6 / 6 / 0
Регистрация: 23.09.2012
Сообщений: 42
08.06.2013, 20:09 #2
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
#include <iostream>
#include <string>
#include <windows.h>
 
using namespace std;
 
int main (){
string s;    //ÑîçäГ*ëè îáúåêò ГЄГ«Г*Г±Г±Г* string, Г± ïîìîùüþ ГЄГ®Г*ñòðóêòîðГ* ГЇГ® óìîë÷Г*Г*ГЁГѕ
int N,i;    
cout<<"Vveditekolichestvoslov v nabore: ";
cin>>N;
_flushall();
string* masslov = new string [N];
for (i=0;i<N;i++){
cout<<"Vvediteslovo #"<<i<<" : ";
getline(cin,masslov[i]);
}
cout<<"Vveditestroku:\n";
getline(cin,s);    //Ñ÷èòГ*ëè ñòðîêó ГЁГ§ ïîòîêГ* cin
string razd=" ,.:";
/*ÑîçäГ*ëè îáúåêò ГЄГ«Г*Г±Г±Г* string, Г± ïîìîùüþ ГЄГ®Г*ñòðóêòîðГ* êîïèðîâГ*Г*ГЁГї äëÿ õðГ*Г*ГҐГ*ГЁГї ГЈГ«Г*Г±Г*ûõ*/
string s1=s;   /* ÑêîïèðîâГ*ëè ñòðîêó s Гў ñòðîêó s1 Г± ïîìîùüþ ïåðåîïðåäëåГ*Г*îé îïåðГ*öèè = */
string word;   // ÑîçäГ*ëè îáúåêò ГЄГ«Г*Г±Г±Г* string äëÿ õðГ*Г*ГҐГ*ГЁГї âûäåëåГ*Г*îãî ñëîâГ*
char n= s1.find_first_of(razd);
/*ГЌГ*øëè ïîçèöèþ ïåðâîãî Г°Г*çäåëèòåëÿ Гў ñòðîêå s1*/
while (n!=-1){
if (n){
word=s1.substr(0,n);
/*ÑîõðГ*Г*èëè ïîäñòðîêó äî Г°Г*çäåëèòåëÿ ГЄГ*ГЄ î÷åðåäГ*îé ýëåìåГ*ГІ Г¬Г*Г±Г±ГЁГўГ* */
for (i=0;i<N;i++)
if (word==masslov[i]){
cout<<word<<endl;
break;
}
}
s1=s1.substr(n+1);
/*Г„Г*ëåå Г°Г*Г±Г±Г¬Г*òðèâГ*ГҐГ¬ òîëüêî îñòГ*ГўГёГіГѕГ±Гї Г·Г*Г±ГІГј ñòðîêè*/
n=s1.find_first_of(razd);//ГЌГ*øëè ïîçèöèþ î÷åðåäГ*îãî
//Г°Г*çäåëèòåëÿ
}
word=s1; //ГЋГЎГ°Г*áîòêГ* ïîñëåäГ*ГҐГЈГ® ñëîâГ* Гў ñòðîêå
for (i=0;i<N;i++)
if (word==masslov[i]){
cout<<word<<endl;
break;
}
system("pause");
return 0;
}
Теперь можна вводить и строки, но я не пойму какой должно вивести результат...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.06.2013, 20:09
Привет! Вот еще темы с ответами:

Правильно ли написана программа? - C++
здравтвуйте! изучаю с++ на данный момент К Л А С С Ы...хотел написать свою простенькую программу на классы и написал..всё работает...(я...

Правильно ли написана программа? - C++
//--------------------------------------------------------------------------- #include &lt;vcl.h&gt; #include &lt;iostream&gt; #pragma hdrstop...

Не правильно считает программа - C++
Чем больше ввожу столетие, тем меньше пятниц 13 получается. #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; int...

Правильно ли написана программа - C++
Почему мне компилятор выдает ошибку после main? #include &lt;stdio.h&gt; #include &lt;conio.h&gt; void main (void) { // вот здесь ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.