Гость
Map
Форумы / C++ [игнор отключен] [закрыт для гостей] / Поиск букв / 11 сообщений из 11, страница 1 из 1
25.02.2022, 19:39
    #40136475
NN_41
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск букв
Дана последовательность слов из строчных русских букв; между соседними словами – запятая, за последним словом – точка. Напечатать в алфавитном порядке множества:
1)Все согласные буквы, которые входят только в одно слово;
2)Все гласные буквы, которые входят в каждое слово.

Код: plaintext
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.
#include<iostream>
#include<sstream>
#include<cstring>
using namespace std;

int main() {
	setlocale(LC_ALL, "Russian");
	system("chcp 1251 & cls");
	int i = 0, r = 0, p, k, j, n,b,c=0;
	const int N = 256;
	const char* del = " ,";
	char text[N];
	char sogl[] = { 'б', 'в', 'г', 'д', 'ж', 'з', 'й', 'к', 'л', 'м', 'н', 'п', 'р', 'с', 'т', 'ф', 'х', 'ц', 'ч', 'ш', 'щ' }, glasn[] = { 'а', 'е', 'ё', 'и', 'о', 'у', 'ы', 'э', 'ю', 'я' };
	char count[100], soglasn[22], glasni[11], count2[100];
	char* ptr[10], * next = 0;
	cout << "Введите текст: ";
	cin >> text;
	ptr[i] = strtok_s(text, del, &next);
	i++;
	while (ptr[i - 1] != NULL) {
		ptr[i] = strtok_s(0, del, &next);
		i++;
	}
	for (j = 0; j < i - 1; j++) 
		for (n = 0; n < 21; n++) {
			p = 0;
			for (k = 0; *(ptr[j] + k) != '\0'; k++) {
				if (count[r] == *(ptr[j] + k)) {
					p = 1;
				}
				if (p == 0) {
					if (*(ptr[j] + k) == sogl[n]) {
						count[r] = sogl[n];
						r++;
					}
				}
			}
		}
	for (j = 0; j < i - 1; j++)
		for (b = 0; b < 10; b++) {
			p = 0;
			for (k = 0; *(ptr[j] + k) != '\0'; k++) {
				if (*(ptr[j] + k) == glasn[b]) {
					count2[c] = glasn[b];
					c++;
				}
			}
		}
		count[r] = '\0';
		count2[c] = '\0';
		cout << "\n";
		r = 0;
		for (i = 0; i < 21; i++) {
			p = 0;
			for (j = 0; count[j] != 0; j++)
			{
				if (sogl[i] == count[j])
					p = 1;
			}


			if (p == 1)
			{
				soglasn[r] = sogl[i];
				r++;
			}
		}
		for (i = 0; i < 10; i++) {
			p = 0;
			for (j = 0; count2[j] != 0; j++)
			{
				if (glasn[i] == count2[j])
					p = 1;
			}


			if (p == 1)
			{
				glasni[c] = glasn[i];
				c++;
			}
		}
		soglasn[r] = '\0';
		glasni[c] = '\0';
		cout << soglasn << "\n";
		cout << endl;
		cout << glasni << "\n";
	
}
...
Рейтинг: 0 / 0
25.02.2022, 21:08
    #40136481
petrav
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск букв
Меня в таких сообщениях больше всего удивляет, что ни «пожалуйста», ни «заранее спасибо».
В детском садике что ли не учились… Тут уже даже расставленные знаки препинания в
исходном посте говорят лишь о том, что это лишь копипаста из задачника. Сам автор этого
не смог бы.
...
Рейтинг: 0 / 0
25.02.2022, 21:55
    #40136484
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск букв
petrav
Меня в таких сообщениях больше всего удивляет, что ни «пожалуйста», ни «заранее спасибо».

"заранее спасибо" это так-то оскорбление, типа я тебе потом спасибо скажу, ты мне обязан, давай делай.
...
Рейтинг: 0 / 0
25.02.2022, 21:58
    #40136485
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск букв
...
Рейтинг: 0 / 0
26.02.2022, 04:59
    #40136493
Поиск букв
задачка, кстати, странная - это в универах такие задают?
вроде как и C++, и cout, а тут же и cstring, и char*
а эт чё вабще:
NN_41
Код: plaintext
1.
system("chcp 1251 & cls");

...
Рейтинг: 0 / 0
26.02.2022, 05:03
    #40136494
NN_41
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск букв
бабушкин зайчик, это чтобы русский понимала программа
...
Рейтинг: 0 / 0
26.02.2022, 05:16
    #40136495
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск букв
NN_41
бабушкин зайчик, это чтобы русский понимала программа
Тебе соврали.
Это чтобы переключить консоль на кодировку и очистить экран. Но так как ты это запускаешь внутри system() то консоль создается, переключается, очищается и сразу же уничтожается. По окончанию system() уже совершенно не важно что там с той консолью происходило - ее больше нет.
...
Рейтинг: 0 / 0
26.02.2022, 11:48
    #40136504
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск букв
Обычно так пишут

Код: plaintext
1.
2.
3.
#ifdef _WIN32
system("chcp 1251 & cls");
#endif
...
Рейтинг: 0 / 0
26.02.2022, 13:47
    #40136515
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск букв
maytonОбычно так пишут

Нет, обычно пишут setlocale(LC_ALL, "");
А то, что выше - лакмусовая бумажка на идиотов.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
26.02.2022, 16:22
    #40136524
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск букв
Эта функция вобщем-то морально устарела

Код: plaintext
1.
strtok_s


тоесть если вы берете С++ то берите современные шаблоны строковых алгоритмов.
А strtok - это тяжелое наследние раннего языка "C".
...
Рейтинг: 0 / 0
26.02.2022, 17:06
    #40136529
NN_41
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск букв
mayton, я понимаю
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Поиск букв / 11 сообщений из 11, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]