Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2020, 23:00   #1
Xterylis
Пользователь
 
Регистрация: 10.12.2020
Сообщений: 12
По умолчанию Вывести количество согласных с S1, которые встречаются в S2.

Здравствуйте, у меня такая задача
Вывести количество согласных с строки S1, которые встречаются в строке S2
Примечание, что Символьные строки S1 и S2 длиной до 100 символов нужно вводить с клавиатуры. Результаты вывести на экран.
Написал код, который считает количество согласных букв, но как сделать чтобы вывело количество согласных с первой строчки, которые встречаются во второй не знаю
Я новичок в этом деле, поэтому буду очень благодарен за помощь
Вот мой код:
Код:
#include <stdio.h>

#define LINE 2

int main()
{
    int a, i, v[LINE];
    for(i=0;i<LINE;i++)
    {
        v[i] = 0;
    }
    for(i=0;i<LINE;i++)
    {
        while((a = getchar()) != '\n')
        {
            if ((a == 'b' || a == 'c' || a ==
                'd' || a == 'f' || a == 'g' || a ==
                'h' || a == 'j' || a == 'k' || a == 'l'
                || a == 'm' || a == 'n' || a == 'p'
                || a == 'q' || a == 'r' || a == 's'
                || a == 't' || a == 'v' || a == 'w'
                || a == 'x' || a == 'z') ||
                (a == 'B' || a == 'C' || a ==
                'D' || a == 'F' || a == 'G' || a ==
                'H' || a == 'J' || a == 'K' || a == 'L'
                || a == 'M' || a == 'N' || a == 'P'
                || a == 'Q' || a == 'R' || a == 'S'
                || a == 'T' || a == 'V' || a == 'W'
                || a == 'X' || a == 'Z'))
                v[i]++;
        }
    }
    for(i=0;i<LINE;i++)
    {
        printf("%d ", v[i]);
    }
}
Xterylis вне форума Ответить с цитированием
Старый 11.12.2020, 09:04   #2
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Код:
#include <stdio.h>
#include <conio.h>
#include <iostream>

using namespace std;


int main()
{
	char* s1 = (char*)calloc(200,  sizeof(char));
	char* s2 = (char*)calloc(200,  sizeof(char));
	char* buf = (char*)calloc(200, sizeof(char));

	memset(s1, 0, 200);
	memset(s2, 0, 200);
	memset(buf, 0, 200);

	cout << "Hello" << endl;
	cout << "Input first string:" << endl;
	cin >> s1;
	cout << "Input second string:" << endl;
	cin >> s2;

	/*cout << s1 << endl;
	cout << s2 << endl;*/

	int soglCount = 0;
	char sogl[] = "bcdfghjklmnpqrstvwxzBCDFGHJKLMNPQRSTVWXZ";

	cout << "Second string contains next symbols: " << endl;

	for (int i = 0; i < 200; i++)
	{
		if ((s1[i] == '\0') || (s2[i] == '\0'))
			break;

		if (strchr(sogl, s1[i]))
		{
			if (!strchr(buf, s1[i]))
			{
				strncat_s(buf, 200 * sizeof(char), &s1[i], 1);
				//cout << buf << endl;
				soglCount++;
				if (strchr(s2, s1[i]))
				{
					cout << s1[i];
				}
			}
		}
	}
	cout << "\r\n" << endl;
	sprintf_s(s1,20, "%d", soglCount);
	cout << "Total symbols: " << s1 << endl;


	int res = _getch();
	return 0;
}
Изображения
Тип файла: png sqweqrt.png (36.8 Кб, 16 просмотров)
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 12.12.2020, 17:29   #3
Xterylis
Пользователь
 
Регистрация: 10.12.2020
Сообщений: 12
По умолчанию

Спаси бо большое, а есть код на Си? (не плюсы)
Xterylis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывести элементы массива,которые встречаются в массиве только один раз Lamar15 Помощь студентам 2 09.03.2020 20:43
C++ Вывести символы, которые встречаются в обоих словах furymaxim Помощь студентам 6 24.03.2019 06:43
Нужно найти буквы(т.е вывести на экран) которые встречаются в 2 или более словах. Gohych Паскаль, Turbo Pascal, PascalABC.NET 3 28.12.2016 11:02
Вывести только те слова сообщения, которые встречаются в нем ровно один раз С++ filimoncc Помощь студентам 11 23.02.2014 19:30
из строки вывести на экран те символы, которые встречаются только по 1 разу Andrey770 Паскаль, Turbo Pascal, PascalABC.NET 4 29.03.2011 19:08