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

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

Войти
Регистрация
Восстановить пароль
 
Fedor Alifirenk
1 / 1 / 0
Регистрация: 23.10.2010
Сообщений: 35
#1

Ввести две стрингов константы. Определить совпадение их компонент. - C++

17.12.2010, 00:03. Просмотров 457. Ответов 6
Метки нет (Все метки)

Уважаемые кто что-либо знает в решении следующих задач (использование
C++
1
string.h
) пишите пожалуйста, буду очень благодарен

1 задача
Дано натуральное число n, символы s1,...sn. Определить число вхождений в последовательность s1,...sn группы букв abc, aba.

2 задача
Ввести две стрингов константы. Определить совпадение их компонент. В случае расхождения получить номера не совпадающих компонент. В результате получить сечение стрингов.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2010, 00:03     Ввести две стрингов константы. Определить совпадение их компонент.
Посмотрите здесь:

C++ Ввести с клавиатуры матрицу размерностью 5x5. Определить:
Ввести с клавиатуры две целочисленные матрицы, и перемножить их друг на друга C++
Ввести две строки символов A и B. Создать строку С следующим образом С1 = A1, C2 = В1, С3 = А2, С4 = В2 C++
C++ Ввести целое число и определить, верно ли, что в его записи есть две одинаковые цифры
C++ Определить константы по аргументам командной строки
C++ Исправить ошибку! Ввести две строки, если str1!=str2, то объединить их
C++ Определить класс последовательностей вещественных чисел n компонент
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
htonasral
5 / 5 / 1
Регистрация: 19.05.2009
Сообщений: 23
17.12.2010, 00:18     Ввести две стрингов константы. Определить совпадение их компонент. #2
http://ru.wikipedia.org/wiki/String.h
Fedor Alifirenk
1 / 1 / 0
Регистрация: 23.10.2010
Сообщений: 35
17.12.2010, 02:03  [ТС]     Ввести две стрингов константы. Определить совпадение их компонент. #3
спасибо отличная помощь!

Добавлено через 1 час 13 минут
люди пожалуйста помогите
Aye Aye
 Аватар для Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
17.12.2010, 02:13     Ввести две стрингов константы. Определить совпадение их компонент. #4
первая так
C
1
2
3
4
5
6
7
8
9
10
11
char str[] = "sbasbadagsgasdgasdfgasdfaasavcvab";
short i, j = 0, k = 0;
for (i = 0; i < strlen(str) + 1; ++i) {
    if (strcmp(&str[i],"abc") == 0) {
        ++j;
    } else if (strcmp(&str[i],"aba") == 0) {
        ++k;
    }
}
printf("abc is %d\n",j);
printf("aba is %d\n",k);
Fedor Alifirenk
1 / 1 / 0
Регистрация: 23.10.2010
Сообщений: 35
17.12.2010, 03:20  [ТС]     Ввести две стрингов константы. Определить совпадение их компонент. #5
Цитата Сообщение от Aye Aye Посмотреть сообщение
&str[i]
можно узнать что означает?

Добавлено через 3 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <string.h>
#include <iostream>
using namespace std; 
int main() {
char str[] = "sbabadagsgasdgasdfgasdfaasavcvab aba abc";
short i, j = 0, k = 0;
for (i = 0; i < strlen(str) + 1; ++i) {
    if (strcmp(&str[i],"abc") == 0) {
        ++j;
    } else if (strcmp(&str[i],"aba") == 0) {
        ++k;
    }
}
printf("abc is %d\n",j);
printf("aba is %d\n",k);
cin.get(); }
выводит abc is 1
aba is 0 хотя aba!=0 ????

Добавлено через 3 минуты
вроде готово

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <string.h>
#include <iostream>
using namespace std; 
int main() {
char str[] = "sbabadagsgasdgasdfgasdfaasavcvab aba abc";
short i, j = 0, k = 0;
for (i = 0; i < strlen(str) + 1; ++i) {
    if (strchr(&str[i],'abc') == 0) {
        ++j;
    } else if (strchr(&str[i],'aba') == 0) {
        ++k;
    }
}
printf("abc is %d\n",j);
printf("aba is %d\n",k);
cin.get(); }
правильно ли?

Добавлено через 29 минут
можешь проверить что ты мне кинул! оно не работает как положено!
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
17.12.2010, 09:08     Ввести две стрингов константы. Определить совпадение их компонент. #6
Цитата Сообщение от Fedor Alifirenk Посмотреть сообщение
Определить число вхождений в последовательность s1,...sn группы букв abc, aba.
В смысле - сколько раз в строке встретились подстроки "abc" и "aba", или сколько раз в строке встретились буквы из "abc" и "aba"?


Цитата Сообщение от Fedor Alifirenk Посмотреть сообщение
Ввести две стрингов константы. Определить совпадение их компонент. В случае расхождения получить номера не совпадающих компонент. В результате получить сечение стрингов.
Тоже мутно... Определить с какого символа строка a отличается от строки b? Да и "сечение стрингов" - какое-то сомнительное словосочетание...

Приводите для обеих задач примеры входных и выходных данных.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2010, 09:40     Ввести две стрингов константы. Определить совпадение их компонент.
Еще ссылки по теме:

C++ Ввести натуральное число и определить, верно ли, что в его записи есть две одинаковые цифры (не обязательно ст
Ввести две строки, заменить первый символ "r" символами второй строки C++
C++ Определить сумму и количество компонент массива, принадлежащих отрезку
C++ Ввести две даты, вывести на экран и определить, какая дата раньше
C++ Ввести пять чисел. Вывести первые две цифры чисел.

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

Или воспользуйтесь поиском по форуму:
Aye Aye
 Аватар для Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
17.12.2010, 09:40     Ввести две стрингов константы. Определить совпадение их компонент. #7
да, ошибся чуть-чуть, надо strncmp использовать.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <string.h>
#include <iostream>
#include <stdio.h>
using namespace std; 
int main() {
char str[] = "sbabadagsgasdgasdfgasdfaasavcvab aba abc";
short i, j = 0, k = 0;
for (i = 0; i < strlen(str) + 1; ++i) {
    if (strncmp(&str[i],"abc",3) == 0) {
        ++j;
    } else if (strncmp(&str[i],"aba",3) == 0) {
        ++k;
    }
}
printf("abc is %d\n",j);
printf("aba is %d\n",k);
cin.get(); }
а что такое "сечение строк" действительно надо уточнить.
Yandex
Объявления
17.12.2010, 09:40     Ввести две стрингов константы. Определить совпадение их компонент.
Ответ Создать тему
Опции темы

Текущее время: 08:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru