С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
4 / 4 / 1
Регистрация: 19.06.2013
Сообщений: 81

Убрать из строки все нерусские буквы

15.04.2015, 16:57. Показов 1809. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Собственно, сабж. Значит, определил строку типа "абвг...АБВ...Я", вторую "mydehоуашоhg". И сравниваю посимвольно со заданной строкой. Вложенный цикл, s[i]==a[j]. Если равны, то заношу в новый массив начиная с нуля. Но когда вывожу на экран - пробелы и в конце ]. Подскажите как написать чтобы работало?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.04.2015, 16:57
Ответы с готовыми решениями:

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

убрать буквы из строки на Си
Ребят, помогите пожалуйста, не идет программа.Нужно считать два слова, и если в первом гласных больше, чем во втором, убрать в первом...

Убрать из файла все буквы «а»
Символьный файл содержит различные буквы латинского алфавита. Убрать из этого файлы все буквы «а». пытался, так и не смог. Помогите...

10
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
15.04.2015, 17:06
Все нерусские, или английские? Коды английских букв: 65-90 и 97-122. С этими кодами и сравнивай.
0
4 / 4 / 1
Регистрация: 19.06.2013
Сообщений: 81
15.04.2015, 17:08  [ТС]
lss, чтобы только кириллицы осталась. Вот что написал, но работает как в первом посте описал.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iomanip.h> // ??? ????????????? ??????
#include <iostream.h> //????-?????
#include <math.h> // ?????????????? ???????
#include <conio.h> // ??? getch() - ???????? ?????, ??? ???????? ??????
 
int main ()
    {
    char a[67]="абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
    char s[6]="sdдfg";
    char n[6];
    int i,j,k;
    k=0;
    for (i=0; i<6; i++) 
      for (j=0; j<66; j++) {
        if (s[i]==a[j]) n[k]=s[i];
        k++;
        }
    getch();
    for (i=0; i<k; i++) cout<<;
    getch();
    return 0;
}
0
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
15.04.2015, 17:20
Если так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    setlocale(0, "");
    
    char s[] = "sф-dдfgы!?";
    char n[100];
    
    int j = 0;
    for (int i = 0; i < strlen(s); i++) 
    {
        if ((s[i] >= 65 && s[i] <= 90) || (s[i] >= 97 && s[i] <= 122))
            continue;
        n[j++] = s[i];
    }
    n[j] = '\0';
      
    cout << n << endl;
0
4 / 4 / 1
Регистрация: 19.06.2013
Сообщений: 81
15.04.2015, 19:40  [ТС]
lss, так не пойдет. нужно убрать все символы, не являющиеся буквами русского алфавита. поэтому я так и составил "маску". (типа абвг...АБВГ...Я)
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
15.04.2015, 19:47
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int main ()
    {
    char a[67]="абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
    char s[6]="sdдfg";
    char n[6];
    int i,j,k;
    k=0;
    for (i=0; i<5; i++) 
        if (strchr(a, s[i]) != NULL]) n[k++] = s[i];
    n[5] = '\0';
    getch();
    cout << n;
    getch();
    return 0;
}
0
4 / 4 / 1
Регистрация: 19.06.2013
Сообщений: 81
15.04.2015, 19:49  [ТС]
Вот тоже как вариант.
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
#include <iomanip.h> // ??? ????????????? ??????
#include <iostream.h> //????-?????
#include <math.h> // ?????????????? ???????
#include <conio.h> // ??? getch() - ???????? ?????, ??? ???????? ??????
 
int main ()
    {
     setlocale(0, "");
    
    char s[] = "sф-dдfg ы!?";
    char n[100];
    
    int j = 0;
    for (int i = 0; i < strlen(s); i++) 
    {
        if (s[i] >= 1 && s[i] <= 122)
            continue;
        n[j++] = s[i];
    }
    n[j] = '\0';
      
    cout << n << endl;
    getch();
    return 0;
}
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
15.04.2015, 19:53
Нет, только с массивом. Так захватишь куча символов, кроме русских.
0
4 / 4 / 1
Регистрация: 19.06.2013
Сообщений: 81
15.04.2015, 20:00  [ТС]
nmcf, а так ничего не получается. Попробуйте скомпилировать. Получается д ]
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
15.04.2015, 20:09
Лучший ответ Сообщение было отмечено Neo54213 как решение

Решение

Небольшая опечатка. Мог бы сам исправить.
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
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <locale>
 
using namespace std;
 
 
int main()
{
    locale::global(locale(""));
 
    char a[67]="абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
    char s[6]="sdдfg";
    char n[6];
    int i,k;
    k=0;
    for (i=0; i<5; i++) 
        if (strchr(a, s[i]) != NULL)
            n[k++] = s[i];
    n[k] = '\0';
    cout << n << endl;
 
    system("PAUSE");
    return 0;
}
1
4 / 4 / 1
Регистрация: 19.06.2013
Сообщений: 81
15.04.2015, 20:13  [ТС]
nmcf, спасибо. Все правильно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.04.2015, 20:13
Помогаю со студенческими работами здесь

Убрать одинаковые буквы из строки
Привет ребят помогите человеку которуму лень думать! Вобщем цель задание такой Введите имя: Дидар (Тут чтоб я сам писал)в командную...

Убрать в строке все буквы до первого подчеркивания
Имеется слово формата string &quot;QWEE_RWEFF_DFSDF_SFFF&quot; Требуется убрать все буквы ДО первого подчеркивания (включая подчеркивание) Все...

Убрать из заданного слова все нечетные буквы
Дано слово *перевертышем* .Убрать из него все нечетные буквы и вывести.

В текстовом файле заменить все строки, начинающиеся с буквы ‘f’ на строки, начинающиеся с буквы ‘a’
Всем привет, не могли бы вы помочь написать программу Я не знаю как ее написать, но точно знаю, что нужно сделать проверку в строках,...

Убрать лишние буквы, цифры и пробелы из строки
Всем привет. Написал прогу которая уберает лишние цифры буквы и т.д но после получени результать у меня выходит в сохданный .txt файл...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru