Počet polí a počet prvkov v poli – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Počet polí a počet prvkov v poli – C / C++ – Fórum – Programujte.comPočet polí a počet prvkov v poli – C / C++ – Fórum – Programujte.com

 

Bimak
~ Anonymní uživatel
7 příspěvků
6. 2. 2013   #1
-
0
-

Dobrý deň,
Nevedeli by ste mi poradiť s 1 vecou. Mám maticu NxN a pracujem len s prvkami pod hlavnou diagonálov. Do matici je uložený znak X alebo 1. Vyzerá to nejako asi tak, keď je matica 4x4: V zátvorkach sú čísla riadkov a stĺpcov.

(1) X
(2) X X
(3) 1 1 X
    (0)(1)(2)

Neskôr maticu prehľadávam z prava do ľava a hľadám znaky 1. V uvedenom príklade prvý znak je na mieste 3-1 a potreboval by som vytvoriť pole kde uloží riadok a stĺpec tej 1, keby bolo v stĺpci viac 1 tak by sa vytvorilo pole, kde by sa uložilo stĺpec a všetký riadky stĺpca, v ktorých je 1. Ďalej by sa matica prehľadávala v ďalšom stĺpci kde by bola 1 by sa vytvorilo ďalšie pole, v príklade by to bolo 3-1 a uložilo by sa do neho stĺpec a riadok (do poľa by sa ukladalo v poradí (stĺpec, riadok, riadok, ....). Potom by sa porovnávalo to pole s tým predchádzajúcim, ale len hodnoty, ktoré určujú riadok/riadky druhého poľa. V princípe mame prvé pole (3,1) a druhé (0,3), z druhého poľa by vybralo hodnotu riadka 3, a porovnalo s predchádzajucim poľom či sa nenachádza to číslo v tom poli. Ak sa nachádza tak do toho prvého poľa vloží hodnotu stĺpca čiže 0 a pole bude mať počet prvkov 3 (0,1,3) a druhé pole by sa zrušilo. Ak druhé pole malo hodnoty napr (0,2) čiže 1 by bola na súradniciach 2-0, tak 2 sa nenachádza v prvom poli a tým by pole (0,2) ostalo. A tak by to išlo až kým by sa neprešli všetký stĺpce v matici, vytvorilo by sa pole a porovnalo s predchádzajúcimi, ak by bolo zhodné s niektorým, tak by sa uložil hodnotu stĺpca do toho predchádzajúceho poľa a pole zrušilo, ak by nebolo zhodné tak by pole ostalo. V jednom poli by boli uložené čisla, keď je matica 4x4, tak by v ňom boli čísla (0,1,2,3). Ak by po prejdení celej matice ostali nejaké čísla, ktoré sa nenachádzajú v predošlých, tak by sa vytvorilo pole/polia jednoprvkové, do ktorých by sa uložili zvyšné hodnoty. Napr. bola by matica 4x4, v 1 polí by bolo (0,2) a po prejdení matice by už sa nenašla žiadná iná 1, tak by vznikli ďalšie 2 polia s (1) a (3), dokopy by boli 3 polia (0,2) (1) (3). 

A môj problém spočíva v tom, ako vytvoriť pole s prvkami podľa toho koľko pvkov koľko do neho vložím (buď 1, 2 alebo viac prvkov, maximálna veľkosť by bola N), a ako vytvoriť počet polí koľko ich budem potrebovať.

Ak by niekto vedel poradiť cez čo to bude dobre urobiť, bol by som vďačný.

Nahlásit jako SPAM
IP: 178.18.68.–
vitamin+8
Grafoman
6. 2. 2013   #2
-
0
-

C alebo C++ ?

Nahlásit jako SPAM
IP: 95.105.157.–
obfuscate: "The cruel god Malloc will strike you down. "
ZMeson: "That's the C god. C++ has a new god. "
Bimak0
Duch
6. 2. 2013   #3
-
0
-

Sorry som zabudol napísať C++

Nahlásit jako SPAM
IP: 178.18.68.–
vitamin+8
Grafoman
6. 2. 2013   #4
-
0
-
Nahlásit jako SPAM
IP: 95.105.157.–
obfuscate: "The cruel god Malloc will strike you down. "
ZMeson: "That's the C god. C++ has a new god. "
Bimak0
Duch
6. 2. 2013   #5
-
0
-

vďaka pozeral som nato a to by išlo, len sa chcem spýtať vytvorím si 1 vektor na začiatku a vložím tam prvé hodnoty, viem do toho vektora pridávať hodnoty, zistiť veľkosť vektora a čo sa v ňom nachádza a potom ako mám vytvoriť ďalší vektor kde vložím to druhé pole?

sry ak sú to primitívne otázky, začínam len v c++

Nahlásit jako SPAM
IP: 178.18.68.–
vitamin+8
Grafoman
6. 2. 2013   #6
-
0
-

mozes spravyt vektor vektorov :) :

vector<vector<int>> x;
//...
x[2][2] = 7;
x[3].push_back(13);
//...
x.emplace_back();
x.back().push_back(3);
Nahlásit jako SPAM
IP: 95.105.157.–
obfuscate: "The cruel god Malloc will strike you down. "
ZMeson: "That's the C god. C++ has a new god. "
Bimak0
Duch
6. 2. 2013   #7
-
0
-

vďaka dosť si mi pomohol

Nahlásit jako SPAM
IP: 178.18.68.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 146 hostů

Podobná vlákna

Počet čísel v poli — založil TomasekTom

Počet prvků poli — založil suchla12

Počet prvků v poli — založil Hmm

Pocet urcitých znakv v poli — založil andrejko993

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý