Δημοσιεύτηκε: 28 Ιαν 2012, 18:34
Α ναι! Απλα βάζεις τον *list να δειχνει εκει που δειχνει και ο new και μετα κανεις free ξερω γω τον new.
Θα καθομουν να ξεσκονισω λιγο τους διπλους δεικτες αλλα τωρα έχω άλλη έγνοια. Θελω να καταφερω να τρεξω τον bubble sort
με δικο μου καταλληλο και σωστο εμφωλιασμένο for loop.
Καταλαβα τον αλγοριθμο απο την Wikipedia αρχικα πιστευα οτι το προβλημα
υπάρχει στην εισοδο και θα επρεπε να την περναω σαν string και μετα να την μετατρέπω μεσω της atoi αλλα τελικα το προβλημα μαλλον έγκειται στον ηδη υπάρχοντα αλγοριθμο που έχω και οχι τοσο στην εισοδο .
Στον παραπανω τρωω και Segm Fault βεβαια για παραπανω απο 4 στοιχεια :/
Yπαρχει αντιστοιχος κωδικας στο ιντερνετ αλλα αμα δεν το φτιαξω μονος μου να καταλαβω που κολλαω δεν εχει νοημα.
Θα καθομουν να ξεσκονισω λιγο τους διπλους δεικτες αλλα τωρα έχω άλλη έγνοια. Θελω να καταφερω να τρεξω τον bubble sort
με δικο μου καταλληλο και σωστο εμφωλιασμένο for loop.
υπάρχει στην εισοδο και θα επρεπε να την περναω σαν string και μετα να την μετατρέπω μεσω της atoi αλλα τελικα το προβλημα μαλλον έγκειται στον ηδη υπάρχοντα αλγοριθμο που έχω και οχι τοσο στην εισοδο .
- Κώδικας: Επιλογή όλων
#include<stdio.h>
int n;
void bubble_sort(int x[n]);
int main()
{
int x[n];
int i;
printf("\nGive the elements?\n");
scanf("%d",&n);
for(i=0; i<n; i++)
{
printf("\nGive a number\n");
scanf("%d",&x[i]);
}
puts("\n");
printf("===============");
printf("After sorting: ");
printf("===============");
bubble_sort(x); // This is the address of array x[n] .
for(i=0; i<n; i++)
printf("\n %d",x[i]);
return 0;
}
//----------------------------------------------------------------------
void bubble_sort(int x[n])
{
int i,j;
for(i=0; i<n; i++)
{
for(j=0; j<n-1; j++)
{
if(x[j]>x[j+1])
{
int tmp=x[j+1];
x[j+1]=x[j];
x[j]=tmp;
}
}
}
return;
}
//------------------------------------------------------------------------
Στον παραπανω τρωω και Segm Fault βεβαια για παραπανω απο 4 στοιχεια :/
Yπαρχει αντιστοιχος κωδικας στο ιντερνετ αλλα αμα δεν το φτιαξω μονος μου να καταλαβω που κολλαω δεν εχει νοημα.