Kezdőoldal » Számítástechnika » Programozás » Hogy van ez a program, mit...

Hogy van ez a program, mit rontottam el?

Figyelt kérdés
C# -t tanulok autodidakta módon. Olyan programot akarok írni hogy egy felhasználó feltölt egy 10 elemű tömböt pozitív egész számokkal , majd feladat hogy kérjen be 2 egész számot ami egy intervallum alsó és felső határa és a program írja ki e két érték közé a tömb feltöltött elemeit.
2019. jan. 19. 19:11
1 2
 1/11 A kérdező kommentje:

int[] szamok = new int[10];


for (int i = 0; i < szamok.Length; i++)

{

Console.Write("Kérem adja meg a tömb {0}. elemének értékét: ", i + 1);

szamok[i]=Convert.ToInt32(Console.ReadLine());


Console.Clear();


}


Console.WriteLine("A felhasználó által feltöltött tömb a következő: ");



for (int i = 0; i < szamok.Length; i++)

{


Console.WriteLine("{0} ", szamok[i]);


}



Console.Write("Kérem adja meg a az intervallum alsó határának az értékét: ");

int intervallum_also = Convert.ToInt32(Console.ReadLine());



Console.Write("Kérem adja meg az intervallum felső határának az értékét ");

int intervallum_felso=Convert.ToInt32(Console.ReadLine());


Console.Clear();


Csole.WriteLine("A megadott intervallumba a tömb elemei a következők: ");


for (int i = intervallum_also; i <intervallum_felso; i++)

{



Console.WriteLine(szamok[i]);



}



Console.ReadLine();

2019. jan. 19. 19:14
 2/11 A kérdező kommentje:
szerintem valahogy így kellene de így nem működik sajna mit rontottam el ? ha a tömb elemeinek az értéke 1,2,3,4,5,6,7,8,9,10 és pl also határnak 2 öt felsőnek 8 ad adok akkor működik. De ha pl 10nél nagyobb számmal töltöm fel a tömböt akkor nem
2019. jan. 19. 19:16
 3/11 anonim ***** válasza:

for (int i = intervallum_also; i <intervallum_felso; i++)

{

Console.WriteLine(szamok[i]);

}


Itt van a hiba.

Ha pl. az intervallumom az 50 és 80, akkor így működik a programod:


for (int i = 50; i < 80; i++)

{

Console.WriteLine(szamok[50-80]);

}


De a tömböd csak 10 elemes, és ha az intervallumod 10 fölött van, akkor a 10+. elemet próbálja kiírni consolera, ami ugye nincsen.

2019. jan. 19. 20:04
Hasznos számodra ez a válasz?
 4/11 anonim ***** válasza:
Kevered az index és az indexen tárolt érték jelentését.
2019. jan. 19. 20:05
Hasznos számodra ez a válasz?
 5/11 A kérdező kommentje:
Hát most még így sem értem . valaki lenne kedves leírni hogyan nézne ki helyesen a program akkor talán megérteném :(
2019. jan. 19. 20:40
 6/11 anonim válasza:

Nem teljesen világos, hogy mi a feladat.

Ha jól értem, azt szeretnéd elérni, hogy a program írja ki a tömbnek azokat az elemeit, amelyek beleesnek egy megadott intervallumba?


Mert akkor a harmadik ciklusnak valahogy így kell kinéznie:


for (int i = 0 ; i < szamok.Length ; i++) {

int a = szamok[i];

if (intervallum_also <= a && a <= intervallum_felso)

Console.WriteLine(a);

}

2019. jan. 20. 01:42
Hasznos számodra ez a válasz?
 7/11 A kérdező kommentje:

Köszi utolsó válaszoló meg a többieknek is köszi igen ez lenne a cél de ezt a részt nem értem ez mit jelent, miért kell egy külön változott létrehozni ? miért nem használhatom szamok[i] -t


"int a = szamok[i];"


Köszi!

2019. jan. 20. 20:13
 8/11 anonim ***** válasza:
Nem kell. Használhatod.
2019. jan. 20. 20:28
Hasznos számodra ez a válasz?
 9/11 tabaki ***** válasza:

Csak ennyit jelent: Ha az intervallum_also változó értéke kisebb vagy egyenló a szamok nevű tomb i-edik elemével, és ugyanaz a tömbelem kisebb vagy egyenlő az intervallum_felso változó értékével, akkor kell kiírni a tartalmát. Szerintem egy picivel átláthatóbb az első feltétel megfordításával: Ha a tömbelem nagyobb vagy egyenlő az alsó határral és kisebb vagy egyenlő a felsővel, akkor írd ki. Külön változó nélkül így néz ki:


for (int i = 0 ; i < szamok.Length ; i++) {

      if (szamok[i] >= intervallum_also && szamok[i] <= intervallum_felso)

            Console.WriteLine(szamok[i]);

}

2019. jan. 20. 23:22
Hasznos számodra ez a válasz?
 10/11 tabaki ***** válasza:
2019. jan. 21. 00:07
Hasznos számodra ez a válasz?
1 2

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!