Форум программистов, компьютерный форум CyberForum.ru

Цикл с предусловием - C++

Восстановить пароль Регистрация
 
Belfegor
Ghost
 Аватар для Belfegor
172 / 172 / 6
Регистрация: 16.09.2012
Сообщений: 524
09.03.2013, 22:54     Цикл с предусловием #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
int main() {
    int s = 0;
    for (int i = 0; i <= 8; i++) {
        for (int j = 0; j <= 6; j++) {
            for (int k = 0; k <= 4; k++) {
                if (3 * i + 4 * j + 6 * k == 24) {
                    std::cout << "3: " << i << " 4: " << j << " 6: " << k << std::endl;
                    s++;
                }
            }
        }
    }
    std::cout <<"Number of times is: "<< s << std::endl;
    return 0;
}
как это переписать под while?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.03.2013, 22:54     Цикл с предусловием
Посмотрите здесь:

C++ [С++] Задача на цикл с предусловием
C++ Цикл с предусловием if else
C++ Цикл с предусловием и постусловием
C++ Цикл с предусловием, печать текста
цикл с предусловием C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kins
 Аватар для Kins
59 / 58 / 6
Регистрация: 03.02.2013
Сообщений: 167
09.03.2013, 23:21     Цикл с предусловием #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int s = 0, i=0, j = 0, k = 0 ;
    while(i <= 8) 
    {
        while( j <= 6)
        {
            while(k <= 4)
            {
                if (3 * i + 4 * j + 6 * k == 24)
                {
                    cout << "3: " << i << " 4: " << j << " 6: " << k << endl;
                    
                s++;}
            k++;}
        j++;}
    i++;}
    cout <<"Number of times is: "<< s << endl;
    system("pause");
цИкл

Добавлено через 8 минут
чутка не правильно
Belfegor
Ghost
 Аватар для Belfegor
172 / 172 / 6
Регистрация: 16.09.2012
Сообщений: 524
09.03.2013, 23:22  [ТС]     Цикл с предусловием #3
Цитата Сообщение от Kins Посмотреть сообщение
s++;}
* * * * * * k++;}
* * * * j++;}
* * i++;}
должно быть:
3: 0 4: 0 6: 4
3: 0 4: 3 6: 2
3: 0 4: 6 6: 0
3: 2 4: 0 6: 3
3: 2 4: 3 6: 1
3: 4 4: 0 6: 2
3: 4 4: 3 6: 0
3: 6 4: 0 6: 1
3: 8 4: 0 6: 0
Number of times is: 9
пробывал как у Вас....
Kins
 Аватар для Kins
59 / 58 / 6
Регистрация: 03.02.2013
Сообщений: 167
10.03.2013, 00:01     Цикл с предусловием #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int s = 0, i=0, j = 0, k = 0 ;
    while(i <= 8 ) 
    {
        while( j <= 6)
        {
            while(k <= 4)
            {
                if (3 * i + 4 * j + 6 * k == 24)
                {cout << "3: " << i << " 4: " << j << " 6: " << k << endl; s++;}
            k++;} if(k==5) k=0;
        j++;} if(j==7) j=0;
    i++;} 
    cout <<"Number of times is: "<< s << endl;
    system("pause");
Добавлено через 11 минут
Цитата Сообщение от Belfegor Посмотреть сообщение
как это переписать под while?
вообще, цикл while используется когда неизвестно сколдько раз понадобиться использовать последовательность действий, когда же число последовательностей известна, лучше использовать цикл for
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
10.03.2013, 00:31     Цикл с предусловием #5
Kins, обнуление k,j можно поставить перед началом циклов - красивше получится и ифов не надо.
Kins
 Аватар для Kins
59 / 58 / 6
Регистрация: 03.02.2013
Сообщений: 167
10.03.2013, 00:32     Цикл с предусловием #6
Цитата Сообщение от kazak Посмотреть сообщение
обнуление k,j можно поставить перед началом циклов
Можно, но там оно не так будет в глаза бросаться, как в моем варианте.) А если он не будет бросаться в глаза, о на него не обратят внимание, и возможно пропустят, и будут потом над аналогичной задачей сидеть и ломать голову изза невнимательности как и я.)))

Да и вообще я изза невнимательства часто над банальными траблами сижу по полчаса, как в это примере, или недавно изза того, что поставил заместо равно(==) присвоение(=).))
Yandex
Объявления
10.03.2013, 00:32     Цикл с предусловием
Ответ Создать тему
Опции темы

Текущее время: 14:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru