lrik64
@lrik64
Начинающий программист

Как переделать программу которая в массиве целых находит наиболее длинную последовательность чисел, но не учитывает знаки?

Добрый день сделал программу которая в массиве целых находит наиболее длинную последовательность чисел,но она не учитывает знаки( Помогите пожалуйста её улучшить.
Вот сама прога:
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <locale>
#define N 20

int main() 
{
	setlocale(LC_ALL, "rus");
	int A[N] = { 312,704,-28,916,455,848,803,-182,638,-614,-128,-656,21,-627,-446,-773,324,-764,-427,-591 };
	//312,704,-28,916,455,848,803,-182,638,-614,-128,-656,21,-627,-446,-773,324,-764,-427,-591 
	//4,2,18,21,43,34,56,78,121,234,543,546,765,0,-16,97,342,765,841,967
	int i, h, max = 0, p = 0, x = 0;
	for (i = 1; i < N; ++i) 
	{
		if (A[i] > A[i - 1])
		{
			p = 1;
			++x;
			if (x > max)
			{
				max = x;
				h = i;
			}
		}
		else {
			p = 0;
			x = 0;
		}
	}

	printf("Самая болшая возрастающая последовательность от -> A[%d] = %d до -> A[%d] = %d\n", h - max, A[h - max], h, A[h]);
	printf("Включает в себя %d чисел.\n", max + 1);
	return 0;
}
  • Вопрос задан
  • 56 просмотров
Пригласить эксперта
Ответы на вопрос 1
@SermanTop
Она сейчас как раз учитывает знаки. На всякий спрошу, вы же не считаете, что -600 больше, чем -200?
Если вы хотите, чтобы все числа считались, как положительные, сравнивайте их по модулю используя функцию abs(x)
Ответ написан
Ваш ответ на вопрос

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

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