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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Двумерный массив: номер первого из столбцов, содержащих хотя бы один нулевой элемент http://www.cyberforum.ru/cpp-beginners/thread1145161.html
дана целочисленная прямоугольная матрица. Определить номер первого из столбцов ,содержащих хотя бы один нулевой элемент. Характеристикой строки целочисленной матрицы назовём сумму её отрицательных чётных элементов. Представляя строки заданной матрицы ,расположить их в соответствии с убыванием характеристик .
C++ Определение количества элементов массива, принадлежащих интервалу a, b Определить количество элементов, непринадлежащих промежутку (A,B) и расположенных в столбцах с нечетными номерами. Получилось что-то в этом роде, но видимо не правильно задал условие в "if", не могу понять что не так. # include <stdio.h> # include <math.h> main ( ) { int i, j, m, n, K; float B ; float a,b; 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 *mas1=new int; // 1 vector <int> mas2(10); //2
C++ Напечатать слова, которые встречаются в двух предложениях только один раз (Pascal -> C++) Задание если понадобится: Даны два предложения. Напечатать слова, которые встречаются в двух предложениях только один раз. uses crt; var a: array of string; b: array of integer; i,j,k,l: integer; s,sl: string; begin write('s='); подробнее

Показать сообщение отдельно
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' убрать)
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru