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

Дан текст - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ В алфавитной строке перевести строчные буквы в заглавные и заглавные в строчные http://www.cyberforum.ru/cpp-beginners/thread326583.html
В заданой алфавитной строке перевести строчные буквы в заглавные и заглавные в строчные. Со строковыми функциями еще не доводилось работать. Помогите, пожалуйста.
C++ Следующее четное Здравствуйте! Помогите пожалуйста найти следующие четное число, нельзя использовать условную инструкцию if и циклы!!! с if все легко: #include "stdafx.h" #include "fstream" http://www.cyberforum.ru/cpp-beginners/thread326578.html
Вопрос по конструктороам C++
Добрый день! Скажите пожалуйста, каким конструктором пользоваться? Есть авторы, которые показывают такую структуру: class MyClass { private: int val; int copyval; public: MyClass() : val(0), copyval(0) {} };
Циклически сдвинуть строки в двумерном массиве заданным образом C++
Создать программу, которая циклически сдвигает строки в двумерном массиве следующим образом: первая строка становится последней, вторая - первой, третья - второй и т.д. Требование 1. Элементы вводятся с файла 2. Результаты выводятся в файл 3. Офйормить в виде функций. В главной функции только вызов остальных функции C++ Добавлено через 41 минуту ВОт ща сделал кое что но не роботает что...
C++ Соединить строки, вставить между ними соединительное слово и удалить один вопросительный знак http://www.cyberforum.ru/cpp-beginners/thread326559.html
аны две строки с вопросительными знаками в конце. Соединить их ,вставить между ними соединительное слово и удалить один ВОПРОСИТЕЛЬНЫЙ ЗНАКС. Срочно на экзамене
C++ Матрица [3x3] через шаблоны Переставить все элементы k-ой строки (между собой) и все элементы побочной диагонали. Размер матрицы Заранее спасибо подробнее

Показать сообщение отдельно
nameless
Эксперт C++
 Аватар для nameless
289 / 288 / 14
Регистрация: 16.06.2009
Сообщений: 486
27.06.2011, 13:57     Дан текст
Тикер,

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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <iterator>
 
int main()
{
setlocale(LC_ALL, "Rus");
 
std::string letters = "abcdefghijklmnopqrstuvwxyz";
std::string digits = "0123456789";
std::string symbols = "+-*";
 
std::string input_string;
 
std::cout << "Vvedite text : ";
std::cin >> input_string;
 
if (input_string.find_first_not_of(letters + digits + symbols) != std::string::npos)
{
std::cout << "Vvedenuu text ne cootvetctvyet shablony "
<< std::endl;
 
return 0;
}
 
std::vector< std::string > string_vector;
std::vector< std::string >::const_iterator string_vector_it;
 
std::string::const_iterator input_string_begin = input_string.begin();
 
//-----------------------------------------------------------------------------------------------------------------------------------------
 
std::string substring;
 
std::cout << "Vvedite iskomyy podstroky: ";
std::cin >> substring;
 
if (input_string.find_first_not_of(letters) != std::string::npos)
{
std::cout << "Vvedenaya podstroka moget coctoyat tolko uz latin. bykv " << std::endl;
 
return 0;
}
 
std::cout << "Uskomaya postroka"
<< (input_string.find(substring) == std::string::npos ? " не " : " ")
<< "naudena v ushodnou stroke" << std::endl;
 
//-----------------------------------------------------------------------------------------------------------------------------------------
 
for (std::string::value_type c = 'a'; c <= 'z'; ++c)
{
for (std::string::size_type left_pos = input_string.find_first_of(c);
left_pos != std::string::npos;
left_pos = input_string.find_first_of(c, left_pos + 1))
{
for (std::string::size_type right_pos = input_string.find_first_of(c, left_pos + 1), left_pos_copy = left_pos;
right_pos != std::string::npos;
left_pos_copy = right_pos, right_pos = input_string.find_first_of(c, left_pos_copy + 1))
{
string_vector.push_back(std::string (input_string_begin + left_pos, input_string_begin + right_pos + 1));
}
}
}
 
std::sort(string_vector.begin(), string_vector.end());
 
string_vector_it = std::unique(string_vector.begin(), string_vector.end());
 
string_vector.resize(string_vector_it - string_vector.begin());
 
std::cout << "grupu bykv vvedenou stroki nachinaetca odnou i tou ge bykvou: " << std::endl;
std::copy(string_vector.begin(), string_vector.end(), std::ostream_iterator< std::string > (std::cout, "\n"));
 
std::cout << "Obshee ix kolichestvo: " << string_vector.size() << std::endl;
 
//-----------------------------------------------------------------------------------------------------------------------------------------
 
std::string::value_type input_letter;
size_t let_num;
 
std::cout << "Vvedite bykvy: ";
std::cin >> input_letter;
 
if (input_letter < 'a' || input_letter > 'z')
{
std::cout << "Neobxodimo vesti stochnue bykvu " << std::endl;
 
return 0;
}
 
std::cout << "Vvedite 4islo bykv v grype : ";
std::cin >> let_num;
 
string_vector.clear();
 
std::string::size_type left_pos = 0;
 
while ((left_pos = input_string.find_first_of(input_letter, left_pos)) != std::string::npos)
{
std::string::size_type right_pos = left_pos;
size_t cur_let_num = 1;
 
while ((right_pos = input_string.find_first_of(input_letter, right_pos + 1)) != std::string::npos)
{
if (++cur_let_num == let_num)
{
string_vector.push_back(std::string (input_string_begin + left_pos, input_string_begin + right_pos + 1));
 
break;
}
}
 
if (right_pos == std::string::npos)
break;
 
++left_pos;
}
 
std::sort(string_vector.begin(), string_vector.end());
 
string_vector_it = std::unique(string_vector.begin(), string_vector.end());
 
string_vector.resize(string_vector_it - string_vector.begin());
 
std::cout << "Grypu bykv vvedenou stroki, sodergashee bykvy " << input_letter << " " << let_num << "raz"
<< ((let_num % 10 == 2 || let_num % 10 == 3 || let_num % 10 == 4) &&
!(let_num == 12 || let_num == 13 || let_num == 14) ? "а" : "") << ": " << std::endl;
std::copy(string_vector.begin(), string_vector.end(), std::ostream_iterator< std::string > (std::cout, "\n"));
 
return 0;
}
Вот, ошибок быть не должно..
 
Текущее время: 08:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru