Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/34: Рейтинг темы: голосов - 34, средняя оценка - 4.56
-1 / 1 / 1
Регистрация: 14.01.2017
Сообщений: 322

Вывести только те слова строки, в которых есть и буквы и цифры

12.09.2017, 17:13. Показов 6410. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача написать программу которая получает строку а выводит только те слова в которых есть и буквы и цифры
моя программа работает правильно, но меня беспокоит можно ли её улучшить
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
#include <stdio.h>
#include <iomanip>
using namespace std;
int hasSymbolz(char* path,char r) {
     char SYMBOLZ[] = "1234567890";
      r = 0; //проверка на цифру
      for (int i = 0; path[i]; ++i) {
          if (strchr(SYMBOLZ, path[i]) != 0)
              r++;
      }
          if (r > 0)
              return r;
          
      }
 
void main()
{
    setlocale(LC_ALL, "");
    srand(time(0));
    char temp[100] = {}, Array[] = { "qwertyuiopasdfghjklzxcvbnm" }, A[100] = {};
    char * path, o = 0; int y;//можно ли как-то заменить инициализацию Array 
    char r[12] = " ,./!?;:"\'";
    SetConsoleCP(1251);
    cin.getline(temp, 100, '\n');
    SetConsoleCP(866);
    path = strtok(temp, r);
    while (path != NULL){
        if (hasSymbolz(path, o) != 0 && strspn(path, Array)!=0)//это условие тоже хотелось бы улучшить
            //если в слове есть цифры и есть буквы
         y = hasSymbolz(path, o);//ко-во цифр
        int n = strlen(path);//длина текущего слова
        if (strspn(path, Array) == (n - y)){//эта функция возвращает индекс первого не совпадающего символа
            //есле в слове 
 
            strcat(strcat(A, path), " ");//соединяю
        }
        
            path = strtok(NULL, r);
        }
 
        cout << A;
    
    system("pause");
}
пожалуйста кто знает помогите)))

Добавлено через 15 минут
хотя есть ода еще проблемка
если сначала цифры потом буквы не выводит слово
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.09.2017, 17:13
Ответы с готовыми решениями:

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

Прочитать текст из файла и вывести в другой файл только те строки, в которых есть слова, начинающиеся с буквы М
Прочитать текст из файла и вывести в другой файл только те строки, в которых есть слова, начинающиеся с буквы М.

Ввести строку, ввести слово. Вывести из строки только те слова, в которых есть хоть одна буква из введённого слова
Здравствуйте, товарищи программисты. Я не смогла смириться с поражением и это снова привело меня к вам. Задание написано в заголовке....

6
58 / 62 / 34
Регистрация: 14.03.2014
Сообщений: 933
12.09.2017, 18:05
vfhbf,
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
#include<iostream>
#include<vector>
#include<string>
 
int main()
{
    using std::string;
    using std::cout;
 
    string str = "kdf doi44 7 hdsi87 76d n?d89";
 
    int i = 0;
    while (str[i] != '\0')
    {
        int word = 0, num = 0;
        string truestr = "";
        while (str[i] != ' ' && str[i] != '\0')
        {
            truestr += str[i];
            if ((int)str[i] > 47 && (int)str[i] < 58)
                num++;
            else if ((int)str[i] > 96 && (int)str[i] < 123)
                word++;
                
            i++;
        }
 
        if (word > 0 && num > 0)
            cout << truestr << " ";
        if (str[i] == '\0')
            break;
        i++;
    }
 
    system("pause");
    return 0;
}
Решение лобовое. Можно все это упростить.
1
Рэмбо комнатный
 Аватар для GeFacle
103 / 103 / 99
Регистрация: 05.03.2017
Сообщений: 511
12.09.2017, 18:21
как у тебя вообще что-то выводится без #include <iostream> и #include <string> ?
0
-1 / 1 / 1
Регистрация: 14.01.2017
Сообщений: 322
12.09.2017, 18:51  [ТС]
GeFacle, да сейчас не об этом речь идет
я же не спрашиваю у тебя ка кие мне библиотеки подключать..

Добавлено через 3 минуты
Senarist, но при этом функции для строк нужно использовать.
0
58 / 62 / 34
Регистрация: 14.03.2014
Сообщений: 933
12.09.2017, 19:05
vfhbf, char* ?
0
 Аватар для Fixer_84
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
12.09.2017, 21:08
vfhbf, здравствуйте! Вам нужно, чтобы в каждом слове обязательно присутствовали и буквы и цифры одновременно или можно по-отдельности? Я, вообще, за регулярные выражения.
0
-1 / 1 / 1
Регистрация: 14.01.2017
Сообщений: 322
12.09.2017, 22:10  [ТС]
Fixer_84, спасибо большое, я уже сама разобралась
тема закрыта.

Добавлено через 16 секунд
Fixer_84, спасибо большое, я уже сама разобралась
тема закрыта.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.09.2017, 22:10
Помогаю со студенческими работами здесь

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

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

Найти слова, в которых есть цифры и буквы латинского алфавита
Задание такое:Дана строка. Словом текста является последовательность цифр и букв латинского алфавита; между соседними словами - не менее...

Множества: получить две новые строки, одна из которых содержит только буквы другая - только цифры
дана строка состоящая из букв и цифр. получить две новые строки, одна из которых содержит только буквы другая только цифры. Решить с...

Вывести только симметричные слова либо слова, в которых буквы упорядочены в порядке, обратном алфавитному
С консоли вводится текст. Напишите программу, которая будет выводить только те слова, которые симметричны (например, RADAR, ALLA), либо в...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача №1: при указании работ (справочник РаботыПоРемонтуСпецтехники),. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru