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

Преобразую трехмерный массив в одномерный и обратно - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Посоветуйте IDE для C++ http://www.cyberforum.ru/cpp-beginners/thread448731.html
Сабж. Интересует визуальная разработка красивых интерфейсов с красивыми эффектами, различными анимациями и т.д. Также интересует кроссплатформенная разработка приложений на C++ :) Также хочется услышать в чём преимущества в IDE, которую вы написали. Заранее спасибо.
C++ Win32 приложение - полоса прокрутки Добрый день форумчане))) Есть следующая задача: создать окно, на котором будут расположены 2 полосы прокрутки(горизонтальная и вертикальная). При клике по вертикальной полосе прокрутки должна блокироваться горизонтальная полоса прокрутки. При повторном клике там же - блокировка должна сниматься. http://www.cyberforum.ru/cpp-beginners/thread448730.html
Значение времени C++
как можно создавать программу которая принимает от пользователя два значения времени – строки вида ТТ.ТТ.ТТ, где Т – это любая цифра из диапазона . Далее она вычисляет полное количество секунд, прошедших между двумя значениями времени, и выводит его на экран. Вот я не как не могу разобраться с оператором CIN - как можно будет принимать с точнее ТТ.ТТ.ТТ Добавлено через 52 минуты Эту куда...
C++ плз помогите написать любой тест на 20 вопросов (курсовая)
любые 20 вопросов и чтобы в конце показывала кол-во набранных балов
C++ Используя структуру с полями пол, ФИО, возраст, распечатать количество девушек по имени «Елена» и имена тех, кому за 19 лет http://www.cyberforum.ru/cpp-beginners/thread448719.html
Используя структуру с полями пол, ФИО, возраст, распечатать количество девушек по имени «Елена» и имена тех, кому за 19 лет
C++ Задача с булевым типом Здраствуйте! :) Вот над задачей уже третий день голову ламаю: Имеются три числа А,В,С.Нужно вывести на экран false если больше чем одно из этих чисел четное и true если только одно из этих чисел четное,при этом нельзя использовать ни if,for короче нужно использовать вот такого типа выражение : м==п||и>0 ну и что в таком духе.Одно я знаю точно :) здесь нужно использовать boolalpha в потоке cout подробнее

Показать сообщение отдельно
vet
175 / 175 / 13
Регистрация: 08.04.2009
Сообщений: 1,309

Преобразую трехмерный массив в одномерный и обратно - C++

19.02.2012, 10:37. Просмотров 825. Ответов 0
Метки (Все метки)

Доброго всем времени суток

пытаюсь преобразовать трехмерный массив в одномерный вектор, затем удалить 1-ю строку (плоскость) в этом векторе и полученное записать обратно в трехмерный массив, вот на последнем этапе и не пашет.....


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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#include <iostream>
#include<vector>
#include <stdlib.h>
 
using namespace  std;
 
 
const int n = 4, m = 2, k=2;
 
 
int main( int argc, char* argv[] )
{
 
int irecv[n][m][k];
 
 
       for (int i = 0; i < n; i++)  
       {
            for (int j = 0; j < m; j++) 
            {
                for (int l = 0; l < k; l++) 
                {
                    irecv[i][j][l]=rand()%20;
                }
            }
        }
 
 
        for (int i = 0; i < n; i++) 
             {
            for (int j = 0; j < m; j++) 
            {
                for (int l = 0; l < k; l++) 
                {
    cout << "  irecv =  " << irecv[i][j][l] << "\n";
                }
                
            }
     }
 
 
     vector <int> tmp_irecv;
     
 
       for (int i = 0; i < n; i++)  
       {
            for (int j = 0; j < m; j++) 
            {
                for (int l = 0; l < k; l++) 
                {
                    tmp_irecv.push_back(irecv[i][j][l]);
                }
            }
        }
        
     cout << "\n\n";
     for (int i = 0; i < tmp_irecv.size(); i++) 
     {
         cout << tmp_irecv[i] << "    ";
     }
     cout << "\n\n";
     
     vector <int> :: iterator ii = tmp_irecv.begin();
     tmp_irecv.erase(ii,ii+m*k);
     
      for (int i = 0; i < tmp_irecv.size(); i++)    
     {
         cout << tmp_irecv[i] << "    ";
     }
     
       cout << "\n\n";
     
      for (int i = 0; i < n; i++)   
       {
            for (int j = 0; j < m; j++) 
            {
                for (int l = 0; l < k; l++) 
                {
                    irecv[i][j][l]=tmp_irecv[i*m*l + j*k + l];//!!!!!!!!!!!!!!!
                }
            }
        }
cout << "\n\n";
        for (int i = 0; i < n; i++) 
             {
            for (int j = 0; j < m; j++) 
            {
                for (int l = 0; l < k; l++) 
                {
    cout <<  "  2irecv =  " << irecv[i][j][l] << "\n";
                }
            }
     }
 
cin.get();
  
}
Добавлено через 4 минуты
все нашел, пока собственное сообщение перечитывал =)
C++
1
2
irecv[i][j][l]=tmp_irecv[i*m*l + j*k + l];//было
                }
C++
1
2
irecv[i][j][l]=tmp_irecv[i*m*k + j*k + l];//надо
                }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 11:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru