Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
 Аватар для breeve
78 / 78 / 29
Регистрация: 01.08.2009
Сообщений: 177

Цикл с увеличивающимся шагом

02.10.2010, 23:04. Показов 2834. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Необходимо написать цикл шаг которого будет увеличиваться.
Допустим есть массив из 100 int переменных равных нулю.
И есть последовательность:
0 2 5 9 14 20 27 35 44 ...
Суть последовательности заключается в том что промежуток между числами растет сначала 1, затем 2, 3 и тд.
И нужно в каждый элемент массива, соот. числу последовательности, приравнять к 1.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.10.2010, 23:04
Ответы с готовыми решениями:

Цикл for c шагом 0,2
#include <iostream> #include <conio.h> using namespace std; int main() { setlocale(LC_ALL, "Rus"); for (double i = 2.2; i...

Цикл For с шагом 0.1, 0.01 и т.д.
Помогите пожалуйста, как зделать цикл For с шагом 0.1 или 0.01. Например, задаю диапазон от 0 до 10 с шагом 0.1, получается 100...

Найти сумму рядов, цикл с шагом
Не пойму как составить цикл от 1 до 4 с шагом 0.2 что бы прога работала суму посчитать вот этого уравнения log(4*x+8)/exp(-x)+sin(2*x) ...

8
Эксперт С++
516 / 421 / 92
Регистрация: 23.09.2010
Сообщений: 1,165
02.10.2010, 23:10
Попробуй так:
C++
1
2
3
4
for(size_t i=1, j=1;j<100;i++,j+=i)
{
arr[j]=1;
}
1
 Аватар для breeve
78 / 78 / 29
Регистрация: 01.08.2009
Сообщений: 177
02.10.2010, 23:14  [ТС]
Ты сам то понял что написал?)
i тогда вообще зачем?


Вообщем вопрос заключается в том, как математически описать такую последовательность.
0
Эксперт С++
516 / 421 / 92
Регистрация: 23.09.2010
Сообщений: 1,165
02.10.2010, 23:22
Вот весь код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <cstdlib>
#include <cstring>
 
int arr[100];
 
int main()
{
    using namespace std;
 
    memset(arr, 100, 0);
    for(size_t i=1, j=0;j<100;i++,j+=i)
        arr[j]=1;
    for(size_t i=0;i<100;i++)
        cout<<arr[i];
}
i нужна для того, потому что от нее зависит j.
1
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
02.10.2010, 23:23
breeve,
Вы сами сначала подумайте, что тут написано, а потом и претензии предъявляйте. i здесь, чтобы увеличивать этот ваш "промежуток между числами", который равен сначала 1, потом 2, 3 и т.д. А j - тот самый индекс, который соответствует очередному числу последовательности. И этот элемент мы приравниваем к 1.
1
Эксперт С++
516 / 421 / 92
Регистрация: 23.09.2010
Сообщений: 1,165
02.10.2010, 23:24
breeve, только ты путаешь что то. Последовательность у тебя начинается с шагом два, а ты просишь с начальным шагом 1. В общем сам поковыряй i, как нужно.
1
38 / 38 / 10
Регистрация: 02.06.2010
Сообщений: 105
02.10.2010, 23:26
он имел ввиду что между 0 и 2 элементами расстояние 1( элемент 1), а между 2 и 5 - соответвенно 3,4 значит 2 элемента..
ваш код правильный, только arr[j]=1; заменить на arr[j-1]=1;
2
ниначмуроФ
 Аватар для PointsEqual
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
02.10.2010, 23:28
выводит данную последоватеьность

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int main()
{
 
    int i = 2;
    int tmp =0;
 
    while(i<100){
        cout<<tmp<<" ";
        tmp += i ;
 
        ++i;
    }
 
 
    return 0;
}
1
Эксперт С++
516 / 421 / 92
Регистрация: 23.09.2010
Сообщений: 1,165
02.10.2010, 23:45
замени строчку, где memset, я стормозил
C++
1
 memset(arr, 0, 100*sizeof(int));
Добавлено через 9 минут
Вот в общем окончательный дееспособный код. Даже не поленился протестить.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <cstdlib>
 
int arr[100]={0};
 
int main()
{
    using namespace std;
 
    for(size_t i=1, j=0;j<100;i++,j+=i)
        arr[j]=1;
    for(size_t i=0;i<100;i++)
        cout<<arr[i];
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.10.2010, 23:45
Помогаю со студенческими работами здесь

Создать цикл for, счетчик которого изменяется от 100 до 200 с шагом 2
Нужно создать цикл for, счетчик которого изменяется от 100 до 200 с шагом 2. Я написал цикл, но не получается установить шаг равный...

Цикл: Вывести на экран таблицу значений удвоенных косинусов в диапазоне от a до b с шагом h
Доброго времени суток, уважаемые Форумчане! Вынуждена просить Вашей помощи в решении нескольких задач, так как сама на данный момент не...

Цикл: Разработать алгоритм вычисления функции на интервале [a, b] c установленным пользователем шагом h...
Всем привет! Помогите пожалуйста!! Оч надо... Разработать алгоритм и программу вычисления функции y=x2 на интервале c установленным...

Вывести все числа из заданного диапазона в строчку с шагом h, используя цикл do/while
3.Вывести все числа из диапазона в строчку с шагом ℎ, используя цикл do while.

Используя цикл с постусловием, составить программу табулирования функции F(x)=sin(x)-cos(x) на отрезке [a, b] с шагом h
Помогите написать пожалуйста программу: Вот что получилось у меня, но это не правильно... #include &lt;cstdlib&gt; #include...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru