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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.08.2019, 21:20   #1
elias45
Новичок
Джуниор
 
Регистрация: 22.08.2019
Сообщений: 1
По умолчанию [C#] Помогите в решении задачи, есть код

Доброго времени суток форумчане. Помогите в решении задачи

Код:
// Заказчик просит вас написать приложение по учёту финансов
// и продемонстрировать его работу.
// Суть задачи в следующем: 
// Руководство фирмы по 12 месяцам ведет учет расходов и поступлений средств. 
// За год получены два массива – расходов и поступлений. 
// Определить прибыли по месяцам.
// Количество месяцев с положительной прибылью.
// Добавить возможность вывода трех худших показателей по месяцам, с худшей прибылью, 
// если есть несколько месяцев, в некоторых худшая прибыль совпала - вывести их все.
// Организовать дружелюбный интерфейс взаимодействия и вывода данных на экран

// массив доходов
int[] dohod = { 55000, 85000, 40000, 70000, 10000, 20000, 45000, 90000, 85000, 45000, 35000, 75000 };
// массив расходов
int[] rashod = { 35000, 85000, 35000, 75000, 45000, 45000, 25000, 65000, 50000, 40000, 15000, 10000 };

int[] result1 = new int[12]; // массив прибыли
int count1 = 0; // счетчик цикла
int count = 1; // индекс

Console.WriteLine($"{"Месяцы"}{"\t\tДоходы"}{"\t\tРасходы"}{"\t\tПрибыль"}");
int j = 0, p = 0, l = 0; // Индексы для массивов 

while (count1 < 12) // выполяем цикл пока каунт1 меньше 12
{
dohod[count1] = dohod[count1]; // добавляем элемент в доходы
rashod[count1] = rashod[count1]; // добавляем элемент в расходы
result1[l] = dohod[p++] - rashod[j++]; // добавляем результат в элемент прибыли
Console.WriteLine($"{count++}\t\t{dohod[count1]}\t\t{rashod[count1]}\t\t{result1[l]}"); // вывод данных

l++; count1++; // инкременты индексов 
}

Console.Write($"Месяцы с положительной прибылью: ");

int m = 1; // Индексная переменная для вывода месяцев с прибылью

for (int i = 0; i < result1.Length; m++, i++)
{ 
if (result1[i] > 0)
{
Console.Write($"{m} ");
} 
}
P.S: Подскажите люди добрые, как я могу реазиловать вывод 3 и только 3 месяцев с наихудшей прибылью
______________________
Форматируйте код и используйте тег [CODE] (кнопка [CODE] в форме сообщения) при вставке кода на форум. Подробнее в FAQ

Последний раз редактировалось Вадим Мошев; 23.08.2019 в 12:23.
elias45 вне форума Ответить с цитированием
Старый 23.08.2019, 14:53   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,306
По умолчанию

Любых три месяца?
У тебя есть массив result1 в котором хранится прибыль по месяцам.
Сортируешь по возрастанию и первые три элемента выводишь.
Если массив сделать двумерным, то можно назвать и номера месяцев и прибыль по ним.

Три подряд месяца? Минимальная итоговая прибыль.
Суммируешь первые три элемента массива result1 и сумму сохраняешь во временной переменной.
Организуешь цикл, в котором из суммы вычитаешь первый месяц и прибавляешь следующий. Результат сравниваешь с временной переменной.
Если текущая сумма меньше той, которая хранится во временной переменной, то значение временной переменной меняешь на новое. Продолжаешь до конца года. Если отдельно хранить и номер "головного" месяца (первый из тройки), то можно назвать эти три месяца и прибыль по ним.
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите в решении задачи!!! саша 88 Фриланс 3 09.01.2019 03:46
Помогите в решении задачи Virel7779 Паскаль, Turbo Pascal, PascalABC.NET 20 10.11.2016 22:55
помогите в решении задачи. gaddam Паскаль, Turbo Pascal, PascalABC.NET 2 24.11.2008 19:06
Помогите в решении задачи! Toxass Общие вопросы Delphi 16 19.11.2008 22:06