Пожалуйста Помогите Решить Задачу

merrs

New member
21.09.2014
1
0
#1
Ежемесячный расход топлива каждым из 4 судов пароходства за 5 месяцев представлен в виде матрицы (4Х5).Среднемесячная норма расхода для судов данного типа также задаётся. Определить:

Номер судна, сэкономившего наибольшее количество топлива.



Заранее Спасибо!!
 
23.08.2014
16
0
#2
Прочитать что такое двумерный массив в С++ и с чем его едят.
И как это работает.
C++:
for(int i(0); i < 4; i++)//Цикл на 4 прохода
for(int j(0); j < 5; j++)//Цикл на 3 прохода
C++:
#include <iostream>
#include <conio.h>

using std::cout;
using std::cin;
using std::endl;

void main()
{
setlocale(0, "Rus"); //Для "русской консольки"

double ships_fuel[4][5]; //Объявляем двумерный массив 4 строки 5 столбцов (4х5)
double middle_ships_fuel[4] = {0,0,0,0}; //Инициализируем массив среднего расхода топлива для корабля 0, иначе получим мусор

for(int i(0); i < 4; i++)//Цикл на 4 прохода
{
for(int j(0); j < 5; j++)//Цикл на 5 итераций
{
cout << "Введите расход судна [" << i+1 << "] за [" << j+1 << "] месяц: ";
cin >> ships_fuel[i][j]; 

middle_ships_fuel[i] += ships_fuel[i][j]; //Сумма всех элеменов 0 строки
if(j == 4)	//Когда все элементы просумированны 
middle_ships_fuel[i] /= 5; //Делим их на 5, получаем среднемесячный расход каждого судна
}
cout << endl; 
}

double saved_fuel(middle_ships_fuel[0]); //Инициализируем переменную для подсчета лучшего сэкономленного топлива первым элементом массива
int iteration(0); //Для подсчета номера судна 
for(int i(0); i < 4; i++)
{
if(middle_ships_fuel[i] < saved_fuel) //Если i элемент меньше первого элемента
{
saved_fuel = middle_ships_fuel[i]; //Сохраняем этот элемент
iteration = ++i; //Учитываем, что индексация с нуля. Для отображения номера корабля
}
}

cout << "Самое экономное судно №[" << iteration << "]. Его средний расход в месяц " 
<< saved_fuel << "л топлива." << endl;

_getch();
}