@Gagatyn
Самоучка

Как перевернуть массив в с++?

int main()
{
	setlocale(LC_ALL, "rus");

	int a, cc, n[20], g[20], f = 0;
	cout << "Введите a ="; cin >> a;
	cout << "Система счисления - "; cin >> cc;

		while(a>0){
		for (int i = 0; i < f; i++) {
			g[i] = a % 2;
			a /=cc;
			cout << g[i];
		}
		for (int j = f, i = 0;j > 0, i < f;j--, i++) {
			g[j] = g[i];
			cout << g[j];
		}
		f++;
	}	

    _getch();
    return 0;
}

Как перевернуть 12345 => 54321? Я попробовал в с циклом от f до 0, так он не переворачивает, мне нужно создать еще одну матрицу? Еще вопрос, когда вывожу g[20] после цикла while, то значения заполняются не пойми чем. разными буквами и символами, как избежать этого?
  • Вопрос задан
  • 9182 просмотра
Решения вопроса 1
ThePyzhov
@ThePyzhov
iOS Ninja
1. Можно перевернуть с дополнительной переменной. А можно просто создать новый массив и записать туда перевернутый массив.
В случае дополнительного массива (пусть a[20] - исходный, b[20] - новый) в цикле по i от 19 до 0: b[19 - i] = a[i].
2. g[20] не существует. При определении int g[20] - выделяется 20 элементов от 0 до 19.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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