Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
PinkPink
9 / 9 / 5
Регистрация: 10.05.2012
Сообщений: 288
#1

Циклы ведут себя как-то странно - C++

20.11.2012, 19:43. Просмотров 374. Ответов 8
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
using namespace std;
int main()
{
    float A[]={1,2,3,4,5,6,7,8,9,10};
    float MAX=0;
    int I;
    int sum=0;
    for(I=0;I<10;I++)
    if(I%2==0) sum+=A[I];
 
    system("pause");
    return 0;
}
Здесь например, значение sum в результате равно единице. Я не могу понять.. цикл вообще не крутится? за ним просто следует условие? но тогда, что здесь является телом цикла?? должна быть ошибка если тело цикла отсутствует.

а вот в другом примере
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
#include <iostream>
#include <string>
#include <Windows.h>
 
using namespace std;
int main()
{
    int A[10]={3,4,5,1,3,5,1,3,4};
    float MAX=1;
    short I;
    int sum=0;
    for(I=0;I<10;I++)
        if (A[I]>MAX) MAX=A[I];
    for(I=0;I<5;I++)
    {
        switch (I)
        {
        case 1: MAX+=1;
        case 2: MAX-=1;
        case 3: MAX*=2;
        case 4: MAX/=2;
        case 5: MAX+=1+MAX/2;
        }
    }
    system("pause");
    return 0;
}
Аналогичным образом осуществляется поиск максимума, но почему-то этот цикл выполняется без проблем и не проскакивает. В чём дело?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2012, 19:43
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Циклы ведут себя как-то странно (C++):

Цикл While странно себя ведет
Пишу программу которая считывает из каждой строки массив неизвестной длины.Цикл...

cin странно себя ведет
Здравствуйте! Если в самом начале в майне написать char tch;...

Странно видёт себя программа
Написал программу конвертор валют но при выборе валюты программа сразу пишет...

Каретка странно себя ведёт
С недавнего времени , каретка в Visual studio начала менятся , при нажатии стр....

Странно ведёт себя функция fgets
(в файле лежит предложение на английском) int main() { FILE *f; char str;...

Странно себя ведёт массив в классе.
Доброго времени суток всем. Есть у меня некий класс class * { private int...

8
Issues
430 / 365 / 149
Регистрация: 06.08.2012
Сообщений: 961
20.11.2012, 19:49 #2
Цитата Сообщение от PinkPink Посмотреть сообщение
Здесь например, значение sum в результате равно единице.
Только что проверил у себя, у меня результат 25.
0
Kuzia domovenok
2212 / 1981 / 443
Регистрация: 25.03.2012
Сообщений: 6,959
Записей в блоге: 1
20.11.2012, 19:49 #3
Цитата Сообщение от PinkPink Посмотреть сообщение
switch (I) { case 1: MAX+=1; case 2: MAX-=1; case 3: MAX*=2; case 4: MAX/=2; case 5: MAX+=1+MAX/2; }
C++
1
2
3
4
5
6
7
8
 switch (I)
        {
        case 1: MAX+=1; break;
        case 2: MAX-=1; break;
        case 3: MAX*=2; break;
        case 4: MAX/=2; break;
        case 5: MAX+=1+MAX/2; 
        }
0
PinkPink
9 / 9 / 5
Регистрация: 10.05.2012
Сообщений: 288
20.11.2012, 19:52  [ТС] #4
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
 switch (I)
        {
        case 1: MAX+=1; break;
        case 2: MAX-=1; break;
        case 3: MAX*=2; break;
        case 4: MAX/=2; break;
        case 5: MAX+=1+MAX/2; 
        }
здесь не нужно брейк, все кейсы нужно выполнить, начиная с I-го
тобишь, то что мы "проваливаемся" дальше - это так задумано

Добавлено через 54 секунды
а как у вас будет вести себя вот такой код?
float A[]={1,2,3,4,5};
float MAX;
int I;
for(I=0;I<5;I++)
if (I>2) A[I]=A[I-1]*2;

у меня массив остаётся без изменений т.к. опять таки цикл не крутится(
если убрать условие, то цикл крутится. с ним - нет
0
Issues
430 / 365 / 149
Регистрация: 06.08.2012
Сообщений: 961
20.11.2012, 19:56 #5
PinkPink, попробуйте перестроить проэкт.

Добавлено через 25 секунд
в первом случае.
0
PinkPink
9 / 9 / 5
Регистрация: 10.05.2012
Сообщений: 288
20.11.2012, 19:58  [ТС] #6
Цитата Сообщение от SeregaC++ Посмотреть сообщение
PinkPink, попробуйте перестроить проэкт.

Добавлено через 25 секунд
в первом случае.
т.е. во всех этих ситуациях цикл всё-таки должен крутиться?
0
Issues
430 / 365 / 149
Регистрация: 06.08.2012
Сообщений: 961
20.11.2012, 20:02 #7
PinkPink, у меня всё крутится.

Добавлено через 46 секунд
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()
{
    float A[]={1,2,3,4,5,6,7,8,9,10};
    float MAX=0;
    int I;
    int sum=0;
    for(I=0;I<10;I++)
        if(I%2==0)
            sum+=A[I];
    cout << sum << endl;
 
    system("pause");
    return 0;
}
Добавлено через 21 секунду
вставьте код, и перестройте проэкт.
0
PinkPink
9 / 9 / 5
Регистрация: 10.05.2012
Сообщений: 288
20.11.2012, 20:20  [ТС] #8
по вашему совету перестроила проект, но ошибки всё равно были. потом, скопировала ваш текст, как вы сказали, вставила, ещё раз перестроила и стало работать. причём и мой код после этого тоже стал работать.
так и не поняла что за ерунда творилась)
0
Issues
20.11.2012, 20:25     Циклы ведут себя как-то странно
  #9

Не по теме:

PinkPink,

0
20.11.2012, 20:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.11.2012, 20:25
Привет! Вот еще темы с ответами:

класс string. Программа странно себя ведет
Программа странно себя ведет. После первого ввода имени и номера сотрудника,...

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

Копирую строчки двумерного массива и программа начинает вести себя странно
В общем, есть некоторый полузапиленный код. #include &lt;iostream&gt; #include...

Работаю с файлом *.txt. Прога ведет себя странно если последняя строка файла пуста. Почему так?
Добрый день! Помогите пожалуйста с небольшой проблемой. Что хотел сделать:...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru