@Matef

Как решить задачу на масcив?

В общем есть задачка и в голову не как не приходит, как лучше её решить помогите пожалуйста )
Вот условие:
Дан линейный массив из n элементов. Определить длину самой длинной последовательности элементов, расположенных в массиве по возрастанию.


Я тут чего-то нарешал, но не уверен что это правильно:
#include <iostream>

using namespace std;

int main()
{
	int n,i,k=1,max=0;
	int* arr = new int[n];

	cin >> n;

	for (int i = 0; i<n; i++){
		cin >> arr[i];
	}

	for (int i = 0; i<n - 1; i++){
		
		if (arr[i] == arr[i+1]){
			k++;
		} else {
			k = 1;
		};

		if (k > max) {
			max = k;
		};
	}
	cout << max << endl;



}
  • Вопрос задан
  • 97 просмотров
Решения вопроса 1
32bit_me
@32bit_me
Программист, встраиваемые системы
У вас несколько ошибок.
1. Сначала у вас объявляется массив нулевой длины, и только потом вы вводите его длину. Нужно сделать наоборот.
2. Вам нужно найти возрастающую последовательность, а вы ищете последовательность равных элементов. Нужно сравнение arr[i] < arr[i+1]
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы