Klaus1980
19.05.2002, 18:23
Hi,
soweit hab ich das Programm nun mal geschrieben. Hab ich grösstenteils aus meinem Script. Läuft aber net.
#include <stdio.h>
#include <stdlib.h>
#define groesse 100
void MSort(int Array[],int MergeArray[], int ArraySize);
void MergeSort(int Array[], int ArraySize );
int main ()
{
int Array[groesse];
int i;
int n=0;
printf("Wieviele Zahlen moechten Sie eingeben ?");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("Bitte geben Sie ihre %d. Zahl ein: ",i+1);
scanf("%d",&Array[i]);
}
void MSort(int Array[],int MergeArray[], int ArraySize); // Aufruf der Funktion MSort
printf("Sie haben die folgenden Zahlen eingegeben:");
for(i=0;i<n;i++)
{
printf("%d ",Array[i]);
}
printf("\n");
return 0;
}
// Funktion zum Sortieren
void MSort(int Array[],int MergeArray[], int ArraySize)
{
if(ArraySize>1)
{
MSort(Array,MergeArray,ArraySize/2);
MSort(Array+ArraySize/2,MergeArray,ArraySize-ArraySize/2);
MergeSort(Array,MergeArray,ArraySize);
}
}
void MergeSort(int Array[], int ArraySize )
{
int *MergeArray;
MergeArray=(int*) malloc(sizeof(int) * ArraySize);
MSort(Array,MergeArray,ArraySize);
free(MergeArray);
}
Bekannte Fehler:
1.was muss ich bei welcher der Funktionen zurückgeben ?
2. Ich ruf die Funktion MergeSort mit 3 Parameter auf, aber die Fkt. akzeptiert nur 2. Was tun ? Sind alle 3 nötig ?
Kann jemand mir kurz helfen damit ich das zum laufen bekomme oder mir ne korrekte CodeBlock der Fkt. MSort/MergeSort posten.
Die Funktion ist ja relativ bekannt.
mfg klaus1980
soweit hab ich das Programm nun mal geschrieben. Hab ich grösstenteils aus meinem Script. Läuft aber net.
#include <stdio.h>
#include <stdlib.h>
#define groesse 100
void MSort(int Array[],int MergeArray[], int ArraySize);
void MergeSort(int Array[], int ArraySize );
int main ()
{
int Array[groesse];
int i;
int n=0;
printf("Wieviele Zahlen moechten Sie eingeben ?");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("Bitte geben Sie ihre %d. Zahl ein: ",i+1);
scanf("%d",&Array[i]);
}
void MSort(int Array[],int MergeArray[], int ArraySize); // Aufruf der Funktion MSort
printf("Sie haben die folgenden Zahlen eingegeben:");
for(i=0;i<n;i++)
{
printf("%d ",Array[i]);
}
printf("\n");
return 0;
}
// Funktion zum Sortieren
void MSort(int Array[],int MergeArray[], int ArraySize)
{
if(ArraySize>1)
{
MSort(Array,MergeArray,ArraySize/2);
MSort(Array+ArraySize/2,MergeArray,ArraySize-ArraySize/2);
MergeSort(Array,MergeArray,ArraySize);
}
}
void MergeSort(int Array[], int ArraySize )
{
int *MergeArray;
MergeArray=(int*) malloc(sizeof(int) * ArraySize);
MSort(Array,MergeArray,ArraySize);
free(MergeArray);
}
Bekannte Fehler:
1.was muss ich bei welcher der Funktionen zurückgeben ?
2. Ich ruf die Funktion MergeSort mit 3 Parameter auf, aber die Fkt. akzeptiert nur 2. Was tun ? Sind alle 3 nötig ?
Kann jemand mir kurz helfen damit ich das zum laufen bekomme oder mir ne korrekte CodeBlock der Fkt. MSort/MergeSort posten.
Die Funktion ist ja relativ bekannt.
mfg klaus1980