| Autor |
Nachricht |
Frosti
Mitglied
Benutzerprofil
Anmeldungsdatum: 22.10.2002
Beiträge: 3
|
Frosti Mitglied
15:28:00 22.10.2002 Titel: |
qsort externerlinkerfehler??? |
Zitieren |
HI leute
naja ich raffs halt noch net so ganz was man bei qsortt alles mit beben muss
naja vielleicht ligt das problem auch wo anders
hab nun die ganze seit rumgewurschtet so das keine fehler mehr angezeigt werden
ausser linker fehler
währe toll wenn sichs mal einer an sieht was ich so alles verpatz hab
viel spass beim lacen
ich weiss auch nicht soo genau ob ich nun das ganze mit Quicksort()
oder mit qsort(.....) aufrufen soll
#include <stdlib.h> ///Einfuerung der standard Bibliotheken
#include <stdio.h>
#include <time.h>
#include <io.h>
#include <string.h>
#include <search.h>
int n,Werte1[_MAX_PATH]; //array
int *pointW1 =Werte1;
void Zufallsfunktion();
//void Quicksort();
void qsort(int Werte1[], int left, int right);
void swap(int Werte1[], int i, int j);
int left,right,i,j,last;
void Inhalt();
int main() //Hauptfunktion
{
printf("\n\n\nSie haben ein Sortierungssprogramm gestartet!");
printf("\n\nGeben sie jetzt die Anzahl der Zahlen ein:");
scanf("%i", &n); //Eingabe wird gespeichert und c zugewiesen
//Bildschirmeingabe muss eine Zahl sein
while ((n!=getchar()) && n==0){
printf("Bitte geben sie eine Zahl ein!!!\n\n");
break;
}
Zufallsfunktion();
//Quicksort();
void qsort(int Werte1[], int left, int right);
Inhalt();
return 0; //gib 0 zurueck
}
//----------------------------------------------------------
void Zufallsfunktion()
{
int u;
int z;
srand( (unsigned)time( NULL ) ); //erzeuge zufällige Zahlen
for( u = 0; u < n; u++ ){
printf("Zahl %i =",u);
z = rand();
*pointW1 = z; // füllen des arry
printf("%i \n",z);
*pointW1++;
}
// right = *pointW1;
for( u = 0; u < n; u++ ){
pointW1--;
// left =*pointW1;
}
return ;
}
//-----------------------------------------------------------
void Inhalt()
{
int u;
for( u = 0; u < n; u++ ){
printf("ARRAY =%i \n",Werte1[u]);
}
return;
}
//***********************************************************
//-----------------------------------------------------------
void qsort(int Werte1[], int left, int right)
//void Quicksort()
{
void swap(int Werte1[], int i, int j);
if(left >= right){
return;
}
swap(Werte1,left,(left+right)/2);
last = left;
for (i=left+1;i<=right;i++)
if(Werte1[i]<Werte1[left])
swap(Werte1,++last,i);
swap(Werte1,left,last);
qsort(Werte1,left,last-1);
qsort(Werte1,last+1,right);
}
//------------------------------------------------------------
void swap(int Werte1[], int i, int j)
{
int temp;
temp = Werte1[i];
Werte1[i] = Werte1[j];
Werte1[j] = temp;
}
//------------------------------------------------------------ |
|
|
|
 |
Frosti
Mitglied
Benutzerprofil
Anmeldungsdatum: 22.10.2002
Beiträge: 3
|
Frosti Mitglied
17:18:00 22.10.2002 Titel: |
|
Zitieren |
ach soo manchmal kam was von wegen
keine ueberladene funktion akzeptiert zwei Parameter |
|
|
|
 |
Unregistrierter
|
Unregistrierter
17:46:00 22.10.2002 Titel: |
|
Zitieren |
Nenn das mal in myqsort um |
|
|
|
 |
Frosti
Mitglied
Benutzerprofil
Anmeldungsdatum: 22.10.2002
Beiträge: 3
|
Frosti Mitglied
17:55:00 22.10.2002 Titel: |
|
Zitieren |
kommt leider immer noch der linker fehler
halt jetzt von myqsort |
|
|
|
 |
Unregistrierter
|
Unregistrierter
18:52:00 22.10.2002 Titel: |
|
Zitieren |
Komisch, ausser dass ich kein _MAX_PATH habe, mosert mein Compiler nicht.
Kommt der Linkerfehler auch bei viel einfacheren Programmen?
Welchen Compiler benutzt Du? Vielleicht braucht der noch Settings, welche Standard-Libraries er einbinden soll.
Übrigens rufst Du Dein qsort auch nie richtig auf, Du verwendest nur die Deklaration.
BTW: Editiere hier in das Listing mal Codetags rein, damit man ggf. Fehler besser finden kann. |
|
|
|
 |
|
Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben. Sie können auf Beiträge in diesem Forum antworten. Sie können Ihre Beiträge in diesem Forum nicht bearbeiten. Sie können Ihre Beiträge in diesem Forum nicht löschen. Sie können an Umfragen in diesem Forum nicht mitmachen.
|
|
|
|
|