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ý.