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

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

Войти
Регистрация
Восстановить пароль
 
Ivan Konanykhin
0 / 0 / 0
Регистрация: 19.05.2012
Сообщений: 3
#1

Удалить из заданной строки группы латинских букв "ХУ" - C++

19.05.2012, 19:36. Просмотров 358. Ответов 3
Метки нет (Все метки)

Удалить из заданной строки группы латинских букв “ХУ”.
Вот наброски программы но она работает неправильно помогите доработать эту программу
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <clocale>
#include <windows.h>
using namespace std;
int main()
{
setlocale (LC_CTYPE,"Russian");
char S[30];
char S1[30];
cout << "Введите строку \n";
cin.getline(S,30);
int k=0;
int l=strlen(S);
OemToAnsi(S,S);
for (int i=0;i<l;i++)
if (S[i]!='ХУ') 
{
S1[k]=S[i];
k+=1;
};
for (int i=0;i<k;i++)
cout << S1[i];
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.05.2012, 19:36     Удалить из заданной строки группы латинских букв "ХУ"
Посмотрите здесь:

Замена малых латинских букв символом "$" - C++
Как написать функцию, которая для заданного в качестве параметра массива типа char заменяет все малые латинские буквы символом «$» и...

Найти номер последней по порядку строки в матрице, содержащей наибольшее количество букв "ш", "щ" - C++
Нужен код к этому условию, пожалуйста. Дана символьная матрица размера 13х18. Найти номер последней по порядку строки,содержащей...

Удалить из введенной строки все символы, отличные от прописных латинских букв и пробелов - C++
Цель работы Научиться работать со строками. Освоить способ динамического захвата и освобождения памяти под символьные массивы....

Если строка содержит больше пяти латинских "a",заменить все латинские и русские буквы строки следующими по алфавиту символами. - C++
Написать программу,которая читает с клавиатуры строку символов,преобразует ее и выводит результат на дисплей. 1)Если строка содержит...

Определить количество букв "а" в заданной строке - C++
Символы вводим с клавиатуры

Определить длину введенной строки и количество букв "а" в ней - C++
вывести фамилию, имя и по отчеству как одно текстовое данное . Определить длину данного и количество букв &quot;а&quot; в нем. Svetlana...

Вывод длины строки и количества букв "а" в ней - C++
Помогите создать программу: В ней нужно ввести фамилию, имя и отчество как одно данное строкового типа;определить длину строки и...

В произвольной тексте на русском языке вывести строки, содержащие более 5 букв "о" - C++
Привет всем! Вобщем у меня проблема, есть задачка: В произвольной тексте на русском языке вывести строки, содержащие более 5 букв &quot;о&quot;. ...

В какой половине строки больше букв "а"? - C++
Помогите разобраться. Заданную строку символов произвольно разделить на две части и определить в какой из них количество букв «a» больше....

Строки (Из строки удалить ту часть, которая в "" (кавычках)) - C++
Из строки удалить ту часть, которая в &quot;&quot;. Например dsfsdfsdfsdf&quot;sdfsdfs&quot;sdfsd - вывод dsfsdfsdfsdfsdfsd


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
KeyGen
383 / 290 / 6
Регистрация: 07.08.2011
Сообщений: 789
Записей в блоге: 1
19.05.2012, 20:23     Удалить из заданной строки группы латинских букв "ХУ" #2
Попробуй так (я не компилировал):
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
#include <iostream>
 
using namespace std;
int main()
{
char mass[30];
char mass_new[30];
 
cout << "Enter string \n";
 
cin.getline(mass,30);
 
for(int i=0; i<30; i++)
{
    if(i != 29)
        if(mass[i] == 'X'&&mass[i+1] == 'Y')
        {
            i++;
            continue;
        }
 
    mass_new[i] = mass[i];
}
 
   for(int i=0; i<30; i++)
   cout << mass_new[i];
 
}
Ivan Konanykhin
0 / 0 / 0
Регистрация: 19.05.2012
Сообщений: 3
19.05.2012, 20:32  [ТС]     Удалить из заданной строки группы латинских букв "ХУ" #3
она работает но причина в том что когда ее компилируешь она что то непонятное делает то есть в место X Y какие то символы выдает

Добавлено через 2 минуты
Цитата Сообщение от KeyGen Посмотреть сообщение
Попробуй так (я не компилировал):
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
#include <iostream>
 
using namespace std;
int main()
{
char mass[30];
char mass_new[30];
 
cout << "Enter string \n";
 
cin.getline(mass,30);
 
for(int i=0; i<30; i++)
{
    if(i != 29)
        if(mass[i] == 'X'&&mass[i+1] == 'Y')
        {
            i++;
            continue;
        }
 
    mass_new[i] = mass[i];
}
 
   for(int i=0; i<30; i++)
   cout << mass_new[i];
 
}
а можно как нибудь методом переписывания сделать вот я щас скину одну программу написанную там удаляет символы раздельно и все встречающиеся include <iostream>
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <clocale>
#include <windows.h>
using namespace std;
int main()
{
setlocale (LC_CTYPE,"Russian");
char S[30];
char S1[30];
cout « "Введите строку \n";
cin.getline(S,30);
int k=0;
int l=strlen(S);
OemToAnsi(S,S);
for (int i=0;i<l;i++)
 if (S[i]!='Е' && S[i]!='Л') 
 {
  S1[k]=S[i];
  k+=1;
 };
for (int i=0;i<k;i++)
cout « S1[i];
}
KeyGen
383 / 290 / 6
Регистрация: 07.08.2011
Сообщений: 789
Записей в блоге: 1
19.05.2012, 20:59     Удалить из заданной строки группы латинских букв "ХУ" #4
Ivan Konanykhin, Конечно будет выдавать потому что в конце массива пустота остаётся. Если ты точно уверен что они попадутся:
C++
1
2
   for(int i=0; i<28; i++)
   cout << mass_new[i];
Если нет это можно проверить:
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
#include <iostream>
 
using namespace std;
int main()
{
char mass[30];
char mass_new[30];
bool BL=false;
 
cout << "Enter string \n";
 
cin.getline(mass,30);
 
for(int i=0; i<30; i++)
{
    if(i != 29)
        if(mass[i] == 'X'&&mass[i+1] == 'Y')
        {
            BL = true;
            i++;
            continue;
        }
 
    mass_new[i] = mass[i];
}
 
   if(BL)
       for(int i=0; i<28; i++) cout << mass_new[i];
   else
       for(int i=0; i<30; i++) cout << mass_new[i];
 
}
Yandex
Объявления
19.05.2012, 20:59     Удалить из заданной строки группы латинских букв "ХУ"
Ответ Создать тему
Опции темы

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