#include <iostream>
using namespace std;
int num, i;
char k = 'a';
int main()
{
setlocale(0, "");
char* mass = new char[num];
bool check = true;
int j = 0;
int num1;
for (; check == true;) {
cout << "Введите кол-во символов: ";
cin >> num;
if (num > 20) {
cout << "Значение более 20 символов! " << endl << "Введите другое значение." << endl;
check = true;
}
else if (num <= 0) {
cout << "Значение равно или меньше 0! " << endl << "Введите другое значение." << endl;
check = true;
}
else {
check = false;
break;
}
}
for (i = 0; i < num; i++)
{
cout << "Введите значение элемента: " << endl;
cin >> mass[i];
if (mass[i] == k) {
j++;
}
}
cout << "Кол-во входа символа a = " << j << endl;
num1 = num / 3;
system("pause");
return 0;
}
for (; check = true;)while(check == true) {}
int num;char* mass = new char[num];
char* mass2 = new char[num];
char* mass3 = new char[num];for (; check = true;)перепутали оператор присваивания с оператором проверки на равенство, об этом я вам намекнул выше, это частая ошибка.
cin >> mass[i]Что делает ваш код?
препод сказал переделать через getline. cin >> mass[i]
cout << "Введите кол-во символов:\n$: ";
int sz = 0;
cin >> sz;
cout << "Введите символы:\n$: ";
string s;
char c = 'a';
copy_n(istream_iterator<char>(cin), sz, back_inserter(s));
cout << "Кол-во символов: " << c << " == " << count(s.cbegin(), s.cend(), c) << "\n";int countCh(char* a, int size, char ch)
{
int count = 0;
for(int i = 0; i < size; ++i)
{
if(a[i] == ch)
{
++count;
}
}
return count;
}
// ...
cout << "Введите кол-во символов:\n$: ";
int sz = 0;
cin >> sz;
char* line = new char[sz];
cout << "Введите символы:\n$: ";
cin.getline(line, sz);
char c = 'a';
cout << "Кол-во символов: " << c << " == " << countCh(line, sz, c) << "\n";
delete[] line;