24.09.2017, 18:32 [+3 UTC]
в нашей команде: 2 128 чел. | участники онлайн: 3 (рекорд: 21)

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

:: консультации

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

:: все разделы

:: правила

:: новости

:: участники

:: доска почёта

:: форум

:: блоги

:: поиск

:: статистика

:: наш журнал

:: наши встречи

:: наша галерея

:: отзывы о нас

:: поддержка

:: руководство

Версия системы:
7.41 (25.02.2017)

Общие новости:
23.02.2017, 09:51

Форум:
24.09.2017, 16:39

Последний вопрос:
24.09.2017, 14:40

Последний ответ:
24.09.2017, 15:05

Последняя рассылка:
24.09.2017, 14:15

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

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

Наша кнопка:

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

Отзывы о нас:
15.08.2009, 18:53 »
Витек Сахаров :)
Прикольный портал... Чувствуется рука профессионалов. Так держать!
25.06.2010, 14:57 »
Finrod
Оперативно и качественно! [вопрос № 179225, ответ № 262276]
07.08.2012, 12:02 »
VladimirNick
Да, спасибо. Примерно так и сделал. В модуле формы в процедуре установки видимости налоговой закладки (по умолчанию она выключена) вставил проверку контрагента. При выборе нужного контрагента налоговая закладка включается, в нужное поле подтягивается необходимый код таможенного органа. [вопрос № 186491, ответ № 271388]

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

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

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

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

Лысков Игорь Витальевич
Статус: Старший модератор
Рейтинг: 238
solowey
Статус: 6-й класс
Рейтинг: 81
Хватов Сергей
Статус: Академик
Рейтинг: 70

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

Консультация онлайн # 191152
Раздел: • С / С++
Автор вопроса: dimnatvik@ya.ru (Посетитель)
Отправлена: 16.06.2017, 15:35
Поступило ответов: 1

Здравствуйте! У меня возникли сложности с таким вопросом: Помогите решить задачу:
В одномерном массиве, состоящем из М вещественных элементов ,вычислить 1. Номер минимального элемента; 2. Сумму элементов массива, расположенных между первым и вторым отрицательными элементами

Вопрос перенесен из раздела • Информатика
--------

• Отредактировал: Гордиенко Андрей Владимирович (Модератор)
• Дата редактирования: 16.06.2017, 17:50

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

Ответ # 275102 от Лысков Игорь Витальевич (Старший модератор)

Здравствуйте, dimnatvik@ya.ru!
Примерно так...
Вводим число элементов массива М, создаем динамический массив соответствующего размера.
Заполняем случайными числами из диапазона [-50.0:149.99].
Положительных больше, чтобы во второй задаче была чаще ситуация, когда
между первыми отрицательными элементами есть положительные элементы

#include <iostream>
#include <iomanip>
#include <conio.h>
#include <time.h>
 
using namespace std;

int main(void)
{
    int		M;
    int		i, iMin, i1;
	double	dMin;
	double	dSum;

	srand( (unsigned)time( NULL ) );	//инициируем генератор псевдослучайных чисел
    
	cout << "Enter M: ";
	cin >> M;							//Введем М
    double *a = new double[M];			//создадим массив из М вещественных чисел
    for (i = 0; i < M; i++)				//заполним его псевдослучайными числами
	{									//сделаем так, чтобы положительных было больше
        a[i] = (rand()%20000)/100. - 50;//диапазон чисел [-50. : 149.99]
        cout << a[i] << " ";			//выведем
	}

//1										//ищем номер минимального элемента
										//в начале считаем, что минимальный - нулевой элемент
	iMin = 0;							//индекс минимального
	dMin = a[0];						//значение минимального

	for (i=1; i<M; i++)					//по всем остальным элементам массива
	{
		if (a[i] < dMin)				//сравниваем с минимальным
		{								//новый найден
			iMin = i;					//индекс
			dMin = a[i];				//значение
		}
	}									//выведем минимальный и его индекс
										//к индексу добавим 1, чтобы 0 индекс вывелся, как 1
	cout << endl << "min = a[" << iMin+1 << "] = " << dMin << endl;

//2										//найдем сумму чисел между первыми отрицательными числами
	dSum = 0;							//сумма сначала равна 0
										//найдем первый отрицательный элемент
	for (i=0; i<M; i++)					//по всем, начиная с начала
	{
		if (a[i] < 0)
			break;						//если элемент отрицательный - выходим из цикла
	}

	for (i1=++i; i<M; i++)				//запомним индекс следующего элемента, чтобы потом его вывести
	{									//начинаем с текущего индекса до конца
		if (a[i] < 0)
			break;						//если встретился второй отрицательный - выходим
		dSum += a[i];					//иначе - складываем
	}
	if ((i1 == i)||(i == M))			//если стоят рядом два отрицательных числа 
										//или найдено только ОДНО отрицательное число
		cout << "numbers not found" << endl; //то выводим сообщение, что числа не найдены
	else								//иначе выводим какие числа сложили и сумму
		cout << "sum a[" << i1+1 << "]...a[" << i << "] = " << dSum << endl;

	delete[] a;							//освобождаем память динамического массива

    getch();							//ждем нажатие на клавишу
    return 0;
}


Консультировал: Лысков Игорь Витальевич (Старший модератор)
Дата отправки: 17.06.2017, 16:33

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

0

[подробно]

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

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

Мини-форум консультации № 191152

Гордиенко Андрей Владимирович
Модератор

ID: 17387

# 1

= общий = | 16.06.2017, 17:30 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
dimnatvik@ya.ru:

Вам нужно реализовать алгоритм вручную или написать программный код на алгоритмическом языке? Если нужно написать код, то на каком именно языке?

=====
Facta loquuntur.

dimnatvik@ya.ru
Посетитель

ID: 401210

# 2

= общий = | 16.06.2017, 17:48 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

Код на алгоритм. Языке
С++

Гордиенко Андрей Владимирович
Модератор

ID: 17387

# 3

= общий = | 16.06.2017, 17:49 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
dimnatvik@ya.ru:

Я перенесу консультацию в соответствующий раздел.

=====
Facta loquuntur.

Гордиенко Андрей Владимирович
Модератор

ID: 17387

# 4

= общий = | 16.06.2017, 17:51 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Экспертам раздела:

Обратите, пожалуйста, внимание на данную консультацию, перенесённую из другого раздела.

=====
Facta loquuntur.

 

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

Яндекс Rambler's Top100

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

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

© 2001-2017, Портал RFPRO.RU, Россия
Авторское право: ООО "Мастер-Эксперт Про"
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.41 от 25.02.2017
Бесплатные консультации онлайн