@Radia

Как перебрать массива char через for по буквам?

Мне надо сравнить каждые буквы в массиве
#include <iostream>
using namespace std;

int countAccurance(char s1, char s2, char string1, char string2) {
	int size1 = sizeof(string);
	int size2 = sizeof(string);

	int as1 = 0;
	int as2 = 0;
	for (int i = 0; i < size1; i++) {
		if (string1[i] == s1) {
			as1++;
		}
	}
	for (int i = 0; i < size2; i++) {
		if (string2[i] == s1) {
			as2++;
		}
	}
}

int main() {
	char s1, s2;
	cin >> s1 >> s2;
	char string[20];
	char string2[20];
	gets_s(string);
	gets_s(string2);
}


и я хотел перебрать массив(строку) через строку но не получается
  • Вопрос задан
  • 1651 просмотр
Пригласить эксперта
Ответы на вопрос 1
1. Не используй массивы вида тип arr[размер]; (сырые массивы). Иначе — боль и страдания. Массив = vector<int> (Ну или там double, или что там. Туториал по vector легко загуглишь.)

2. Для хранения строк в C++ используется string (нужен #include <string>)

3. sizeof вообще про другое, и новичку он понадобиться не может. Вместо него: string.size()

4. Собственно, ответ на вопрос "перебрать символы строки":
for (const char c : str) {
  ...
}

Где вместо str подставь нужное имя переменной.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы