Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   

Die mobilen Seiten von c++.de:
http://m.c-plusplus.de
Infos hier [BETA]

  
c++.de :: C (C89, C99 und C11) ::  qsort externerlinkerfehler???     Zeige alle Beiträge auf einer Seite Auf Beitrag antworten
Autor Nachricht
Frosti
Mitglied

Benutzerprofil
Anmeldungsdatum: 22.10.2002
Beiträge: 3
Beitrag 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 :D

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
Beitrag Frosti Mitglied 17:18:00 22.10.2002   Titel:              Zitieren

ach soo manchmal kam was von wegen
keine ueberladene funktion akzeptiert zwei Parameter
Unregistrierter





Beitrag 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
Beitrag Frosti Mitglied 17:55:00 22.10.2002   Titel:              Zitieren

kommt leider immer noch der linker fehler
halt jetzt von myqsort
Unregistrierter





Beitrag 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.
c++.de :: C (C89, C99 und C11) ::  qsort externerlinkerfehler???   Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




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.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info und www.c-plusplus.net enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.