Форум программистов, компьютерный форум, киберфорум
Наши страницы

задача на массив - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ перевод с паскаля на С++ http://www.cyberforum.ru/cpp-beginners/thread449792.html
Дан массив ненулевых целых чисел размера N. Проверить, образуют ли его элементы геометрическую прогрессию (см. задание 4). Если образуют, то вывести знаменатель прогрессии, если нет — вывести 0.} ...
C++ дано натуральное число N. Определить входит ли цифра N в это число? дано натуральное число N. Определить входит ли цифра N в это число? никак не могу составить программу для этой задачи... http://www.cyberforum.ru/cpp-beginners/thread449785.html
Создайте массив из пяти фамилий и выведите их на экран C++
1. Создайте массив из пяти фамилий и выведите их на экран те из них, которые начинаются с определенной буквы, которая вводится с клавиатуры. 2. Даны координаты вершин многоугольника (x1,...
Файловый указатель C++
как мне переместить файловый указатель в конец строки? например это: fseek(fp, 0L, SEEK_SET); это переводить в начало файла а это в конец файла: result = fseek(fp, 0L, SEEK_END); а как будет...
C++ Составление программ на использование двумерных массивов http://www.cyberforum.ru/cpp-beginners/thread449757.html
Написать программу, которая запрашивает размерность двумерного массива, заполняет его случайными числами от 4 до 12 и меняет местами первый и последний столбец массива.
C++ Получение параметра из потока win32api c++ Задача заключается в том,что мне присылают в main в качестве параметров количество потоков,и аргумент. Этот аргумент нужно в потоке поменять и вернуть в первичный поток. Проблема заключается в том... подробнее

Показать сообщение отдельно
valeriikozlov
Эксперт С++
4676 / 2502 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
21.02.2012, 05:14
Если массив a[] размером N уже задан, то можно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int i=0, res=0, d;
while(i<N-1)
{
    while(i<N-1 && a[i]==a[i+1])
        i++;
    if(i<N-1)
    {
        d=a[i]-a[i+1];
        while(i<N-1 && ((d<0 && a[i]-a[i+1]<0) || (d>0 && a[i]-a[i+1]>0)))
            i++;
        res++;
        i++;
    }   
}
//вот здесь в переменной res находится нужное значение
Небольшое пояснение, например в массиве a[] записано 3 значения:
1 5 3
Возрастающая последовательность это: 1 5
Код приведенный выше не будет учитывать убывающую последовательность: 5 3
т.к. посчитал что раз 5 входит уже в предыдущую последовательность, то для других последовательностей ее уже не учитываю. Но если нужно, то можно переделать.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.