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

Цикл в цикле - C++

Восстановить пароль Регистрация
 
diana_9
1 / 1 / 0
Регистрация: 22.07.2012
Сообщений: 19
17.08.2012, 08:37     Цикл в цикле #1
Здравствуйте!
У меня есть много векторов со множеством значений. Мне нужно произвести над ними несколько операций. И нужно это сделать в цикле: произвести действия над всеми значениями векторов с 0 по 10, затем с 1 по 11, со 2 по 12, с 3 по 13,...,с 10 по 20, 11 - 1, 12 - 2,...,20 - 10 и вывести все эти значения разом.
Подскажите, каким образом это сделать?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,888
Записей в блоге: 1
17.08.2012, 08:51     Цикл в цикле #2
а можно задачу по подробней

Добавлено через 4 минуты
а ваше так if(v[i]<0 && v[i] >11) ваше так выбирать
diana_9
1 / 1 / 0
Регистрация: 22.07.2012
Сообщений: 19
17.08.2012, 09:06  [ТС]     Цикл в цикле #3
Sylar9, в принципе, ничего особого. маленький кусочек кода из программки, но важно..
P.S: значения с файла считываю.
C++
1
2
3
4
5
6
7
8
9
10
11
for (j=0; j<1200; j++)              //провожу действия над значениями
        {
                sr_znach[j]=double (S/(q-p+1));     //ищу средние всех нулевых, всех первых...значений 
                                                                //каждого вектора (по столбцам, можно сказать)
 
                srednie[j]=sr_znach[j]-10;
                for (S=0, i=p; i<=q; i++)                //средние с вектора под номером p до q
                {
                        S+=f[i].a[j];                        //сумма значений по столбцам
                }
        }
p и q задаются с экрана. нужно ничего не задавая, вывести все значения, как я описала выше

Добавлено через 4 минуты
Цитата Сообщение от Sylar9 Посмотреть сообщение
а ваше так if(v[i]<0 && v[i] >11) ваше так выбирать
т.е. перед циклом еще вставить
Цитата Сообщение от Sylar9 Посмотреть сообщение
if(v[i]<0 && v[i] >11)
...?


а мне ведь нужно, чтобы i>=0 && i<11, затем i>=1 && i<12,..., i>=20 && i<10
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,888
Записей в блоге: 1
17.08.2012, 09:12     Цикл в цикле #4
Цитата Сообщение от diana_9 Посмотреть сообщение
Sylar9, в принципе, ничего особого. маленький кусочек кода из программки, но важно..
P.S: значения с файла считываю.
C++
1
2
3
4
5
6
7
8
9
10
11
for (j=0; j<1200; j++)              //провожу действия над значениями
        {
                sr_znach[j]=double (S/(q-p+1));     //ищу средние всех нулевых, всех первых...значений 
                                                                //каждого вектора (по столбцам, можно сказать)
 
                srednie[j]=sr_znach[j]-10;
                for (S=0, i=p; i<=q; i++)                //средние с вектора под номером p до q
                {
                        S+=f[i].a[j];                        //сумма значений по столбцам
                }
        }
p и q задаются с экрана. нужно ничего не задавая, вывести все значения, как я описала выше

Добавлено через 4 минуты


т.е. перед циклом еще вставить ...?


а мне ведь нужно, чтобы i>=0 && i<11, затем i>=1 && i<12,..., i>=20 && i<10
ну да
diana_9
1 / 1 / 0
Регистрация: 22.07.2012
Сообщений: 19
17.08.2012, 09:23  [ТС]     Цикл в цикле #5
Sylar9,
Цитата Сообщение от diana_9 Посмотреть сообщение
а мне ведь нужно, чтобы i>=0 && i<11, затем i>=1 && i<12,..., i>=20 && i<10
в моем случае j, а не сами значения.
Или я Вас совсем не поняла..
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
17.08.2012, 10:06     Цикл в цикле #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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <stdio.h>
#include <conio.h>
 
#include <iostream>
#include <vector>
 
#define N1 20
#define N2 100
 
using namespace std;
 
vector<vector<int>> vnums;
 
int main()
{
    vnums.resize(N1);
    for (int z1 = 0; z1 < 20; z1++)
    {
        vnums[z1].resize(N2);
        for (int z2 = 0; z2 < 100; z2++)
            vnums[z1][z2] = rand() % 9 + 1;
    }
 
    for (int r = 0; r < 15; r++)
    {
        for (int q = 0; q < vnums.size(); q++)
        {
            int n = r;
            while (n < (r + 10) && (r + 10) < vnums[q].size())
            {
                // произвести действия над текущим элементом вектора
                cout << vnums[q][n] << " ";
                n++;
            }
 
            cout << endl;
        }
 
        cout << endl;
    }
 
    _getch();
 
    return 0;
}
http://liveworkspace.org/code/a1131e...0e83f39679ac77
Миниатюры
Цикл в цикле  
Yandex
Объявления
17.08.2012, 10:06     Цикл в цикле
Ответ Создать тему
Опции темы

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