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

Не работает простой цикл - C++

Восстановить пароль Регистрация
 
florgas
 Аватар для florgas
5 / 4 / 0
Регистрация: 28.09.2010
Сообщений: 339
16.12.2012, 01:09     Не работает простой цикл #1
Необходимо для решения олимпиады написать программу.
Вроде написал, а цикл внутри цикла отказывается работать. Если вместо внутреннего цикла поставить хотя бы "cout << "Hi";", то все работает, а если цикл в цикле, то просто программа прогоняется один раз как будто нет внешнего цикла. В чем проблема?)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>;
using namespace std;
 
int main(){
    int s=256, t=0, i=8, d=1, m=5, z=1000;
    while (m<100){
        while (s>0){
            t=t+d*(s%i);
            s=s/i;
            d=d*10;
            i=i*m;          
        }
         if (t<z){
         z=t;
         }
        m+=1;
    }
    cout << z;
    system("pause");
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OdessaNA
 Аватар для OdessaNA
19 / 19 / 0
Регистрация: 10.01.2011
Сообщений: 240
16.12.2012, 02:24     Не работает простой цикл #2
... у меня она работала в цикле. Результат " z = 320 ".
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
#include <iostream>;
#include <conio.h>
using namespace std;
 
int main(){
    int s=256, t=0, i=8, d=1, m=5, z=1000;
    while (m<100)
    {
        while (s>0)
        {
            t=t+d*(s%i);
            s=s/i;
            d=d*10;
            i=i*m;          
        }
         if (t<z)
         {
            z=t;
         }
        m+=1;
    }
    cout << z;
    system("pause");
    _getch();
    return 0;
}
Asante
18 / 18 / 0
Регистрация: 05.10.2011
Сообщений: 92
16.12.2012, 02:34     Не работает простой цикл #3
аналогично ,все вроде пашет
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
16.12.2012, 03:04     Не работает простой цикл #4
Цитата Сообщение от florgas Посмотреть сообщение
while (s>0){
* * * * * * t=t+d*(s%i);
* * * * * * s=s/i;
* * * * * * d=d*10;
* * * * * * i=i*m;* * * * *
* * * * }
После первого завершения работы etogo внутреннего цикла, s будет равна 0. Сколько бы ещё раз внешний цикл не пытался его повторить, этот цикл работать не будет, т.к. while (s>0), в то время как s=0
Yandex
Объявления
16.12.2012, 03:04     Не работает простой цикл
Ответ Создать тему
Опции темы

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