Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
1 / 1 / 2
Регистрация: 23.01.2013
Сообщений: 113
1

Как пропускать каждые 3 элемента

16.08.2019, 10:38. Показов 1158. Ответов 4
Метки нет (Все метки)

Есть цикл отображения картинок, так как мне влом было высчитывать позиции на несколько строк вниз, я ограничился 2мя

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
for (int i = rg; i <= rg2; i++)
    {
                
        
            
        if (i <= 3 || i >= 7 && i <= 9 || i >= 13 && i <= 15 || i >= 19 && i <= 21 )
        {
                    // first line
                 }
                else if (i >= 4 || i >= 10 && i <= 12 || i >= 16 && i <= 18 || i >= 22 && i <= 24)
                {
                   // second line
                }
}
выглядит очень тупо,
в 1м брать первые 3 потом пропускать 3 и так каждый раз,
а во втором пропустить 3 и так далее, тоже самое, может вам придет в голову формула, чтобы до бесконечности не писать условия..
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.08.2019, 10:38
Ответы с готовыми решениями:

Вывести на экран каждые три элемента массива размером 15
Как написать задачу? Вывести на экран каждые три элемента массива размером 15

Сформируйте и выведите на экран массив, каждые три последовательных элемента которого составлены по след. правилу
Доброе время суток! Почти никогда не писал на форум, как то сам все обычно сочинял, но тут...

Напишите программу формирования и вывода массива, каждые три последовательных элемента в строке которого составлены по след. правилу
Доброе время суток! Почти никогда не писал на форум, как то сам все обычно сочинял, но тут...

Как пропускать пустые ячейки?
Уважаемые форумчане проблема такова: Значения из datagridview переносятся в таблицу word, но при...

4
Эксперт C
25947 / 16162 / 3467
Регистрация: 24.12.2010
Сообщений: 35,360
16.08.2019, 10:48 2
csp, Что-то в таком роде
C++
1
2
3
4
5
6
int step = 1;
for(int i = 0; i<N ; i+=step) {
  ...
  if (i%3==2) step = 3;
  else if (i%3==0) step = 1;
}
0
357 / 224 / 120
Регистрация: 25.06.2019
Сообщений: 828
16.08.2019, 10:51 3
Лучший ответ Сообщение было отмечено csp как решение

Решение

Код
if(i/3%2) second line
else first line
ток i>=0 или if((i-1)/3%2)
1
Эксперт C
25947 / 16162 / 3467
Регистрация: 24.12.2010
Сообщений: 35,360
16.08.2019, 10:57 4
Со строчками 4-5 можно поиграться по разному. Смысл в том, что шаг цикла тоже можно изменять.
В данном случае должны получиться такие значения i: 0,1,2,5,8...
Не. Ошибся я. Не то получается. Да и пропускается не 3, а 2

Добавлено через 4 минуты
Тогда так
C++
1
2
3
4
5
6
int step = 1;
for(int i = 0; i<N ; i+=step) {
  ...
  if (i%3==2) step = 4;
  else if (i%3==0) step = 1;
}
0, 1, 2, 6, 7, 8, 12, 13, 14, 18...
0
1 / 1 / 2
Регистрация: 23.01.2013
Сообщений: 113
16.08.2019, 11:06  [ТС] 5
спасибо ответ выбран Pvt
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.08.2019, 11:06

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Как Пропускать пустые ячейки В DBGrid
Ребята помогите уже неделю не могу решить задачку. У меня есть ADOQuery ADOTable DBGrid И Кнопка....

Как в foreach пропускать определенный объект
Добрый день, код выполняет составление частотного анализа текста по символами. Через foreach. Но...

Как пропускать пустые ячейки в массиве?
При проходе через цикл for по массиву. Выдаёт ошибку: Undefined offset Дело в том что массив...

Как в запросе пропускать условие если данных нет
Помогите с запросом. В таблице есть логическое поле (checkbox). Есть форма поиска для запроса....


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

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

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