Kezdőoldal » Számítástechnika » Programozás » Hogyan lehet C#-ban rendezni?...

Hogyan lehet C#-ban rendezni? ABC-re és számra?

Figyelt kérdés

Olyan gondom van,hogy nagyjából kész az egész program,csak pár hibát ir ki.

1. hiba: a rendezésnél néha nem tudom nagy számokat irok vagy valami,mikor beirtam minden adatot, amikor a rendezett listát akarja kiirni azt a hiba üzenetet kapom,hogy az "index határán túl mutat'-hogy ez miért lehet?

2. feladatom meg,hogy névre (ABC) rendezzem a tömböt. Sikerült compareto-val csak most azt irja ki 0,1,-1 éppen hogyan van sorrendben a két szöveg. Nekem emg az a feladatom,hogy ugy irassam ki,hogy névre rendezi és kiirja pl.: Béla,10 alája Dénes,20.


Eddig kész program kódja:


using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;


namespace _2016._05._19

{

class Program

{

class x

{

private string a;

private int b;


public x(string aa, int bb)

{

a = aa;

b = bb;

}


public string GetA()

{

return a;

}


public int GetB()

{

return b;

}


public void SetB(int sb)

{

b = sb;

}

}


static void Main(string[] args)

{

Console.Write("Kérem az 'n' értékét: ");

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


x[] t = new x[n];


for (int i = 0; i < n; i++)

{

Console.Write("Kérem a(z) {0}. 'a' értéket (szöveg): ", i + 1);

string bea = Console.ReadLine();

Console.Write("Kérem a(z) {0}. 'b' értéket (szám): ",i+1);

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

Console.WriteLine();


t[i] = new x(bea,beb);

}


x seged;

for (int i1 = 1; i1 <= n - 1; i1++)

{

for (int i2 = 0; i2 < n - 1; i2++)

{

if (t[i2].GetB() > t[i2 + 1].GetB())

{

seged = t[i2];

t[i2] = t[i2 + 1];

t[i1 + 1] = seged;

}

}

}


Console.WriteLine("Rendezett tömb 'b' értékre:");

for (int i = 0; i < n; i++)

{

Console.Write(t[i].GetB()+",");

}

Console.WriteLine();

Console.WriteLine("Névre rendezve 'a' értékre: ");


int ertek = 0;

for (int i = 0; i < n; i++)

{

ertek = t[i].GetA().CompareTo(t[i].GetA());

}

Console.WriteLine(ertek);



Console.ReadKey();

}

}

}



#programozás #Visual C# #rendezés #C# programozás #C# programozás rendezés #C# rendezés abc #programozás rendezés abc
2016. jún. 2. 17:55
 1/6 anonim ***** válasza:
100%

Hát nem így.

A semmitmondó nevek miért nincsenek még mindig javítva?

2016. jún. 2. 18:15
Hasznos számodra ez a válasz?
 2/6 anonim ***** válasza:
100%

Írd már át ezeket a neveket valami értelmesre, könyörgöm.

Egyébként meg, ha n eleme van a tömbödnek, akkor n-1 az utolsó index, lévén 0-tól kezdődik az indexelés. Ennek okán a ciklusaidban eléggé túlindexelsz. i1<=n önmagában túlindexeléshez vezet, de i2<n mellett t[i2+1] elemet elkérni SZINTÉN túlindexelést fog okozni. (t[i1+1] meg aztán végképp a halál faszáig elindexel).

2016. jún. 2. 18:27
Hasznos számodra ez a válasz?
 3/6 anonim ***** válasza:

Néhány apró módosítással:

[link]

2016. jún. 2. 20:03
Hasznos számodra ez a válasz?
 4/6 anonim ***** válasza:

Hahaha mennyivel szebb, ég és föld.

Egyetlen dolog, hogy a _-val kezdődő változóneveket nem erőltetném, indokolatlan és rontja az olvashatóságot.

2016. jún. 2. 20:17
Hasznos számodra ez a válasz?
 5/6 SimkoL ***** válasza:
Akkor talán most meséljetek a kérdezőnek a Linq-ról is, mert szerintem halovány fogalma nincs róla.
2016. jún. 2. 21:47
Hasznos számodra ez a válasz?
 6/6 anonim ***** válasza:
Not my fuckin problem.
2016. jún. 3. 10:17
Hasznos számodra ez a válasz?

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!