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

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

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

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

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

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

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

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

Ввести две даты, вывести на экран и определить, какая дата раньше - C++
когда нажимаю печать на экран(пункт 2), выводит 0, может не запоминает кода ввожу даты, помогите,пожалуйста, понять, что не правильно. dev...

Ввести целое число и определить, верно ли, что в его записи есть две одинаковые цифры - C++
Задача на С++ (do..while) Нужно ввести целое число и определить, верно ли, что в его записи есть две одинаковые цифры? Буду...

Ввести натуральное число и определить, верно ли, что в его записи есть две одинаковые цифры (не обязательно ст - C++
Ввести натуральное число и определить, верно ли, что в его записи есть две одинаковые цифры (не обязательно стоящие рядом) Пример: ...

Ввести файл из 13 компонент. Определить в нём сумму модулей отрицательных компонент - Pascal ABC
Помогите с написанием программы и составлением блок-схемы: Ввести файл из 13 компонент. Определить в нём сумму модулей отрицательных...

Ввести две строковые переменные и определить, в какой из них больше символов - QBasic
Помогите ,пожалуйста! задача : ввести две строковые переменные и определить, в какой из них больше символов. ПОМОГИТЕ!!!

Ввести две строки и определить, сколько раз и на каких позициях встречается 2 строка внутри первой - VBA
Ввести две строки и определить, сколько раз и на каких позициях встречается 2 строка внутри первой всё это надо сделать в MS Excel

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
htonasral
5 / 5 / 1
Регистрация: 19.05.2009
Сообщений: 23
17.12.2010, 00:18 #2
http://ru.wikipedia.org/wiki/String.h
0
Fedor Alifirenk
1 / 1 / 0
Регистрация: 23.10.2010
Сообщений: 35
17.12.2010, 02:03  [ТС] #3
спасибо отличная помощь!

Добавлено через 1 час 13 минут
люди пожалуйста помогите
0
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);
0
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 минут
можешь проверить что ты мне кинул! оно не работает как положено!
0
easybudda
Модератор
Эксперт CЭксперт С++
9632 / 5580 / 948
Регистрация: 25.07.2009
Сообщений: 10,714
17.12.2010, 09:08 #6
Цитата Сообщение от Fedor Alifirenk Посмотреть сообщение
Определить число вхождений в последовательность s1,...sn группы букв abc, aba.
В смысле - сколько раз в строке встретились подстроки "abc" и "aba", или сколько раз в строке встретились буквы из "abc" и "aba"?


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

Приводите для обеих задач примеры входных и выходных данных.
0
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(); }
а что такое "сечение строк" действительно надо уточнить.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2010, 09:40
Привет! Вот еще темы с ответами:

Ввести целое число и определить, верно ли, что в его записи есть две одинаковые цифры - Pascal ABC
1. Ввести целое число и определить, верно ли, что в его записи есть две одинаковые цифры. пример: 1234 1224 нет. ...

Ввести целое число и определить, верно ли, что в его записи есть две одинаковые цифры. - Turbo Pascal
Ввести целое число и определить, верно ли, что в его записи есть две одинаковые цифры.

Ввести целое число и определить, верно ли, что в его записи есть две одинаковые цифры - Turbo Pascal
Ввести целое число и определить, верно ли, что в его записи есть две одинаковые цифры. Например: Введите целое число 1234 нет ...

Как найти в файле совпадение и ввести его в таблицу - VBA
День добрый. Подскажите как можно реализовать поиск в таблице по двум критериям и внести значение в таблицу. Сысл такой есть таблица с...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
17.12.2010, 09:40
Ответ Создать тему
Опции темы

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