Buon giorno a tutti, io ho questo esercizio, ma non ne vengo alla soluzione. dopo svariati tentativi ne è uscito questo. Acquisisco su due vettori paralleli il nome dei candidati e il loro punteggio. Poi inserisco da tastiera un valore x e vado a verificare tutti i punteggi inseriti e se sono maggiori o uguali copio in un vettore (vA) l'indice del vettore dei nomi, solo che da qui iniziano i problemi:
1 - quando visualizzo vA non mi fa vedere gli indici che hanno preso un valore superiore o uguale a quello inserito.
2 - mi sapreste aiutare per la visualizzazione finale dei nominativi?
/*Problema: Realizzare un programma per la gestione della selezione per titoli
di candidati ammessi in un concorso. Al concorso potranno partecipare
solo chi ha un punteggio >= ad un valore x di riferimento.
Acquisire il nominativo degli N (N<=100) candidati ed i relativi
punteggi; considerato che ogni candidato è identificato univocamente
da un codice (0,1,2...), copiare in un vettore ammessi il codice di
coloro che hanno superato la slezione. Visualizzare i nominativi.*/
#include <stdio.h>
#include <conio.h>
#define N 100
int main(void)
{
int i=0,quanti=0,k=0;
int v2[N],vA[N],x;
char v1[N][30];
do
{
printf("Quanti sono i candidati al concorso? ");
scanf("%d",&quanti);
if ((quanti<0)||(quanti>N))
printf("ERRORE!! Devi inserire almeno un candidato e massimo 100...\n");
} while ((quanti<0)||(quanti>N));
for(i=0;i<quanti;i++)
{
printf("Inserisci il %d nome del candidato: ",i+1);
scanf("%s",&v1[i]);
printf("Inserisci il punteggio del candidato %s: ",v1[i]);
scanf("%d",&v2[i]);
}
for (i=0;i<quanti;i++)
{
printf("\nPartecipante numero:%d nome:%s punteggio:%d",i+1,v1[i],v2[i]);
}
printf("\nInserire un valore x di riferimento per il punteggio minimo: ");
scanf("%d",&x);
printf("Gli ammessi al concorso sono: \n");
for(i=0;i<quanti;i++)
{
if(v2[i]>=x)
{
vA[k]=i;
k++;
}
}
for(i=0;i<k;i++)
{
printf("%d",vA[i]);
}
getch ();
return 0;
}