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

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

Войти
Регистрация
Восстановить пароль
 
vaselo
19 / 19 / 1
Регистрация: 17.10.2010
Сообщений: 247
#1

Строка. модификация строки - C++

15.11.2010, 22:17. Просмотров 429. Ответов 0
Метки нет (Все метки)

Доброго времени суток! У меня есть маленькая ф-ция, которая должна удалять заглавные буквы. работала она у меня, определяя, находится ли итый символ в промежутке от А доЯ иА до ЗЕТ, заменяла на пробел, а потом уже удаляла его. но это очень длинный путь, попробовал упростить, не выводит результат, вроде должно быть правильно...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
    char str[128];
    cout<<"Vvedite vash text"<<endl; 
    cin>>str;//gets(str);
 
    
        int n=strlen(str),i=0,j;
        for (j=0; j<n; j++ )
        {if(isupper(unsigned char(str[i]))) //добавил ансайнед, чтоб определяло и в русском языке заглавную
            {str[i++] = str[j];}
        
        if( i < n )
            str[i] = '\0';}
 
 
cout<<str;
}
заранее спасибо за помощь!

Добавлено через 2 часа 7 минут
Если кому интересно, то я сделал ее уже вот так: первая - замена латиницы * и второе -удаление больших букв

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
49
#include "stdafx.h"
#include <stdio.h>
#include <iostream>
#include <conio.h>
#include <string>
 
using std::cout;
using std::cin;
using std::endl;
int zvezda()
{
    char s[128];
    cout<<"Vvedite vash text"<<endl; 
    cin>>s;//gets(s);
    for(int i=0; i<strlen(s);i++)
        {if(s[i]>='a'&& s[i]<='z'|| s[i]>='A'&& s[i]<='Z')
        s[i]='*';}
    cout<<s;
    return  0;}
void up()
{
        char str[128];
        cout<<"Vvedite vash text"<<endl; 
        cin>>str;//gets(str);
 
        
            int n=strlen(str),i=0,j;
        for (j=0; j<n; j++ )
        {if(islower(unsigned char(str[j])))
           str[i++] = str[j];
        if (i<n)
            str[i]='\0';
        }
cout<<str;
}
int main()
{ 
int sw;
cout<<"1_Zamena latinicy znakom *"<<endl<<"2_Udalenie bolshy bukw"<<endl<<"0 dlya vyhoda"<<endl<<"Sdelaite swoi vybor: ";
cin>> sw;
switch(sw)
{
    case 1:zvezda();break;
    case 2:up();break;
    case 0:return 0;break;
}
getch();
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2010, 22:17     Строка. модификация строки
Посмотрите здесь:

Строка: Определить местоположение символа первой строки,который первым совпал с одним из символов второй строки. - C++
заданы 2 строки,состоящие из слов,разделенных пробелами.Определить местоположение символа первой строки,который первым совпал с одним из...

Строка: Определите длину введенной строки, и если она кратна 4, то поменяйте местами первую часть строки со второй - C++
Разработайте программу работы со строками. Организуйте ввод исходных данных с клавиатуры. Используйте функции из библиотеки обработки...

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

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

Пустая строка против строки нулевой длины - C++
Как лучше проверять std::string на пустоту: s==&quot;&quot; или s.lengt()==0?

Дана строка. Удалить из строки повторные слова. - C++
Дана строка. Группы символов, разделенные пробелами(одним или несколькими) и не содержащие пробелов внутри себя, будем называть словами....

Дана строка. Добавить в конец строки её длину - C++
Не знаю,какую команду использовать для этого, так как работа должна быть сделана через динамический массив символов. Вот фрагмент...

строки, имеется строка, содержащая буквы латинского алфавита.......... - C++
Имеется строка, содержащая буквы латинского алфавита и цифры. Вывести на экран длину наибольшей последовательности цифр, идущих подряд.

Дана строка из букв и цифр. Удалить из строки все буквы. C++ - C++
Дана строка из букв и цифр. Удалить из строки все буквы.

Дана строка А и символ s. Удалить из строки символы, размещенные в символа s - C++
Дана строка А и символ s. Удалить из строки символы, размещенные до символа s. как при с помощью string это сделать, помогите пожалуйста.


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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