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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
DVGU.MAKC
0 / 0 / 0
Регистрация: 13.01.2012
Сообщений: 35
#1

Объединение циклов - C++

11.06.2013, 17:48. Просмотров 695. Ответов 7
Метки нет (Все метки)

Доброго времени суток!
Есть объединенный цикл. Что выполняет данный цикл? И как сделать что бы был виден результат его работы?
C
1
2
3
4
5
6
for(int i = 0; i < iN; i++){
 a[i] = b[i] - 5;
}
for(int i = 0; i < iN-1; i++){
 d[i] = e[i] * 3;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.06.2013, 17:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Объединение циклов (C++):

Организация циклов в C++ - C++
Не могу никак справиться с этим заданием: Дано натуральное число N: опредилить наименьшую цифру с чётным номером Оч нужна помощь....

Оптимизация циклов - C++
я был очень удивлён, когда путём простой перемены мест внешнего цикла с внутренним проиводительность метода увеличилась на 20% :) ...

Счетчик циклов - C++
помогите найти ошибку: #include &lt;stdio.h&gt; #include &lt;iostream&gt; #include &lt;cstdlib&gt; using namespace std; int main(int argc, char**...

Программирование циклов while, for, do.while - C++
Всем доброго времени суток! Помогите пожалуйста с задачей условия таковы: Для каждого x, изменяющегося от a до b с шагом h, найти...

Различие циклов - C++
Подскажите, пожалуйста. Приведенные циклы работают одинаково? for(int x : group.g_players) { player.groupID = 0; ...

Прерывание циклов - C++
Допустим есть цикл в цикле и если во внутреннем цикле выполняется некоторое условие, необходимо прервать оба цикла.Возможно ли это? Заранее...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
nullpointer
46 / 46 / 5
Регистрация: 30.03.2009
Сообщений: 522
11.06.2013, 18:05 #2
А что такое объединенный цикл?
Это два цикла. Первый от вектора b[i] отнимает 5, а второй умножает вектор на 3.
C
1
2
3
4
5
6
7
8
9
for(int i = 0; i < iN; i++){
 a[i] = b[i] - 5;
 printf("%f ", a[i]);
}
printf("\n");
for(int i = 0; i < iN-1; i++){
 d[i] = e[i] * 3;
 printf("%f ", d[i]);
}
Не знаю только какой тип у массивов, поэтому написал float.
DVGU.MAKC
0 / 0 / 0
Регистрация: 13.01.2012
Сообщений: 35
11.06.2013, 18:10  [ТС] #3
Сформулирую вопрос по другому. Есть проще говоря код, дополните его так чтобы был виден результат выполнения кода (считает уравнение или что он делает) я, по крайней мере не знаю, поэтому обращаюсь к Вам с просьбой помочь, буду благодарен если поможете
C
1
2
3
4
5
6
7
8
for(int i = 0; i < iN; i++)
{
 a[i] = b[i] - 5;
}
for(int i = 0; i < iN-1; i++)
{
 d[i] = e[i] * 3;
}
nullpointer
46 / 46 / 5
Регистрация: 30.03.2009
Сообщений: 522
11.06.2013, 18:27 #4
DVGU.MAKC, а Вы пробовали мой код скомпилировать? Там в каждом цикле выводится резудьтат.
DVGU.MAKC
0 / 0 / 0
Регистрация: 13.01.2012
Сообщений: 35
11.06.2013, 18:42  [ТС] #5
Пробовал...Выдает нолики, возможно я что то не так делаю, да не возможно а оно так и есть
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
    const clock_t start = clock();
    int a[10];
    int b[10];
    int d[10-1];
    int e[10-1];
for(int i = 0; i < 10; i++){
 a[i] = b[i] - 5;
 printf("%f ", a[i]);
}
printf("\n");
for(int i = 0; i < 10-1; i++){
 d[i] = e[i] * 3;
 printf("%f ", d[i]);
}
Добавлено через 9 минут
ага, неправильно
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
    const clock_t start = clock();
    int a[10];
    int b[10];
    int d[10-1];
    int e[10-1];
for(int i = 0; i < 10; i++){
 a[i] = b[i] - 5;
 cout<<"%f "<< a[i]<< endl;
}
cout<<"\n";
for(int i = 0; i < 10-1; i++){
 d[i] = e[i] * 3;
 cout<<"%f "<< d[i]<< endl;
}
вот так вот должно быть
0x10
2460 / 1632 / 238
Регистрация: 24.11.2012
Сообщений: 4,015
11.06.2013, 18:45 #6
1. Элементам массива не присвоены никакие значения.
2.
Цитата Сообщение от DVGU.MAKC Посмотреть сообщение
cout<<"%f "<< d[i]<< endl;
Убрать "%f", нечего ему тут делать.
DVGU.MAKC
0 / 0 / 0
Регистрация: 13.01.2012
Сообщений: 35
11.06.2013, 18:51  [ТС] #7
а в чем тогда заключается смысл из такого кода:
C
1
2
3
4
5
6
for(int i = 0; i < iN; i++){
 a[i] = b[i] - 5;
}
for(int i = 0; i < iN-1; i++){
 d[i] = e[i] * 3;
}
делать вот такой код:
C
1
2
3
4
5
for(int i = 0; i < iN-1; i++){
 a[i] = b[i] - 5;
 d[i] = e[i] * 3;
}
a[iN-1] = b[iN-1] - 5;
написано что это оптимизация вложеного цикла, если время выполнения у первого кода маленькое
0x10
2460 / 1632 / 238
Регистрация: 24.11.2012
Сообщений: 4,015
11.06.2013, 19:12 #8
На каждой итерации цикла выполняется инкремент переменной i и сравнение ее с некоторым числом в условии продолжения цикла. Если цикла два - соответственно, и эти операции выполняются дважды.
Ну это так... Самое тупое.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.06.2013, 19:12
Привет! Вот еще темы с ответами:

Распараллеливание циклов - C++
Возникли трудности с освоением OpenMP Непонимаю, почему если закоментировать вот этот фрагмент кода, то программа работает вы разы...

Разница циклов for и while - C++
Перепишите следующий пример с инструкцией for в виде эквивалентного кода с использованием инструкции while:for (i=0;i&lt;max_length;i++) ...

Инварианты циклов - C++
Всем привет, поясните мне что такое &quot;инварианты&quot; в общем понимании, и они же в циклах! Т.е. что это за зверь и с чем его едят? Как...

Программирование циклов. - C++
Я получил объемное задание по С++ которое осилить мне практически невозможно, посему надеюсь на Вашу помощь, господа форумчане. Буду очень...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
11.06.2013, 19:12
Ответ Создать тему
Опции темы

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