Kezdőoldal » Egyéb kérdések » Egyéb kérdések » Ha egy ritka mátrixot ábrázolo...

Ha egy ritka mátrixot ábrázolok egydimenzós tömbben, vagyis csak a nem nulla értékeket tárolom, és struktúrát használok az ábrázolásra, hogyan tudom összeadni a ritka matrixom (amit egydimenzios tombben tarolok) oszloapait (saját)?

Figyelt kérdés

A kód:


#include<iostream>

using namespace std;

const int nnmax = 50;

struct elem {

int sor, oszlop;

float ertek;

};

struct ritka {

elem tomb[nnmax];

int hanysor, hanyoszlop;

int nn; };



deklaráció: ritka mat;



2015. márc. 21. 17:27
 1/5 anonim válasza:
Még mindig nem tiszta mit értesz az oszlopok összeadásán.
2015. márc. 21. 17:47
Hasznos számodra ez a válasz?
 2/5 A kérdező kommentje:

A sajat oszlopainak az erteket...:)

peldaul a matrix (1 2 3 )

(4 5 6 )

(7 8 9 )


kulon tombbe adjam ossze az oszlopertekeket: pl:1+4+7 ,2+5+8 ,3+6+9

2015. márc. 21. 18:14
 3/5 anonim válasza:

Hát akkor meg mi a gond?

Baromi egyszerű, végigmész a tömbön és összeadod az összegző tömb i. elemébe azokat az elemeket, ahol az oszlop koordináta i.

2015. márc. 21. 20:38
Hasznos számodra ez a válasz?
 4/5 A kérdező kommentje:
Oké,ez mind szép és jó , én értem... de nm irnál nekem ez alapjan egy rovid kódot,mert igy is próbáltam csinálni, s szerintem nekem a hivatkozással van bajom...
2015. márc. 21. 23:02
 5/5 anonim válasza:

Csak annyi a megjegyzésem, hogy használhatnál vector-t tömb helyett és felesleges a mátrix méretére optimalizálni. Vázlatosan:


ritka mat; // inicializáld

float *sum = new float[mat.hanyoszlop]();

for(int i=0; i<mat.nn; i++) {

elem& e = mat.tomb[i];

sum[e.oszlop]+=e.ertek;

}

2015. márc. 21. 23:32
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!