WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 08.10.2004, 17:33   #1
porli
minderwertiges individuum
 
Registriert seit: 09.09.2002
Beiträge: 1.888


porli eine Nachricht über ICQ schicken
Frage sortieralgorythmen (schattenzahl)

helo mädels! *g*

und zwar versuch ich sortieralgorythmus zu "entwickeln"

also es sollen z.B. 15 zahlen eingeben werden und dann ein menü zur auswahl nach welcher stelle sortiert werden soll!

z.B. nach der einer-stelle also

eingegeben: sortiert:
5 10
6 11
7 12
8 13
9 14
10 5
11 6
12 7
13 8
14 9

und ich hab ma auch scho was überlegt!

also ich lass auswählen und diviedier dann die zahlen durch z.B. 10 oder 100 damit nur die stelle überbleibt!

doch dann veränder ich die zahl! und kann sie nicht mehr richtig ausgeben!

jetzt such ich sowas wie eine schattenzahl zum zuordnen!

also ich hab ein feld mit x elementen und kopier dieses. diviedier das zweite feld und sortier dieses und jetzt muss ich irgendwie das origninal feld in der sortierten reihenfolge ausgeben! nur wie!?!

is das halbwegs verständlich!?!
____________________________________

http://www.againsttcpa.com
Don\'t let them take your rights!
porli ist offline   Mit Zitat antworten
Alt 08.10.2004, 20:19   #2
pong
Inventar
 
Benutzerbild von pong
 
Registriert seit: 25.12.2000
Alter: 41
Beiträge: 9.063

Mein Computer

pong eine Nachricht über ICQ schicken
Standard

kannst mal ein komplettes kommentiertes Beispiel vorzeigen? Ich komme leider nicht ganz mit, oder meinst du mit "Schattenzahl" einen Index?

pong
____________________________________
\"Ein Gewitter reinigt die Luft\", sagte der Mann, nachdem ein Blitz seine Frau erschlug

Nicht klicken!


Erstposteralarm/Beschwerde/Kummerkasten


Verplattet
pong ist offline   Mit Zitat antworten
Alt 08.10.2004, 20:35   #3
porli
minderwertiges individuum
 
Registriert seit: 09.09.2002
Beiträge: 1.888


porli eine Nachricht über ICQ schicken
Standard

natürlich! ich weiß nicht genau wie ichs erklären soll!

das is mal das up zum sortieren
Code:
 
void sort(int upstelle,int upanzahl,int *p_feld)
{
   int i = 0;
   int j = 0;
   int tmp = 0;

   for (i=0;i<upanzahl;i++)
   {
      p_feld[i]=((p_feld[i])/(upstelle));
   }

   for (i=0; i<upanzahl; i++)
	{
		for (j=i; j<upanzahl; j++)
		{
			if ((p_feld[i])>(p_feld[j]))
			{
		 		tmp=p_feld[i];
		 		p_feld[i]=p_feld[j];
		 		p_feld[j]=tmp;
		 	}
	 	}
   }

}
das funzt prima für ganzzahliges sortieren! upstelle is beim sortieren nach der zehnerstelle z.B. 10!


es sortieren würd scho funktionieren nur brauch ich wieder die ursprünglichen zahlen wie sie im feld drinstehn allerdings in der richtigen reihenfolge.

probier noch ein bsp:

unsortiert:
1,2,3,4,5,6,7,8,9,10,11,12,13,14

sortiert nach einer-Stelle:
10,1,11,2,12,3,13,4,14,5,6,7,8,9
____________________________________

http://www.againsttcpa.com
Don\'t let them take your rights!
porli ist offline   Mit Zitat antworten
Alt 08.10.2004, 20:58   #4
flinx
Inventar
 
Registriert seit: 08.04.2001
Beiträge: 3.101


Standard

Für was schreibst eigentlich die Werte im Array neu?
Was du willst, solltest ja mit
Code:
if ((p_feld[i]/(upstelle))>(p_feld[j]/(upstelle)))
auch erreichen, ohne die Arrayinhalte zu ändern.
flinx ist offline   Mit Zitat antworten
Alt 08.10.2004, 22:50   #5
harry3
Inventar
 
Registriert seit: 11.06.2001
Alter: 38
Beiträge: 2.397


harry3 eine Nachricht über ICQ schicken
Standard

Du musst aber beachten: Wenn du nach 100er Stelle ordnest, so kann es ja sein, dass viele Zahlen gleich sind(z.B. 451 und 478 und 410 usw...). Du musst also neben der 100er Stelle auch noch die Stellen nachher überprüfen um zu einem vernünftigen Ergebnis zu kommen.

Eigentlich müsstest du mit 1 Array auskommen.

Jetzt lass ich dich mal ein bisschen düffteln, das bringt einen beim Programmieren am meisten Weiter.
Wenn du's gar nicht auf die Reihe bekommst, dann melde dich wieder. Aber vorerst will ich keine Codes reinstellen. Denn sonst lernt du ja nichts



Grüße,
Harri
harry3 ist offline   Mit Zitat antworten
Alt 10.10.2004, 19:58   #6
porli
minderwertiges individuum
 
Registriert seit: 09.09.2002
Beiträge: 1.888


porli eine Nachricht über ICQ schicken
Standard

wie schaff ich es eine zahl nach der einerstelle abzuschneiden!
also so dass ich nur mehr die einerstelle hab!
gibts da nicht irgendsowas!?! mod oda so?!
____________________________________

http://www.againsttcpa.com
Don\'t let them take your rights!
porli ist offline   Mit Zitat antworten
Alt 12.10.2004, 19:54   #7
harry3
Inventar
 
Registriert seit: 11.06.2001
Alter: 38
Beiträge: 2.397


harry3 eine Nachricht über ICQ schicken
Idee Hallo!

int eingabe=386, einerstelle=0;
einerstelle=eingabe%10;

In der Variablen Einerstelle steht nun die Einerstelle der Zahl eingabe. (also im Bsp. eine 6)


Grüße,
Harri
harry3 ist offline   Mit Zitat antworten
Alt 13.10.2004, 19:53   #8
porli
minderwertiges individuum
 
Registriert seit: 09.09.2002
Beiträge: 1.888


porli eine Nachricht über ICQ schicken
Standard

bin auch scho draufkommen! danke!
jetzt passt alles!
____________________________________

http://www.againsttcpa.com
Don\'t let them take your rights!
porli ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 02:19 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag