Ciao a tutti, volevo realizzare con questo algoritmo, l'inserimento di valori all'interno dell'array solo se diversi da quelli gia presenti, il malfunzionamento avviene perche gli elementi sono sempre inseriti in prima posizione. Perchè? Grz!
codice:
#include <stdio.h>
#include <stdlib.h>
/* voglio inserire degli elementi solo se non sono gia presenti all'interno */
void stampa_array(char *a[], int n);
int inserimento_valore(char *a[], char *v, int n);
main(){
char *artisti[50];
char confronto[50];
int x = 0;
/* stampa_array(artisti, x); */
for(;;){
printf("x: %d\n", x);
scanf("%s", confronto);
x = inserimento_valore(artisti, confronto, x);
}
system("pause");
}
int inserimento_valore(char *a[], char *v, int n){
int i;
for(i=0; i<n && strcmp(a[i],v)!=0;i++);
printf("uscita del for con i: %d", i);
if(i==n) {a[i] = v; n++;}
stampa_array(a, n);
return n;
}
void stampa_array(char *a[], int n){
int i;
printf("stampa array\n");
for(i=0;i<n;i++) printf("%s\n", a[i]);
}