Не сте регистриран! Регистрирайте се БЕЗПЛАТНО, за да използвате услугите на сайта!

 Многоизмерни контейнери
Автор  Black`n`White (31.07.2006 15:44) съобщение до автора
Погледнат  2241 пъти добави към любими
Оценка добави коментар
Гласове  1 изпрати на приятел
Коментари  (0) абонирай се за C-Cplusplus
     
Black`n`White
     
 

Кратко обяснение на това как се създават многоизмерни контейнери с STL

CODE
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
#include <iostream>
#include
<vector>
#include
<cstdlib>
#include
<algorithm>

using namespace std;

int main()
{
   
vector<int> d1v;
   
d1v.push_back(3);
   
d1v.push_back(1);
   
d1v.push_back(2);
   
/* dobavqme stoinosti s push_back - koeto si e predimstvo pred
    obiknovenite masivi */

   
vector<int>::iterator p = d1v.begin();
   
p+=2;
   
rotate(d1v.begin(),p,d1v.end());

   
/* Izvar6vame si razni operacii s masiva, (v slu4aq
    zavartame cqlata posledovatelnost, kato izmestim
    vseki element s 2 pozicii) - tova e vsa6tnost koeto nalaga
    izpolzvaneto na STL konteineri s nqkolko izmereniq
    Ako izpolzvahme obiknoven masiv, tova 6te6e da stane
    malko po-slojno, s malko pove4e pisane i malko po-neqsno
    Predimstvo sa6to e 4e mojem da dobavqme gotov "obraboten"
    red vav vtoroto izmerenie, sled kato sme izvar6vali operacii s nego*/

   
vector<vector<int> > d2v; // vtoroto izmerenie d2v - vector ot d1v vectori
   
d2v.push_back(d1v);
   
d2v.push_back(d1v);
   
d2v.push_back(d1v);
   
vector<vector<vector<int> > > d3v; // tretoto izmerenie d3v - vector ot d2v ...
   
d3v.push_back(d2v);
   
d3v.push_back(d2v);
   
d3v.push_back(d2v);

   
for(int i = 0; i < 3; i++)
    {
       
cout << "Sledva6to izmerenie ... " << endl;
       
for(int j = 0; j < 3; j++)
        {
           
for(int k = 0; k < 3; k++)
            {
               
d3v[j][k][0] = j;
               
cout << d3v[i][j][k] << "t";
           
}
           
cout << endl;
       
}
    }
// Izvejdame celiq 3d masiv ...
   
    // iteratori ot vida :

   
vector<vector<int> >::iterator q = d2v.begin();

   
/* sa si savsem validni
      - oba4e kakvo moje da se pravi s tqh
      ostavqm da si eksperimentirate :)) */

   
system("pause");
   
return 0;

}



Ключови думи: C++ контейнер многоизмерен STL




 За автора: Black`n`White  
I am experienced .NET Application Developer, and also I have worked a lot of time with Borland VCL. Right now I am working on several projects, based on the .NET Platform. Also I am student at the Technical University of Varna
   
 1 посетител чете този скрипт (0 потребители и 1 гост)  
Активни потребители: ---
   
  

Еmail  
 

 

 
  • Интересно от Софтуер
 
  • Интересно от myLINKS
 
 
 
 



IT-PLACE.NET © 2004 - 2008