Форум программистов, компьютерный форум CyberForum.ru

Ввести массив целых чисел. Вывести позиции максимального и минимального значений скользящей суммы из 5-ти соседних элементов. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ввести строку и слово. Подсчитать количество слов, которые совпадают с введенным, прочитанным в обратном порядке. http://www.cyberforum.ru/cpp-beginners/thread304010.html
Ввести строку и слово. Подсчитать количество слов, которые совпадают с введенным, прочитанным в обратном порядке.
C++ Написать функцию, удаляющую лидирующие и заключительные пробелы и символы табуляции Написать функцию, удаляющую лидирующие и заключительные пробелы и символы табуляции. http://www.cyberforum.ru/cpp-beginners/thread304007.html
Helo C++
Добрый вечер ) Прошу помощи у тех людей кто понимает в C++ ( нужно написать что означает каждая строка если кто знает пожалуйста помогите ) скинул все в Архиве ) Заранее очень благодарен)
Создать класс строка и производный класс битовая строка, не работает переопределение операций C++
Здравствуйте уважаемые форумчане.Мне очень нужна помощь в разработке класса.Сам класс вроде работает но вот 1 задание к нему неработает очень нужна помощь.Вот задание Создать класс строка и производный класс битовая строка Переопределить следующие операции (длина строки результата должна быть равна длине большей из строк в случае необходимости более короткая битовая строка сдвигается влево...
C++ Заполнить массив случайными числами и добавить элемент в начало http://www.cyberforum.ru/cpp-beginners/thread303975.html
Помогите с двумя программками. 1. Сформировать динамический одномерный массив, заполнить его случайными числами и добавить элемент в начало массива 2 Сформировать динамический Двумерный массив массив, заполнить его случайными числами и Удалить строку с номером К
C++ Массив как сделать эту задачу?? Найти сумму элементов линейного массива? подробнее

Показать сообщение отдельно
masterlights
0 / 0 / 0
Регистрация: 04.05.2012
Сообщений: 3
28.11.2012, 02:06     Ввести массив целых чисел. Вывести позиции максимального и минимального значений скользящей суммы из 5-ти соседних элементов.
Цитата Сообщение от Temoffey Посмотреть сообщение
Ввести массив целых чисел. Вывести позиции максимального и минимального
значений скользящей суммы из 5-ти соседних элементов.
Код
#include "stdafx.h"
#include <stdio.h>
#include <Windows.h>
#include <iostream>
using namespace std;
#define L 100

int main ()
{	
	HANDLE H = GetStdHandle(STD_OUTPUT_HANDLE);
	setlocale(LC_ALL, "Russian");
	int i=0,j=0,k=0,min=0,max=0,dmax=0,dmin=0;
	int massiv[L];

	SetConsoleTextAttribute(H,7);
	cout << "Введите количество елементов в массиве (не менее 5)" << endl;
	SetConsoleTextAttribute(H,8);
	cin >> k;
	cout<<endl;

	while(k<5)//цикл если введено меньше чем 5 элементов
	{
		SetConsoleTextAttribute(H,7);
		cout << "Введите заново количество елементов в массиве (не менее 5)" << endl;
		SetConsoleTextAttribute(H,8);
		cin >> k;
	}
	
	SetConsoleTextAttribute(H,7);
	cout << "Введите массив не менее 5 элементов" << endl;
	SetConsoleTextAttribute(H,8);
	for(i = 0; i < k; i++)
		cin >> massiv[i];//ввод элементов массива
	
	
	cout << endl;
	
	i = 0;
	j = massiv[0] + massiv[1] + massiv[2] + massiv[3] + massiv[4];//изначально сумма ближайших 5ти элементов равна сумме первых 5ти элементов
	dmax = 1;//изначально максимальная сумма находится с певого элемента в массиве
	dmin = 1;//изначально минимальная сумма находится с певого элемента в массиве
	max = j;//максимальная сумма
	min = j;//минимальная сумма
	j=0;
	for(i; i <= (k - 5); i++)
	{
		j = massiv[i] + massiv[i+1] + massiv[i+2] + massiv[i+3] + massiv[i+4];//находим сумму 5ти соседних элементов
		if(j > max)//сравниваем сумму с максимальной
			{
				max = j;
				dmax = i + 1;//порядковый номер элемента, с которого начинается максимальная сумма
			}
		else
			if(j < min)//сравниваем сумму с минимальной
				{
					min = j;
					dmin = i + 1;//порядковый номер элемента, с которого начинается минимальная сумма
				}
	}
	SetConsoleTextAttribute(H,7);
	cout << "Результат: " << "max: " << max << "(" << dmax << ")" << " min: " << min << "(" << dmin << ")" <<endl; //вывод полученной информации
	cin.get();
	cin.get();
	return 0;
}
 
Текущее время: 15:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru