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 02.06.2002, 12:15   #1
S@ndy
Jr. Member
 
Registriert seit: 09.05.2002
Alter: 44
Beiträge: 46


Standard Array in C (Übergabe und Sort)

Hallo,

Habe eine Frage bezüglich Array und Funktion..
Wie kann ich einer Funktion ein Array übergeben...?

und wie kann ich in einem int Array nach den Werten sortieren lassenß
habe in meinem buch den sort befehl gefunden

bsp.

int array[3] = {4, 7, 3};
sort (array, 3);

leider funktioniert das so nicht...

und wie kann ich jetzt das array übergeben damit ich es weiter so mit den index verwenden kann?

DANKE
lg
S@ndy
____________________________________
S@ndy
S@ndy ist offline   Mit Zitat antworten
Alt 02.06.2002, 13:38   #2
Sonic
Master
 
Registriert seit: 28.03.2000
Alter: 45
Beiträge: 691


Sonic eine Nachricht über ICQ schicken
Standard

Hi!

Anbei ein kleiner Beispielcode der einen bubblesort macht.
Das ist einer der leichtersten sortieralgorythmen und ist (bei nicht allzu großen Einträgen) auch recht schnell.

Ich hoffe ich hab weder einen überlegungs noch schreibfehler drinnen. Ich kanns leider zZt nicht testen da ich nicht daheim bin und hier keinen Compiler hab.

lg

Code:
void sortieren (int *array, int last);

void main(void)
{
  int array[5]={4,1,6,9,2};
  sortieren(array,4);
}

void sortieren (int *array, int last)
{
  int i, j, temp;

  for (i=last;i>0;i--)
  {
    for (j=0;j<i;j++)
    {
      if (array[j]>array[j+1])
      {
        temp=array[j];
        array[j]=array[j+1];
        array[j+1]=temp;
      }
    }
  }
}
ps.: Hatte ein paar kleine Fehler drinnen. Code funktioniert jetzt.

lg
____________________________________
__________________
|»»»»»SONIC««««««|
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Sonic ist offline   Mit Zitat antworten
Alt 03.06.2002, 08:55   #3
wizo
Inventar
 
Registriert seit: 13.12.1999
Alter: 43
Beiträge: 2.929


wizo eine Nachricht über ICQ schicken
Standard

falls du es aus dem code nicht siehst
du mußt auf das array mittels pointer in der sortierfunktion zugreifen
ein ganzes array kann in c nicht übergeben werden soweit ich weiß
____________________________________
//---< wizo >---\\\\
wizo ist offline   Mit Zitat antworten
Alt 03.06.2002, 09:15   #4
S@ndy
Jr. Member
 
Registriert seit: 09.05.2002
Alter: 44
Beiträge: 46


Standard Funkt noch net ganz

hallo,

hab das proggi (danke jetzt hab ich endlich verstanden warum meine arrayübergabe net funktioniert hat --> ich hab immer hinten [3] dazu geschrieben und er hat mir natürlich nur das 3. element übergeben...)
jetzt compiliert und macht leider net ganz das was ich wollte
es sortiert net alle...
ausgabe...
4 1 6 9 2
1 4 6 2 9

kannst du mir da noch weiterhelfen und vielleicht auch erklären warum er das so tut - ganz herzlichen DANK!!!!

lg
S@ndy
____________________________________
S@ndy
S@ndy ist offline   Mit Zitat antworten
Alt 03.06.2002, 09:22   #5
wizo
Inventar
 
Registriert seit: 13.12.1999
Alter: 43
Beiträge: 2.929


wizo eine Nachricht über ICQ schicken
Standard

code?
____________________________________
//---< wizo >---\\\\
wizo ist offline   Mit Zitat antworten
Alt 03.06.2002, 09:32   #6
tuxlux
Jr. Member
 
Registriert seit: 21.03.2002
Beiträge: 48


Standard

muss wohl >= 0 sein
tuxlux ist offline   Mit Zitat antworten
Alt 03.06.2002, 10:25   #7
S@ndy
Jr. Member
 
Registriert seit: 09.05.2002
Alter: 44
Beiträge: 46


Standard Code

Der Code der oben im Beitrag von Sonic steht....
____________________________________
S@ndy
S@ndy ist offline   Mit Zitat antworten
Alt 03.06.2002, 10:36   #8
wizo
Inventar
 
Registriert seit: 13.12.1999
Alter: 43
Beiträge: 2.929


wizo eine Nachricht über ICQ schicken
Standard

Code:
void sort (int* array, int laenge)

{

	int a, b, temp;					//Bubble

	for (a=0; a<laenge-1; a++)

	{

		for (b=a+1; b<laenge; b++)

		{

		if (array [a] > array [b])

		{

			temp = array[a];

			array[a] = array[b];

			array[b] = temp;

		}

		}

	}

}
____________________________________
//---< wizo >---\\\\
wizo ist offline   Mit Zitat antworten
Alt 03.06.2002, 11:16   #9
S@ndy
Jr. Member
 
Registriert seit: 09.05.2002
Alter: 44
Beiträge: 46


Cool Danke

super danke
hab ich sogar verstanden den code...
____________________________________
S@ndy
S@ndy 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 17:57 Uhr.


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