Форум программистов, компьютерный форум, киберфорум
Наши страницы

Написать функцию, принимающую указатель на строку и выполняющую удаление всех букв «а» из строки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Двумерный массив: номер первого из столбцов, содержащих хотя бы один нулевой элемент http://www.cyberforum.ru/cpp-beginners/thread1145161.html
дана целочисленная прямоугольная матрица. Определить номер первого из столбцов ,содержащих хотя бы один нулевой элемент. Характеристикой строки целочисленной матрицы назовём сумму её отрицательных...
C++ Определение количества элементов массива, принадлежащих интервалу a, b Определить количество элементов, непринадлежащих промежутку (A,B) и расположенных в столбцах с нечетными номерами. Получилось что-то в этом роде, но видимо не правильно задал условие в "if", не... http://www.cyberforum.ru/cpp-beginners/thread1145117.html
C++ Рекурсивная процедура для печати в обратном порядке текста, заданного во входном файле
Разработать рекурсивную процедуру для печати в обратном порядке текста, заданного во входном файле (за текстом следует точка)
C++ Получить коэффициент многочлена, являющегося произведением P(x) и Q(x)
Два многочлена Р(х) и порядка n и Q(x) порядка м заданы своими коэффициентами. Получить коэффициент многочлена, являющегося произведением P(x) и Q(x)
C++ Как увеличить размерность массива? http://www.cyberforum.ru/cpp-beginners/thread1145088.html
В процессе отладки программы появилась необходимость увеличить массивы, объявленные ниже, на 4 элемента. Можно ли это сделать в первом и во втором случаях, не изменяя констан-ту 10? int...
C++ Напечатать слова, которые встречаются в двух предложениях только один раз (Pascal -> C++) Задание если понадобится: Даны два предложения. Напечатать слова, которые встречаются в двух предложениях только один раз. uses crt; var a: array of string; b: array of integer; ... подробнее

Показать сообщение отдельно
Gygocopter
10 / 10 / 5
Регистрация: 05.02.2014
Сообщений: 124
11.04.2014, 22:43
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void f(char*);
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");
    char str[] = "KaaaaaaakDelaRab?";
    f(str);
    cout << str;
    _getch();
    return 0;
}
void f(char *s)
{
    for (;*s;s++)
        if (*s == 'a')
        {
            strcpy(s, (s+1));
            s-=1;
        }
}
Если мы нашли букву 'a', мы смещаем строку на 1 элемент влево, т.е. 'a' затирается(Если бы мы передавали не указатель, а просто строку, то это выглядело бы так strcpy(&str[i],&str[i+1]) )
s-=1; Делается для того, если например за буквой 'a' идет тоже буква 'a'. (Т.е. в 'a' копируем остальную часть строки, которая начинается с 'a', а нам нужно все 'a' убрать)
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru