Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 05.02.2017
Сообщений: 36
1

Как реализовать цикл?

07.02.2017, 13:39. Показов 1602. Ответов 27
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
как сделать чтобы выполнялось это условие:
"Наращенным итогом вычислить сумму расходов до наступления бюджетного ограничения
т.е.
Проекты с 1-го по К-й включить в портфель" здесь нужно сделать массив
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
static int[] SumRasxod(int[] P, int n, int B)
        {
 
           
            int[] SR = new int[P.Length];
            while (SR[i] < B)
            {
               
                for (int i = 0; i < P.Length; i++)
                {
                    SR[i] = SR[i] + P[i];
                }
            }
            return SR;
        }
Миниатюры
Как реализовать цикл?  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.02.2017, 13:39
Ответы с готовыми решениями:

Цикл, как реализовать?
Здравствуйте for (int a = 0; a &lt; 9; a++) { var LastItem = listSaveAll.Find(s =&gt; s.Name ==...

Как реализовать бесконечный цикл?
Как реализовать вот такой бессконечный цикл суммы? \sum_{n=0}^{\infty } Я лишь придумал чтоб...

Как правильно реализовать бесконечный цикл?
Господа, такой вопрос. Я совсем ещё нуб в шарпе, да и в программировании собственно тоже )) ...

Как реализовать цикл ввода сообщений?
Программа должна выпольняться пока пользователь не введет слово Exit. Программа спрашивает...

27
557 / 534 / 225
Регистрация: 02.11.2016
Сообщений: 1,538
08.02.2017, 08:52 21
Author24 — интернет-сервис помощи студентам
Да! Нужно проверку SR < B убрать из условия цикла и добавить в тело цикла проверку на (SR + P[i]) < B. Если не выполняется условие, то цикл прерывать. Т.е. как то так:
C#
1
2
3
4
5
6
7
            while (i < P.Length)
            {
                if((SR + P[i]) > B) break;
                Portfel.Add(P[i]);
                SR += P[i];
                i++;
            }
1
0 / 0 / 0
Регистрация: 05.02.2017
Сообщений: 36
08.02.2017, 13:44  [ТС] 22
вот у меня так получилось доход по проектам в портфеле сосчитать, это правильно или не? а то боюсь что у меня может индексы перепутаны
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
static int SR = 0;
        
        static List<int> Portfel = new List<int>();
 
        static void SumRasxod(int[] P, int B, int[] D)
        {
            
            int SD = 0;
            int i = 0;
            while (i < P.Length)
            {
                if ((SR + P[i]) > B) break;
                Portfel.Add(P[i]);
                SR += P[i];
                i++;
            }
            Console.WriteLine("\nСумма расходов = {0}", SR);
 
            foreach (var x in Portfel)//перебор в списке
            {
                
                SD += D[i];
            }
            Console.WriteLine("Сумма доходов по проектам, включенным в портфель = {0}", SD);
 
        }
0
557 / 534 / 225
Регистрация: 02.11.2016
Сообщений: 1,538
08.02.2017, 13:57 23
Цитата Сообщение от Kristina424 Посмотреть сообщение
C#
1
2
3
4
5
foreach (var x in Portfel)//перебор в списке 
{ 
    SD += D[i]; 
} 
Console.WriteLine("Сумма доходов по проектам, включенным в портфель = {0}", SD);
Ну вот это однозначно неправильно! Не знаю, что Вы пытались таким образом найти, но нашли явно не сумму доходов!
Во-первых, если Вы используете цикл foreach для перебора, так в цикле нужно использовать элемент массива, который перебираете. В вашем случае, это переменная "х".
Во-вторых, в портфеле у Вас (по крайней мере в данной реализации) находятся только расходы! И простым суммированием элементов портфеля Вы найдете только сумму расходов, т.е. SR. Которая, собственно, у Вас и так найдена... Если Вам в портфеле нужно хранить и доходы и расходы по проектам, то нужно создать класс (или структуру) с именем Project, в нем объявить 2 поля - доход и расход и в программе использовать не массив расходов, а массив элементов класса проект.
0
0 / 0 / 0
Регистрация: 05.02.2017
Сообщений: 36
08.02.2017, 14:32  [ТС] 24
и где этот класс создавать? сразу же после namespace до класса Program? и потом прям везде все менять что ли нужно?
0
557 / 534 / 225
Регистрация: 02.11.2016
Сообщений: 1,538
08.02.2017, 14:57 25
Цитата Сообщение от Kristina424 Посмотреть сообщение
и где этот класс создавать? сразу же после namespace до класса Program?
Можно после namespace, можно в отдельном файле. Это как удобнее.
Цитата Сообщение от Kristina424 Посмотреть сообщение
и потом прям везде все менять что ли нужно?
Ну логику то менять не нужно будет. Только заменить обращение к массиву расходы на обращение к полю расход элемента массива классов проект.
0
0 / 0 / 0
Регистрация: 05.02.2017
Сообщений: 36
08.02.2017, 15:05  [ТС] 26
вот только с классами мы не работали еще толком, как там эти поля создавать вообще непонятно, просто написать как
C#
1
2
int[] D = new int[n];
int[] P = new int[n];
но тогда ошибки, кароч ладн спасибо за помощь но я все равно не знаю как это делать.. пусть так останется
0
557 / 534 / 225
Регистрация: 02.11.2016
Сообщений: 1,538
08.02.2017, 15:20 27
Да не за что! Если все таки решите доделать, обращайтесь!
0
0 / 0 / 0
Регистрация: 11.02.2017
Сообщений: 1
11.02.2017, 21:53 28
Скинь код весь, посмотрю что ты там накрутила
0
11.02.2017, 21:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.02.2017, 21:53
Помогаю со студенческими работами здесь

Как реализовать бесконечный цикл, без бесконечной работы кампухтера?
Ребят, у меня убывающий числовой ряд (то есть каждый последующий член меньше предыдущего) arcctg =...

Как реализовать цикл, чтобы при появлении консоли программа приложение не закрывалось?
Добрый день уважаемые! Подскажите пожалуйста как реализовать цикл, чтобы при появлении консоли...

Как реализовать бесконечный цикл While, но чтобы этот цикл не грузил процессор?
Допустим есть цикл: while (1) { ... } Как сделать так, чтобы бесконечный цикл не...

Цикл: Как реализовать цикл или что-то другое, чтобы возвращаться в окно редактирования с помощью букв "Y" и"N".
Как реализовать цикл или что-то другое чтобы не возвращаться в окно редактирования не с помощью...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
28
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru