С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 Аватар для Kolbusdkiy
0 / 0 / 1
Регистрация: 14.10.2013
Сообщений: 112

Садовод

27.11.2013, 17:47. Показов 466. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите сделать задачу за циклом do while.
Садоводу нужно 18 кг минеральных удобрений. Получить все возможные варианты покупки удобрения, если в магазине продаются расфасовки по 5, 4 и 2 кг.
Вот я написал, но он не все варианты показывает.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream.h>
using namespace std;
int main() {
int kil=0, x=0, y=0, z=0;
do {
    do {
        do { 
    if(x*5+y*4+z*2==18){
    cout<<x<<' '<<y<<' '<<z<<' '<<endl;
    kil++;
    }
            z++;
            }while(z<=9);
         y++;
        }while(y<=4);
    x++;
    }while(x<=3);
    cout<<"Kilkist="<<kil;
    return 0;
}
0
12 / 12 / 2
Регистрация: 09.11.2013
Сообщений: 85
27.11.2013, 18:15
Цитата Сообщение от Kolbusdkiy Посмотреть сообщение
Помогите сделать задачу за циклом do while.
Садоводу нужно 18 кг минеральных удобрений. Получить все возможные варианты покупки удобрения, если в магазине продаются расфасовки по 5, 4 и 2 кг.
Вот я написал, но он не все варианты показывает.
Программа должна считать количество этих вариантов? Если да, то сколько ты насчитал вручную?
1
27.11.2013, 18:37

Не по теме:

Цитата Сообщение от Kolbusdkiy Посмотреть сообщение
kil
Kill с двумя l пишется.

0
17 / 17 / 5
Регистрация: 09.03.2013
Сообщений: 65
27.11.2013, 18:52
На for'ax + говнокод. Попробую подправить.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
using namespace std;
int main() {
    for(int i=0; i<10; i++)
        for(int j=0; j<10; j++)
            for(int c=0; c<10; c++)
                if(i*2+j*4+c*5==18)
                {
                    for(int q = 0; q<i; q++) cout << "2 ";
                    for(int w = 0; w<j; w++) cout << "4 ";
                    for(int e = 0; e<c; e++) cout << "5 ";
                    std::cout << "\n";
                }
    system("pause");
    return 0;
}
0
 Аватар для Kolbusdkiy
0 / 0 / 1
Регистрация: 14.10.2013
Сообщений: 112
27.11.2013, 19:16  [ТС]
Цитата Сообщение от IntelCoreDuo Посмотреть сообщение
Программа должна считать количество этих вариантов? Если да, то сколько ты насчитал вручную?
0 0 9
0 1 7
0 2 5
0 3 3
0 4 1
2 0 4
2 1 2
2 2 0
Всего: 8

Цитата Сообщение от SatanaXIII Посмотреть сообщение

Не по теме:


Kill с двумя l пишется.

Мне все равно с сколькими "l" оно пишется это моя переменная, как хочу так и называю.

Цитата Сообщение от Посмотреть сообщение
На for'ax + говнокод. Попробую подправить.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
using namespace std;
int main() {
    for(int i=0; i<10; i++)
        for(int j=0; j<10; j++)
            for(int c=0; c<10; c++)
                if(i*2+j*4+c*5==18)
                {
                    for(int q = 0; q<i; q++) cout << "2 ";
                    for(int w = 0; w<j; w++) cout << "4 ";
                    for(int e = 0; e<c; e++) cout << "5 ";
                    std::cout << "\n";
                }
    system("pause");
    return 0;
}
Мне на for'е не нужно... Нужен do while.
Если интересно, то вот эта задачка только за фором.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream.h>
using namespace std;
int main() {
int kil=0;
   for(int x=0; x<=3; x++)
        for(int y=0; y<=4; y++)
            for(int z=0; z<=9; z++)
               if(x*5+y*4+z*2==18){
                   cout<<x<<' '<<y<<' '<<z<<' '<<endl;
                   kil++;
               }
               cout<<"Kilkist="<<kil;
               return 0;
}
0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
28.11.2013, 08:36
Цитата Сообщение от Kolbusdkiy Посмотреть сообщение
это моя переменная, как хочу так и называю
Справедливо.

Цитата Сообщение от Kolbusdkiy Посмотреть сообщение
Нужен do while.
Если интересно, то вот эта задачка только за фором.
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
27
28
29
30
31
32
33
#include <iostream.h>
 
int kil=0;
int x = 0, y = 0, z  = 0;
 
   do
     {
     y = 0;
     do
       {
       z = 0;
       do
         {
         if( x*5 + y*4 + z*2 == 18 )
           {
           cout<<x<<' '<<y<<' '<<z<<' '<<endl;
           kil++;
           }
         z++;
         }
         while( z<=9 );
       y++;
       }
       while( y<=4 );
     x++;
     }
   while( x<=3 );
 
cout<<"Kilkist="<<kil;
 
cin.ignore();
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru