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;
}
  • Вопрос задан
  • 67 просмотров
Пригласить эксперта
Ответы на вопрос 1
@SermanTop
Она сейчас как раз учитывает знаки. На всякий спрошу, вы же не считаете, что -600 больше, чем -200?
Если вы хотите, чтобы все числа считались, как положительные, сравнивайте их по модулю используя функцию abs(x)
Ответ написан
Ваш ответ на вопрос

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

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