Salve ragazzi, sono nuovo in questo forum, e innanzitutto volevo salutarvi, sono uno studente di ingegneria informatica, e mi sto esercitando con alcuni programmini in linguaggio C, sono alle prime armi quindi avrei qualche problema e spero che mi aiutate...
Sto "scapocciando" con questo esercizio.
/*Scrivere una funzione void bubblesort(int* v, int n) che ordina
l'array v di n interi passato come parametro usando l'algoritmo di ordinamento a bolle (bubblesort8).
Scrivere un main di prova per testare la correttezza della funzione realizzata.
* PROTOTIPO
* for i = 1:n,
swapped = false
for j = n:i+1,
if a[j] < a[j-1],
swap a[j,j-1]
swapped = true
? invariant: a[1..i] in final position
break if not swapped
end
*
* */
#include <stdio.h>
#include <stdlib.h>
int main () {
int i, a;
printf("inserisci il numero di interi che avrà il vettore\n");
scanf ("%d", &a);
int * vettore = malloc (a*sizeof (int));
for (i = 0; i<a; i++){
printf ("inserisci il %d numero\n", i);
scanf ("%d", &vettore[i]);
}
//stampo il vettore in disordine
stampo (vettore, a); //a il numero di elementi
//lo invio a bubblesort per essere ordinato
bubblesort (vettore, a);
//Stampo vettore ordinato
stampo (vettore, a);
}
void stampo (int* v, int a){
int i;
for (i = 0; i<a; i++){
if (i == a-1){
printf ("%d.\n", v[i]);
}
else {
printf ("%d, ", v[i]);
}
}
}
void bubblesort(int* v, int n){
int i, j, temp;
int swapped;
for (i = 1; i<n; i++){
swapped = 0;
for (j = n; j > i; j-- ){
if (v[j]<v[j-1]){
temp = v[j];
v[j] = v[j-1];
v [j-1] = temp;
swapped = 1;
}
}
if (!swapped) return;
}
}
Dal Teminale mi da questo Warning
Deme9.c:43:7: warning: conflicting types for ‘stampo’ [enabled by default]
void stampo (int* v, int a){
^
Deme9.c:33:2: note: previous implicit declaration of ‘stampo’ was here
stampo (vettore, a); //a il numero di elementi
^
Deme9.c:56:6: warning: conflicting types for ‘bubblesort’ [enabled by default]
void bubblesort(int* v, int n){
^
Deme9.c:36:2: note: previous implicit declaration of ‘bubblesort’ was here
bubblesort (vettore, a);
^
Non so dove sto sbagliando .. sicuramente ha a che fare con i processi void bubblesort e stampo, essendo alle prime armi ancora no riesco a capire il problema, spero mi date una mano
Grazie in anticipo