Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdlib.h>
- void ord_sel_min(char a[],int n);
- void min_val_ind(char a[],int size_a,char *min_array,int *i_min);
- void scambiare(char *a,char*b);
- void ord_sel_min(char a[],int n)
- {
- int i,i_min;
- char min_array;
- for(i=0;i<n;i++)
- {
- min_val_ind(&a[i],n-1,&min_array,&i_min);
- scambiare(&a[i],&a[i_min+i]); // [i_min+i] rappresenta lo spiazzamento della memoria: dato che min_val_ind restituisce indici da
- // 0 a n, bisogna sommare ad essi l'indice i per avere la posizione corretta nell'array principale.
- }
- }
- void min_val_ind(char a[],int size_a,char *min_array,int *i_min)
- {
- int i;
- *min_array=0;
- *i_min=0;
- for(i=0;i<size_a;i++)
- {
- if(a[i]<*min_array)
- {
- *min_array=a[i];
- *i_min=i;
- }
- }
- }
- void scambiare(char *a,char*b)
- {
- char var_app;
- var_app=*a;
- *a=*b;
- *b=var_app;
- }
- int main()
- {
- int i,size_testo;
- char testo[100];
- printf("Inserisci la quantita di caratteri desiderata:");
- scanf("%d",&size_testo);
- for(i=0;i<size_testo;i++)
- {
- printf("Inserisci testo[%d]=",i);
- scanf(" %c",&testo[i]);
- }
- printf("Array disordinato:\n");
- for(i=0;i<size_testo;i++)
- {
- printf("%c",testo[i]);
- }
- ord_sel_min(testo,size_testo);
- printf("Array ordinato:\n");
- for(i=0;i<size_testo;i++)
- {
- printf("%c",testo[i]);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement