Нужно ввести строку, и чтобы программа подсчитала сколько раз в этой строке встретился символ А.
Вот пытался сделать, но пишет (null)0.
Прошу не кидаться словами о плохом знании с.
#include<conio.h>
#include<stdio.h>
#include<string.h>
char str[100];
int x,y,z,a;
main()
{clrscr();
str[100]=str[a];
x='A';
printf("BBeguTe cJloBo\n");
scanf("%s",str[a]);
printf("%s" );
if (str[a]=x)
for (y=0; y>0; y++)
y++;
printf("%i", y);
getch();
}
Другие языки программирования и технологии
Строки в c++.
#include<stdio.h>
#include<conio.h>
int main()
{ char str[100],x='a';
int y=0,a;
printf("BBeguTe cJloBo\n");
scanf("%s",str);
printf("%s");
for (a=0;a<=100;a++)
if (str[a]==x) y++;
printf("\n%i", y);
getch();
}
... и различайте регистр и язык
#include<conio.h>
int main()
{ char str[100],x='a';
int y=0,a;
printf("BBeguTe cJloBo\n");
scanf("%s",str);
printf("%s");
for (a=0;a<=100;a++)
if (str[a]==x) y++;
printf("\n%i", y);
getch();
}
... и различайте регистр и язык
str[100]=str[a]; <= смысл сего действа непонятен, переменная 'a' равна нулю, сотому элементу массива (уже выход за границы массива) , присваевается значение нулевого?
scanf("%s",str[a]); <= просто scanf("%s",str);
printf("%s" ); <= нет параметра, нужно printf("%s", str);
------------------
if (str[a]=x)
for (y=0; y>0; y++)
y++;
printf("%i", y);
------------------<= этот кусок вообще непонятно, что делает
И вообще, если С++, используй С++ строки и стандартные шаблонные функции:
#include <algorithm>
#include <iostream>
#include <cstring>
#include <string>
using namespace std;
int main() {
string s1("abcdabcdabcd");
char s2[] = "fdsa fdsa";
cout << "'a' in s1 count: " << count(s1.begin(), s1.end(), 'a') << endl;
cout << "'a' in s2 count: " << count(s2, s2 + strlen(s2), 'a') << endl;
}
Для ввода строк с клавиатуры используй в С++ стандартный поток ввода cin и оператор << :
cin << s1;
или если в строке есть пробелы, функцию getline();
Просто Си:
#include <stdio.h>
int main() {
char str[100], *c;
int n = 0;
fgets(str, 100, stdin);
c = str;
while (*c) {
if (*c++ == 'A') {
++n;
}
}
printf("'A' in str count: %d\n", n);
return 0;
}
scanf("%s",str[a]); <= просто scanf("%s",str);
printf("%s" ); <= нет параметра, нужно printf("%s", str);
------------------
if (str[a]=x)
for (y=0; y>0; y++)
y++;
printf("%i", y);
------------------<= этот кусок вообще непонятно, что делает
И вообще, если С++, используй С++ строки и стандартные шаблонные функции:
#include <algorithm>
#include <iostream>
#include <cstring>
#include <string>
using namespace std;
int main() {
string s1("abcdabcdabcd");
char s2[] = "fdsa fdsa";
cout << "'a' in s1 count: " << count(s1.begin(), s1.end(), 'a') << endl;
cout << "'a' in s2 count: " << count(s2, s2 + strlen(s2), 'a') << endl;
}
Для ввода строк с клавиатуры используй в С++ стандартный поток ввода cin и оператор << :
cin << s1;
или если в строке есть пробелы, функцию getline();
Просто Си:
#include <stdio.h>
int main() {
char str[100], *c;
int n = 0;
fgets(str, 100, stdin);
c = str;
while (*c) {
if (*c++ == 'A') {
++n;
}
}
printf("'A' in str count: %d\n", n);
return 0;
}
>Нужно ввести строку, и чтобы программа подсчитала сколько раз в этой строке встретился символ А.
cin >> str;
cout << count(str, str+strlen(str), 'A');
cin >> str;
cout << count(str, str+strlen(str), 'A');
Похожие вопросы
- Указатели на строки в C++
- помогите со строками в C#
- Вывести на экран два максимальных элемента всех нечетных строк массива c#
- Как задать двумерный массив строк в C? Как его потом заполнять?
- Помогите испрвить код Переписать первые элементы каждой строки матрицы a(n*m), больше некоторого числа C, в массив b .
- Генератор случайных слов (строк) из файла на C++.
- как отформатировать жёский диск "C" через командную строку?
- Как на c++ реализовать прием строки произвольного размера из консоли?
- Как преобразовать строки файла в переменные (C#)?
- Непонятка с C++. Хочу посчитать колво точек в строке и почему то на 1 больше считает