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

Цикл с четными и нечетными числами - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
z-z
169 / 168 / 30
Регистрация: 22.06.2011
Сообщений: 973
27.11.2011, 11:10     Цикл с четными и нечетными числами #1
как мне сделать цикл, желательно for, который бы перебирал цифры от 0 до 10, и если цифра четная, запускал один вложенный цикл, а в другом случае второй вложенный цикл?
пробовал внутри цикла условие i%2=0, но почему то либо не работает, либо зависает)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.11.2011, 11:10     Цикл с четными и нечетными числами
Посмотрите здесь:

C++ Вначале заполнить массив элементами с четными индексами, а затем - с нечетными.
Поменять местами элементы массива с четными и нечетными индексами (через указатели) C++
Из 1 массива сделать 2 с четными и нечетными элементами C++
Поменять местами элементы массива с четными и нечетными индексами используя указатели C++
C++ Преобразовать массив так, чтобы элементы с четными и нечетными значениями чередовались
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
greshnikk
 Аватар для greshnikk
30 / 30 / 0
Регистрация: 05.11.2008
Сообщений: 162
27.11.2011, 11:17     Цикл с четными и нечетными числами #2
Цитата Сообщение от z-z Посмотреть сообщение
i%2=0
C++
1
i % 2 == 0
z-z
169 / 168 / 30
Регистрация: 22.06.2011
Сообщений: 973
27.11.2011, 11:27  [ТС]     Цикл с четными и нечетными числами #3
greshnikk, я это пробовал. вот код, может скажете, где ошибка
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
for (var iy:int = 0; iy <10; iy++)
{
    if(iy % 2 == 0)
    {
        for (var ix:int = 0; ix <10; ix++)
        {
            var kletka:zzz = new zzz();
            kletka.x = 20 * ix;
            kletka.y = 20 * iy;
            addChild(kletka);
        }
    } else
    
    {
        for (var ix:int = 0; ix <10; ix++)
        {
            var kletka:zzz = new zzz();
            kletka.x = 20 * ix+30;
            kletka.y = 20 * iy+30;
            addChild(kletka);
        }
    }
 
}
Krasti
27 / 27 / 3
Регистрация: 07.11.2010
Сообщений: 140
27.11.2011, 11:36     Цикл с четными и нечетными числами #4
Цитата Сообщение от z-z Посмотреть сообщение
var iy:int
Это из паскаля что ли объявление? Или в С такое тоже работает? Ни разу не встречал )))
z-z
169 / 168 / 30
Регистрация: 22.06.2011
Сообщений: 973
27.11.2011, 11:37  [ТС]     Цикл с четными и нечетными числами #5
Krasti, это фообще ActionScript из флеша)) просто циклы мне из сипипи знакомы, поэтому здесь спросил, да и тут из флеша нет ничего)
Диман56
22 / 22 / 0
Регистрация: 07.11.2011
Сообщений: 154
27.11.2011, 11:40     Цикл с четными и нечетными числами #6
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
#include <conio.h>
main()
{
int i,j;
for (i=0;i<10;i++)
{
if (i%2==0)
{
for(j=0;j<10;j++)
{
//делаете,что надо
}
}
else
{
for (j=0;j<10;j++)
{
//делаете, что надо
}
}
}
}
greshnikk
 Аватар для greshnikk
30 / 30 / 0
Регистрация: 05.11.2008
Сообщений: 162
27.11.2011, 11:43     Цикл с четными и нечетными числами #7

Не по теме:

О, узнаю программирование во Flash, а точнее AS.



Ошибки в вход в цикл нету. Скорее всего, проблема в внутренней реализацией. Насколько я понял, zzz наследуется от Object. Проверьте реализацию конструктора.
Советую запустить с отладчиком и проверить что у Вас в коде происходит.
z-z
169 / 168 / 30
Регистрация: 22.06.2011
Сообщений: 973
27.11.2011, 11:47  [ТС]     Цикл с четными и нечетными числами #8
greshnikk, не совсем понял про реализацию)) тут вот что, если взять отдельный цикл такой
C
1
2
3
4
5
6
7
8
9
10
for (var iy:int = 0; iy <10; iy++)
{
    for (var ix:int = 0; ix <10; ix++)
        {
            var kletka:zzz = new zzz();
            kletka.x = 20 * ix;
            kletka.y = 20 * iy;
            addChild(kletka);
        }
}
то этот код работает нормально, он рисует объекты kletka в виде матрицы 10х10, но я хочу, чтоб при четных iy рисовалось по одному циклу, при нечетных - по другому, поэтому замутил этот код)
greshnikk
 Аватар для greshnikk
30 / 30 / 0
Регистрация: 05.11.2008
Сообщений: 162
27.11.2011, 11:56     Цикл с четными и нечетными числами #9
1. Почему не хотите воспользоваться отладчиком и посмотреть что происходит у Вас в программе ?
2. Попробуйте для начала сделать так:
ActionScript 3
1
2
3
4
for (var iy:int = 0; iy <10; iy++)
{
trace(iy%2)
}
Грубый вариант отладчика, так сказать.
z-z
169 / 168 / 30
Регистрация: 22.06.2011
Сообщений: 973
27.11.2011, 12:03  [ТС]     Цикл с четными и нечетными числами #10
greshnikk, то, что вы предложили, выводит 0101010101. а отладчик, я так понял это сама прога, в которой код пишется)) он выводит ошибку 1151 из перечисленных здесь http://help.adobe.com/ru_RU/FlashPla...lerErrors.html
то есть если переменые разного типа, но у меня вроде одного типа переменные)
greshnikk
 Аватар для greshnikk
30 / 30 / 0
Регистрация: 05.11.2008
Сообщений: 162
27.11.2011, 12:11     Цикл с четными и нечетными числами #11
Цитата Сообщение от z-z Посмотреть сообщение
greshnikkто есть если переменые разного типа, но у меня вроде одного типа переменные)
Елки-палки, ну конечно он будет писать что переменные разного типа. Этим c++ всю голову мне заморочили. Надо было ведь создавать в этой теме. Какие по Вашему параметры принимает оператор взятия остатка ? Если Вы думаете, что int, то ошибаетесь. Он принимает значения Number. Замените тип int на Number, посмотрим что получится.
Вот из-за таких тонкостей и надо создавать тему в соответствующей ветке. С++ и AS это совсем не одно и тоже.
z-z
169 / 168 / 30
Регистрация: 22.06.2011
Сообщений: 973
27.11.2011, 12:22  [ТС]     Цикл с четными и нечетными числами #12
greshnikk, я тоже пожалел, что здесь создал тему, ведь первоначально тупо про цикл хотел спросить)) изменил на Number, теперь выдает ошибку
1084: Синтаксическая ошибка: rightparen перед colon.
в инете нормальной формулировки не нашел) и уже запутался сам, код весь такой должен быть?
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
for (var iy:Number = 0; iy <10; iy++)
{
        if(iy:Number % 2 == 0)
        {
                for (var ix:Number = 0; ix <10; ix++)
                {
                        var kletka:zzz = new zzz();
                        kletka.x = 20 * ix;
                        //kletka.y = 20 * iy;
                        addChild(kletka);
                }
        } else
        
        {
                for (var ix:Number = 0; ix <10; ix++)
                {
                        var kletka:zzz = new zzz();
                        kletka.x = 20 * ix+30;
                        //kletka.y = 20 * iy+30;
                        addChild(kletka);
                }
        }
 
}
две строки закоментил чтобы рисовалась только одна строка матрицы
greshnikk
 Аватар для greshnikk
30 / 30 / 0
Регистрация: 05.11.2008
Сообщений: 162
27.11.2011, 12:25     Цикл с четными и нечетными числами #13
Цитата Сообщение от z-z Посмотреть сообщение
ActionScript 3
1
(iy:Number % 2 == 0)
После iy не надо использовать :Number.

По поводу отладчика - установите проект с Release на Debug (если такой не стоит)(Расположено вверху, на панели инструментов) и поставьте точку останова на нужный код (Слева от кода надо щелкнуть мышкой, появится красное пятнышко). Запустите на исполнение и программа откроется в режиме отладки, где можно шаг за шагом проследить поведение программы.
z-z
169 / 168 / 30
Регистрация: 22.06.2011
Сообщений: 973
27.11.2011, 12:41  [ТС]     Цикл с четными и нечетными числами #14
неа, вернулась предыдущая ошибка про конфликт
Монтажный кадр 1, слой "Слой 1", кадр 1, строка 16 1151: Конфликт с определением ix в пространстве имен internal.
Монтажный кадр 1, слой "Слой 1", кадр 1, строка 18 1151: Конфликт с определением kletka в пространстве имен internal.
может он оба цикла сразу читает и поэтому путается?))

Добавлено через 13 минут
попробовал во втором цикле вместо ix и kletka другие переменные, но теперь просто второй цикл не выполняется, или его не видно)
greshnikk
 Аватар для greshnikk
30 / 30 / 0
Регистрация: 05.11.2008
Сообщений: 162
27.11.2011, 12:49     Цикл с четными и нечетными числами #15
1. Что у Вас с отладчиком ? Получилось запустить ? Потому что это очень важный инструмент программирования сильно облегчающий обнаружение ошибки.
2. Попробуйте после первого
ActionScript 3
1
for (var ix:Number = 0; ix <10; ix++)
поставить
ActionScript 3
1
 trace ("1" + iy%2)
, а после второго
ActionScript 3
1
trace("2" + iy%2)
. Цель - узнать, заходит ли программа в первый цикл все 10 раз, или же только 5 раз, а вторые 5 раз где-то теряются.
z-z
169 / 168 / 30
Регистрация: 22.06.2011
Сообщений: 973
27.11.2011, 12:56  [ТС]     Цикл с четными и нечетными числами #16
при подстановке трейс выводит десять раз "10", потом десять раз "21", потом опять повторяется 5 или 6 раз каждая цифра)
но переменные я все таки заменил, тогда ошибок нет уже. но получается, что в окне рисует результат обоих циклов в одной строчке, то есть y наверно не меняется
greshnikk
 Аватар для greshnikk
30 / 30 / 0
Регистрация: 05.11.2008
Сообщений: 162
27.11.2011, 12:58     Цикл с четными и нечетными числами #17
Цитата Сообщение от z-z Посмотреть сообщение
то есть y наверно не меняется
Именно так. Проблемы с циклом нету, он работает корректно. Проблема заключается в том, что Вы уже дальше в нем делаете.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.11.2011, 13:00     Цикл с четными и нечетными числами
Еще ссылки по теме:

Динамические массивы: разбить исходный массив на два - с четными и нечетными элементами C++
C++ Разделить последовательность на два массива с четными и нечетными номерами соответственно
Заполнить массив чередующимися четными и нечетными числами C++

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

Или воспользуйтесь поиском по форуму:
z-z
169 / 168 / 30
Регистрация: 22.06.2011
Сообщений: 973
27.11.2011, 13:00  [ТС]     Цикл с четными и нечетными числами #18
greshnikk, уже поменял что то, вроде рисунок весь выводит, но все равно не так, как мне надо. сам попробую разобраться) спасибо
Yandex
Объявления
27.11.2011, 13:00     Цикл с четными и нечетными числами
Ответ Создать тему
Опции темы

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