19.09.2019, 17:12 [+3 UTC]
в нашей команде: 3 831 чел. | участники онлайн: 7 (рекорд: 21)

:: РЕГИСТРАЦИЯ

задать вопрос

все разделы

правила

новости

участники

доска почёта

форум

блоги

поиск

статистика

наш журнал

наши встречи

наша галерея

отзывы о нас

поддержка

руководство

Версия системы:
7.77 (31.05.2019)
JS-v.1.34 | CSS-v.3.35

Общие новости:
28.04.2019, 09:13

Форум:
12.09.2019, 08:17

Последний вопрос:
19.09.2019, 14:47
Всего: 150343

Последний ответ:
19.09.2019, 15:43
Всего: 259029

Последняя рассылка:
19.09.2019, 16:45

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
27.08.2010, 14:18 »
Лысенков Антон Анатольевич
Похоже что WebSMS то что надо. [вопрос № 179787, ответ № 262890]
11.11.2009, 11:38 »
Arkadiy
Спасибо! Прибор хороший, и я сам готов оплатить за его ремонт, но и в этом мне отказали. [вопрос № 174132, ответ № 256381]

РАЗДЕЛ • С / С++

Создание программ на языках C и C++.

[администратор рассылки: Андрей Кузнецов aka Dr_Andrew (Старший модератор)]

Лучшие эксперты в этом разделе

solowey
Статус: Бакалавр
Рейтинг: 314
Лысков Игорь Витальевич
Статус: Старший модератор
Рейтинг: 104
Зенченко Константин Николаевич
Статус: Старший модератор
Рейтинг: 92

Перейти к консультации №:
 

Консультация онлайн # 143647
Раздел: • С / С++
Автор вопроса: Минин Руслан Васильевич
Отправлена: 11.09.2008, 15:24
Поступило ответов: 2

Уважаемые специалисты!
Прошу вас помогите мне в следующей проблеме(как решить эту задачу?)
Дан массив размера N. Определить количество его промежутков монотонности (то есть участков, на которых его элементы возрастают или убывают).
Заранее спасибо!

Состояние: Консультация закрыта

Ответ # 229071 от Терсков Сергей

Здравствуйте, Минин Руслан Васильевич!
Для этого определим вспомогательный массив, который будет отражать отношение между соседними элементами ('0' - элементы равны, '-' - правый элемент меньше левого, '+' - правый элемент больше левого). Затем в этом массиве посчитаем кол-во изменений знаков на '+' и '-'. Это и будет искомое значение. Подробнее смотрите в коде:

#include <time.h>
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char* argv[]) {

	const int n = 10;

	int arr[n];

	srand((unsigned) time(NULL));
	const int random_limit = 100;

	cout << "Initial array" << endl;

	for(int i=0; i<n; i++)
		arr[i] = rand()%random_limit;

	char signs[n];
	signs[0] = '0';

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

	for(int i=0; i<n; i++)
		cout << arr[i] << "\t" << signs[i] << endl;

	int interval_count = 0;
	for(int i=1; i<n; i++)
		if(signs[i] != signs[i-1] && signs[i] != 0)
			interval_count++;

	cout << endl << "Count of intervals of monotonicty: " << interval_count << endl;

  	return	0;
}


Консультировал: Терсков Сергей
Дата отправки: 12.09.2008, 07:00

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Ответ # 229092 от Ходзинский Александр Валерьеви

Здравствуйте, Минин Руслан Васильевич!
Я слегка изменил код от Терскова Сергея. Теперь считается не количество изменений знаков, а число промежутков где один и тот-же знак повторяется не менее чем установленное число раз.

Приложение:


Консультировал: Ходзинский Александр Валерьеви
Дата отправки: 12.09.2008, 12:23

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Мини-форум консультации № 143647
Терсков Сергей

# 1

= общий = | 12.09.2008, 07:01

Конечно можно было сделать компактнее, но так более наглядно...

неизвестный

# 2

= общий = | 12.09.2008, 16:13

Спасибо вам и за это!

 

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.15448 сек.

© 2001-2019, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.77 от 31.05.2019
Версия JS: 1.34 | Версия CSS: 3.35