Определить длину строки и количество букв "а" в ней - C (СИ)
Формулировка задачи:
Помогите создать программу:
В ней нужно:
1)ввести фамилию, имя и отчество как одно данное строкового типа;
2)определить длину строки и количество букв "а" в ней.
3)Изъять все буквы "а" и "о" из фамилии.
Первые два задания сделал. Вот с 3-тим проблемы. Помогите пожалуйста, вот код к первым двум
#include "stdafx.h" #include <iostream.h> #include <locale.h> #include <string.h> #include <cstring.h> using namespace std; void main(void) { int a=0, count=0, p=0, c=0; cout << "Enter data: "; string str; getline (cin, str); for (int i = 0; i<str.length(); i++) { if ((str[i]=='A') || (str[i]=='a')) { a++; } count++; } cout << "Count of string: " << count << endl; cout << "Number of 'a' cymbols: " << a << endl; //место для третьего задания. system("pause"); }
Решение задачи: «Определить длину строки и количество букв "а" в ней»
textual
Листинг программы
char *ptr=str; for(;*str!=NULL;str++) { if(*str=='a'||*str=='o') { char *zam=str while(*zam='\0') {*zam=*(zam+1) zam++; } } }
Объяснение кода листинга программы
В данном коде выполняются следующие действия:
- Переменная
ptr
инициализируется значениемstr
. - Происходит цикл, который выполняется до тех пор, пока
*str
не станет равнымNULL
. - Внутри цикла проверяется, является ли текущий символ 'a' или 'o'.
- Если символ является 'a' или 'o', то выполняется следующий блок кода.
- Переменная
zam
инициализируется значениемstr
. - Происходит цикл, который выполняется до тех пор, пока
*zam
не станет равнымNULL
. - Внутри цикла значение
*zam
заменяется на значение*(zam+1)
. - Переменная
zam
увеличивается на 1. - После выхода из внутреннего цикла, переменная
zam
увеличивается на 1. - После выхода из внешнего цикла, значение
*str
увеличивается на 1. Таким образом, в результате выполнения данного кода будет определена длина строки и количество буква
в ней.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д