Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #define Nmax 1000
- using namespace std;
- struct Triplet
- {
- int i, j, v;
- };
- struct Lista
- {
- Triplet t[Nmax];
- int pr, ul;
- void Init()
- {
- pr = 0; ul = -1;
- }
- int Empty()
- {
- return pr > ul;
- }
- void InsertEnd(Triplet x)
- {
- t[++ul] = x;
- }
- void Insert(int poz, Triplet x)
- {
- for(int i = ul; i >= poz + pr - 1; i--)
- t[i+1] = t[i];
- t[poz + pr - 1] = x;
- ul++;
- }
- void Parcurgere()
- {
- if(Empty()) cout << "Lista este vida!";
- else
- {
- for(int i = pr; i <= ul; i++)
- cout << "(" << t[i].i << ", " << t[i].j << ", " << t[i].v << ")\n";
- cout << "\n";
- }
- }
- void DeleteEnd()
- {
- if(!Empty()) ul--;
- }
- void DeleteBegin()
- {
- if(!Empty()) pr++;
- }
- void Delete(int poz)
- {
- if(Empty()) return;
- for(int i = poz + pr - 1; i < ul; i++)
- t[i] = t[i+1];
- ul--;
- }
- Triplet GetElement(int k)
- {
- return t[pr + k - 1];
- }
- /*
- int Search(Triplet x)
- {
- int i;
- for(i = pr; i <= ul; i++)
- if(t[i] == x) return i - pr + 1;
- return -1;
- }
- */
- int Size()
- {
- return ul - pr + 1;
- }
- };
- int a[Nmax][Nmax], n;
- int main()
- {
- ifstream fin("matrice.in");
- fin >> n;
- for(int i = 0; i < n; i++)
- for(int j = 0; j < n; j++)
- fin >> a[i][j];
- fin.close();
- Lista L;
- L.Init();
- Triplet aux;
- for(int i = 0; i < n; i++)
- for(int j = 0; j < n; j++)
- {
- if(a[i][j] != 0)
- {
- aux.i = i;
- aux.j = j;
- aux.v = a[i][j];
- L.InsertEnd(aux);
- }
- }
- cout << "-i--j--v-\n";
- L.Parcurgere();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement