04.06.2020, 17:24 [+3 UTC]
в нашей команде: 4 595 чел. | участники онлайн: 8 (рекорд: 21)

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

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

все разделы

правила

новости

участники

доска почёта

форум

блоги

поиск

статистика

наш журнал

наши встречи

наша галерея

отзывы о нас

поддержка

руководство

Версия системы:
7.89 (25.04.2020)
JS-v.1.45 | CSS-v.3.39

Общие новости:
13.04.2020, 00:02

Форум:
04.06.2020, 16:56

Последний вопрос:
04.06.2020, 15:45
Всего: 152571

Последний ответ:
04.06.2020, 11:52
Всего: 260246

Последняя рассылка:
03.06.2020, 21:45

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

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

Наша кнопка:

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

Отзывы о нас:
14.01.2010, 22:53 »
Антонов А.В
Огромнейшее спасибо,точнее спасибище [вопрос № 176044, ответ № 258623]

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

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

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

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

Коцюрбенко Алексей Владимирович
Статус: Старший модератор
Рейтинг: 1690
var
Статус: 7-й класс
Рейтинг: 861
solowey
Статус: Профессионал
Рейтинг: 481

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

Консультация онлайн # 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.14612 сек.

© 2001-2020, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.89 от 25.04.2020
Версия JS: 1.45 | Версия CSS: 3.39