Ezt hogyan kell C#-ban?
Adott 3 tömb, mindegyik mondjuk 500 elemmel. A tömbök ugyanabba a sorban való adatai összefüggnek.
Azt szeretném csinálni, hogy az adatok elé hónap kerüljön.
Például:
A tömb: 1,24,45
B tömb: 16.56,78
C tömb: 77,55,20
Ez legyen kiírva:
Január: 1,16,77
Február: 24, 56, 55
stb..
Először arra gondoltam, hogy felveszek egy hónapok tömböt, ahova beírom a hónapok neveit, és csak simán kiíratom az [i]-ik elemet, de ez nem működne hiszen a hónapok tömbben 12 adat van, míg a 3 másikban 500. Hogyan érem el, hogy ha a hónap tömb végére ért, akkor újra kezdje januártól?
Előre is köszönöm!
Amit te eredetileg akarsz azt transpose-nak hívják.
Amúgy szerintem nagyon túlbonyolítod ezt sokkal egyszerűbben és logikusabban meg lehet csinálni csak nem tudom mi a cél.
A kérdés jó!
A megoldás: maradékos osztás (modulo)
honapok[i % 12]
Jó volt a gondolatmenet, ami hiányzott az a 2# hozzászóló megoldása:
honapok[i % 12]
Amúgy, ha ennyire összetartoznak az adatok, miért kell őket külön tömbben tárolni? Nem lenne egyszerűbb így.
class Adatok
{
public string honap;
public int a;
public int b;
public int c;
}
Így akár a kiírás metódus lehetne az adatok osztály része is...
Suliban tanulom a C#-ot és jelenleg a metódusok, rekordok, stb vesszük osztályok még nem voltak, bár tetszik a dolog ennek utánanézek :)
Köszönöm a válaszokat!
Vqgy struct ban, hasonló mintha osztály lenne pl:
Public struct adatok
{
Public string honap;
public int a;
public int b;
public int c;
}
Adatok[] adat = new adatok[12];
feltoltod az ertekekkel, es kesz
Hivatkozni ugy tudsz rajuk h
Adat[0].honap = "januar";
adat[0].a = 5;
stb
Kiírásnál
For adat.length
Cwl adat[i].honap
Adat[i].a
Adat[i].b
Adat[i].c
Kicsit roviditettem mert telorol vagyok, a cwl a console.writeline();
amúgy nem tiszta a feladat, azért nem csinálsz új tombot, mert ott 12 elem van, a tobbi tombodben pedig 500 elem van
Minden tomb elso eleme a januarhoz tartozik, masodik a februarhoz, a 12. A decemberhez
Mi van a 13. Elemmel?
az hová tartozik?
Csak hogy valami hasznom is legyen :
tegyuk fel, az a, b, c tomb 500-500 elemu, szoval
int n = 500;
String[] honapok =new string[12];
fel toltod a honapok neveivel, meg az a b c tomboket is az adatokkal
Aztan
Egy for ciklusban n ig megyunk
K=0;
For(int i =0; i< n; i++)
{
If(k ==11)
{
cwl honapok[k];
k==0;
}
else cwl honapok[k];
Cwl a[i];
cwl b[i];
cwl c[i];
k++;
További 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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!