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

Почему выводится разный результат? - C++

Восстановить пароль Регистрация
 
v1le
 Аватар для v1le
15 / 12 / 1
Регистрация: 01.06.2011
Сообщений: 205
06.02.2012, 17:29     Почему выводится разный результат? #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int main(){
    int mass[5]={3,5,3,5,3};
        int i=0,
        r=0;
    for(int i = 0; i < 5; i++)
                if(mass[i] % 3 == 0)
                {
                        r = i;
                        break;
                }
    printf("r=%d\n",r);
    r=0; i=0;
    while(i<5 && r==0){
         if(mass[i] % 3 == 0)
             r = i;
         i++;
    }
    printf("r=%d\n",r);
}
Задание: найти номер первого элемента кратного 3.

Реализовал в for и while, но почему-то выводится разный результат:
C++
1
2
r=0;
r=2;
В первом случае результат правильный, во втором почему то нет, в чём заключается моя ошибка?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
retmas
Жарю без масла
803 / 685 / 143
Регистрация: 13.01.2012
Сообщений: 1,580
06.02.2012, 17:32     Почему выводится разный результат? #2
потому что для первого элемента массива r==0, а в while у вас условие while(i<5 && r==0)
v1le
 Аватар для v1le
15 / 12 / 1
Регистрация: 01.06.2011
Сообщений: 205
06.02.2012, 17:37  [ТС]     Почему выводится разный результат? #3
Цитата Сообщение от retmas Посмотреть сообщение
потому что для первого элемента массива r==0, а в while у вас условие while(i<5 && r==0)
Поменял на r==-1 и сразу заработало, поспешил написать на форум, но всё равно спасибо
Байт
 Аватар для Байт
13993 / 8824 / 1231
Регистрация: 24.12.2010
Сообщений: 15,990
06.02.2012, 17:41     Почему выводится разный результат? #4
v1le, В for у тебя есть break, а в while нету
Yandex
Объявления
06.02.2012, 17:41     Почему выводится разный результат?
Ответ Создать тему
Опции темы

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