[ Príspevkov: 3 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 25.11.07
Prihlásený: 02.07.21
Príspevky: 101
Témy: 21 | 21
Bydlisko: Bratislava

Mám 2 polia, v jednom sú indexy a v druhom hodnoty, chcem vymazať tie páry index a hodnota, kde hodnota = 0.

Mám:
Kód:
int[] t_index = { 0, 1, 2, 3, 4 };
int[] t_value = new int[] { 1, 0, 2, 0, 7 };


Chcem vymazať tie indexy (t_index) a tie prvky (t_value), kde value = 0.
(aby v t_index bolo {0,2,4} a v t_value bolo {1,2,7})
Ako to dosiahnúť?

Vymazať prvky t_value by som vedel:
Kód:
t = t.Where(val => val != 0).ToArray();


ale neviem, ako vymazať aj príslušné indexy.
Nejaký tip?

Vďaka.


Offline

Skúsený užívateľ
Skúsený užívateľ
Ako vymazať spárované prvky dvoch jednorozmerných polí, podľa podmienky?

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14572
Témy: 66 | 66
Bydlisko: Žilina

Prečo to riešiš cez dve polia, keď na toto máme Dictionary<T,K>? Zbytočne si komplikuješ robotu.


_________________
C#, PHP, ...
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 25.11.07
Prihlásený: 02.07.21
Príspevky: 101
Témy: 21 | 21
Bydlisko: Bratislava

Preto, lebo som začiatočník a nevedel som o tom. :-o

Ďakujem.

Potrebujem ukladať do pamäte vektory a veľké riedke matice. Ale problém je, že ak chcem uložiť maticu o veľkosti n=50000, tak to nemôžem uložiť do 2D poľa n x n, ale musím uložiť do troch polí indexR, indexS, value, alebo do p x n (kde p je počet nenulových prvkov). Dictionary asi neumožňuje uložiť 2 indexy a jednu hodnotu. Takže pre vektory by to bolo riešenie, ale pre matice asi nie.

// Spojený príspevok Str 15.04.15 10:04

Ešte raz Ďakujem. :D
Prišiel som na toto:

Kód:
t_index = t_index.Where(idx => t_value[idx] != 0).ToArray();
t_value = t_value.Where(val => val != 0).ToArray();


Keď som rozmýšľal, ako to funguje, nejako sa mi toto podarilo spraviť. :lol:
(To je tým konzervatívnym myslením, ja som bol v tom, že v tá podmienka musí začínať idx..., no nemusí :D )

Díky.

// Spojený príspevok Str 15.04.15 10:43

ehm, ešte oprava:

Kód:
t_index = t_index.Where((val, idx) => t_value[idx] != 0).ToArray();
t_value = t_value.Where(val => val != 0).ToArray();


Takto je to správne.


 [ Príspevkov: 3 ] 


Ako vymazať spárované prvky dvoch jednorozmerných polí, podľa podmienky?



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Ako vymazať duplicitné záznamy podľa podmienky

v Databázy

3

430

19.06.2018 10:22

SuchSoft

V tomto fóre nie sú ďalšie neprečítané témy.

Spojenie dvoch polí

v PHP, ASP

4

827

28.07.2007 12:26

stenley

V tomto fóre nie sú ďalšie neprečítané témy.

Telefónica O2 podľa TÚ splnila podmienky licencie

v Novinky

1

1034

11.12.2007 19:24

ertin

V tomto fóre nie sú ďalšie neprečítané témy.

zobrazanie stranky od urciteho miesta podla podmienky

v HTML, XHTML, XML, CSS

14

512

27.02.2013 17:35

boboland

V tomto fóre nie sú ďalšie neprečítané témy.

Odstránenie textu navyše z premennej podľa podmienky.

v PHP, ASP

3

566

01.01.2013 14:16

1daemon1

V tomto fóre nie sú ďalšie neprečítané témy.

ako vymazat?

v Ostatné

5

437

08.04.2016 18:22

ryan123

V tomto fóre nie sú ďalšie neprečítané témy.

Ako vymazat vistu

v Operačné systémy Microsoft

12

854

19.10.2007 12:18

icefire

V tomto fóre nie sú ďalšie neprečítané témy.

Ako vymazat trojana?

v Antivíry a antispywary

3

862

20.04.2011 15:49

Denco1

V tomto fóre nie sú ďalšie neprečítané témy.

Ako vymazať súbor

v Operačné systémy Microsoft

3

1068

17.12.2010 15:39

krsoprd

V tomto fóre nie sú ďalšie neprečítané témy.

Ako vymazať nepodstatné súbory.

v Ostatné programy

4

554

25.09.2011 11:22

Leslie12

V tomto fóre nie sú ďalšie neprečítané témy.

ako vymazat zvysok programu

v Ostatné programy

5

1215

12.05.2010 17:56

Amiqo

V tomto fóre nie sú ďalšie neprečítané témy.

Ako vymazať pôvodný zvuk?

v Video programy

0

704

06.07.2009 20:46

michaelus

V tomto fóre nie sú ďalšie neprečítané témy.

WORD - ako vymazať čiaru???

v Ostatné programy

6

6818

30.06.2011 18:35

konstant23

V tomto fóre nie sú ďalšie neprečítané témy.

Ako vymazať windows.old

v Operačné systémy Microsoft

7

2865

20.10.2009 9:06

Jaro

V tomto fóre nie sú ďalšie neprečítané témy.

Ako vymazať pozadie z obrázku

v Grafické programy

12

1073

07.11.2011 16:27

Bajzik

V tomto fóre nie sú ďalšie neprečítané témy.

vymazať už vymazané?? :-)) ako nato

v Ostatné programy

3

495

09.12.2010 21:12

DAVE1979



© 2005 - 2024 PCforum, edited by JanoF