Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.11.2011, 02:07   #1
Blood_wolf
Новичок
Джуниор
 
Регистрация: 30.11.2011
Сообщений: 1
Печаль Задание на С (работа с массивами)

В ячейках массива находится температура каждого дня недели (7 дней).
а) Найти самую высокую и самую низкую температуру.
б) Температура какого дня ближе всего к средней температуре за неделю.
в) Отсортировать массив по убыванию.
г) Распечатать номера дней с температурой находящейся в диапазоне [a, b] (a, b – вводить с клавиатуры )
Blood_wolf вне форума Ответить с цитированием
Старый 30.11.2011, 03:24   #2
ProgerWin
 
Аватар для ProgerWin
 
Регистрация: 28.11.2011
Сообщений: 9
По умолчанию

Код:

#include "stdafx.h"
using namespace std;
#include "cmath"

int _tmain(int argc, _TCHAR* argv[])
{
	const int ArrSize = 7;	
	int arr[ArrSize] = {0};
	int i;

	for (i=0; i < ArrSize; i++)
	{
		cout << "Enter " << i+1 << " : ";
		cin >> arr[i];
	}
	
	int min = arr[0], int max = arr[0];	// самая высоккая и самая низкая температура

	// нахождение максимальной и минимальной температуры
	for (i=0; i<ArrSize; i++)
	{
		if (arr[i] > max)
			max = arr[i];
		if (arr[i] < min)
			min = arr[i];
	}

	// ищем среднюю температуру
	int sred, summ = 0;
	for (i=0; i<ArrSize; i++)
		summ += arr[i];

	sred = summ / ArrSize;
	
	// ищем день когда температура была ближе всего к средней
	int day;	// номер дня 
	int delta = fabs(float(sred - arr[0]));
	int deltaTemp;	// разница температур

	for (i=1; i<ArrSize; i++)
	{
		deltaTemp = fabs(float(sred - arr[i]));

		if (deltaTemp < delta)
		{
			day = i;
			delta = deltaTemp;
		}
	}

	for (i=0; i<ArrSize; i++)
		cout << arr[i] << "  ";

	cout << endl;

	cout << "min = "  << min	<< endl
		 << "sred = " << sred	<< endl
		 << "max = "  <<  max	<< endl;


	cout << endl;
	
	// сортировка по убыванию
	bool t = true;
	int temp;
	while (t)
	{
		t = false;
		for (i=0; i<ArrSize-1; i++)
			if (arr[i] < arr[i+1])
			{
				temp = arr[i];
				arr[i] = arr[i+1];
				arr[i+1] = temp;
				t = true;
			}
	}

	for (i=0; i<ArrSize; i++)
		cout << arr[i] << "  ";

	cout << endl;

	int a,b;
	cout << "Enter a: ";
	cin >> a;
	cout << "Enter b: ";
	cin >> b;

	for (i=a; i<=b; i++)
		cout << i << " " << arr[i] << endl;


	cin.get();
	cin.get();
	return 0;
}
ProgerWin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задание с массивами и множеством Mr_sniper Паскаль, Turbo Pascal, PascalABC.NET 3 04.10.2011 10:55
Задание с массивами:) neomax38 Помощь студентам 2 22.11.2010 11:28
Задание с массивами:) neomax38 Помощь студентам 2 11.11.2010 17:50
Работа с массивами anton1911 Паскаль, Turbo Pascal, PascalABC.NET 0 09.09.2010 19:17
бэйсик.Задание с одномерными массивами Дмитрий286 Помощь студентам 2 27.05.2010 01:32