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

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

Восстановить пароль Регистрация
 
DVGU.MAKC
0 / 0 / 0
Регистрация: 13.01.2012
Сообщений: 35
11.06.2013, 17:48     Объединение циклов #1
Доброго времени суток!
Есть объединенный цикл. Что выполняет данный цикл? И как сделать что бы был виден результат его работы?
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++
C++ Программирование циклов
Вложение циклов C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nullpointer
 Аватар для nullpointer
45 / 45 / 5
Регистрация: 30.03.2009
Сообщений: 518
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
 Аватар для nullpointer
45 / 45 / 5
Регистрация: 30.03.2009
Сообщений: 518
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
2426 / 1598 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
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;
написано что это оптимизация вложеного цикла, если время выполнения у первого кода маленькое
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.06.2013, 19:12     Объединение циклов
Еще ссылки по теме:

Распараллеливание циклов C++
C++ Организация циклов в С
C++ Различие циклов

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

Или воспользуйтесь поиском по форуму:
0x10
2426 / 1598 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
11.06.2013, 19:12     Объединение циклов #8
На каждой итерации цикла выполняется инкремент переменной i и сравнение ее с некоторым числом в условии продолжения цикла. Если цикла два - соответственно, и эти операции выполняются дважды.
Ну это так... Самое тупое.
Yandex
Объявления
11.06.2013, 19:12     Объединение циклов
Ответ Создать тему
Опции темы

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