Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
Applica
0 / 0 / 0
Регистрация: 07.12.2014
Сообщений: 32
1

Проверить, встречаются ли в строке хотя бы по одному разу все арабские цифры

09.12.2014, 16:15. Просмотров 1347. Ответов 4
Метки нет (Все метки)

Для введенной с клавиатуры строки символов, содержащей буквы латинского алфавита, арабские цифры, знаки
препинания и пробелы, проверить, встречаются ли в строке хотя бы по одному разу все арабские цифры.

Пыталась что-то решить, но не уверена, что ход мыслей правильный... И вообще программа не запускается, выдает ошибку, но разобраться не могу в чем дело
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
#include <conio.h>
#include <clocale>
#include <iostream>
#include <math.h>
#include <string.h>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "russian");
 
    char st[100];
    int i,l,k=0;
    int a[10]={0,};
 
    cout << "Введите строку символов - > "<<endl;
    gets(st);
 
    l=strlen(st);
 
    for (i=0; i<l; i++)
    {
        switch (st[i])
        {
        case '0': a[0]=a[0]+1; break;
        case '1': a[1]=a[1]+1; break;
        case '2': a[2]=a[2]+1; break;
        case '3': a[3]=a[3]+1; break;
        case '4': a[4]=a[4]+1; break;
        case '5': a[5]=a[5]+1; break;
        case '6': a[6]=a[6]+1; break;
        case '7': a[7]=a[7]+1; break;
        case '8': a[8]=a[8]+1; break;
        case '9': a[9]=a[9]+1; break;
        }
    }
 
    for (i=0; i<10; i++)
        if (a[i]!=0) k++;
 
    if (k=10)
        cout<<"В строке есть все арабские цифры!";
    else
        cout<<"В строке не встречаются все арабские цифры!";
 
    getch();
}
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.12.2014, 16:15
Ответы с готовыми решениями:

Проверить, встречаются ли в строке хотя бы по одному разу все гласные буквы
Проверить, встречаются ли в строке хотя бы по одному разу все гласные буквы (заглавные). Написал...

Напечатать все слова, которые встречаются в строке по одному разу
Задание такое. Дана строка, напечатать все слова, которые встречаются в ней по одному разу. Код...

Какие слова встречаются в строке по одному разу
Определить какие слова встречаются в строке по одному разу. заранее благодарю

Определить какие слова встречаются в строке по одному разу
Задана строка, состоящая из символов Символы объединяются в слова. Слова друг от друга отделяются...

Определить, какие слова встречаются в строке по одному разу
Задана строка, состоящая из символов. Символы объединяются в слова. Слова друг от друга отделяются...

4
JavaUser
71 / 71 / 28
Регистрация: 06.10.2013
Сообщений: 309
09.12.2014, 16:30 2
Цитата Сообщение от Applica Посмотреть сообщение
встречаются ли в строке хотя бы по одному разу все арабские цифры
Вот моя реализация, которая пришла сразу на ум
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
 
    string Stroka="", pnkt="";
    int sum=0;
    cout<<"Input something...\n";
    cin>>Stroka;
    for(int i=0;i<Stroka.length();i++)
    {
         pnkt=Stroka.substr(i,1);
         if(pnkt=="0" || pnkt=="1"|| pnkt=="2"|| pnkt=="3"|| pnkt=="4"|| pnkt=="5"|| pnkt=="6"|| pnkt=="7"|| pnkt=="8"|| pnkt=="9")
            sum++;
 
    }
    if(sum==10)
        cout<<"Stroka include all numbers";
 
   return 0;
}
Добавлено через 55 секунд
Цитата Сообщение от Applica Посмотреть сообщение
if (k=10)
в этой строке вы присваивание выполняете, а не сравнение
0
Applica
0 / 0 / 0
Регистрация: 07.12.2014
Сообщений: 32
09.12.2014, 18:31  [ТС] 3
JavaUser, спасибо за ваш код! В своем исправила присваивание на сравнение, но выдает еще ошибку в 18 строке: gets(st). Не понимаю, почему...

Добавлено через 1 час 44 минуты
JavaUser, вы уверены, что ваш код рабочий? У меня в условии ошибки выдает... И не запускается программа
0
Байт
Эксперт C
20755 / 13227 / 2789
Регистрация: 24.12.2010
Сообщений: 27,842
09.12.2014, 19:55 4
Лучший ответ Сообщение было отмечено Applica как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
for (i=0; i<l; i++) {
   int c = st[i] - '0';
   if (c>=0 && c<=9)
     a[c] += 1;
}
for (i=0; i<10; i++)
        if (a[i]==0) break;;
if (i==10)
        cout<<"В строке есть все арабские цифры!";
else
        cout<<"В строке встречаются не все арабские цифры!";
0
JavaUser
71 / 71 / 28
Регистрация: 06.10.2013
Сообщений: 309
10.12.2014, 11:32 5
Цитата Сообщение от Applica Посмотреть сообщение
JavaUser, вы уверены, что ваш код рабочий? У меня в условии ошибки выдает... И не запускается программа
Код рабочий. Я не делаю посты с пустышками и нерабочим кодом. Мне этого не нужно.
0
10.12.2014, 11:32
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.12.2014, 11:32

Напечатать все слова, которые встречаются в предложении по одному разу
Доброго времени суток! Помогите, пожалуйста, решить задачу: Дано предложение. Напечатать все...

Напечатать все слова последовательности, которые встречаются по одному разу
2)Дана последовательность слов. Напечатать все слова последовательности, которые встречаются в ней...

Напечатать все слова последовательности, которые встречаются в ней по одному разу.
Дана последовательность слов. Напечатать все слова последовательности, которые встречаются в ней по...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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