Problema con array

di il
1 risposte

Problema con array

Salve dovrei svolgere un esercizio che mi chiede di inserire degli elementi in un array,poi immettere una chiave da ricercare tra gli elementi degli array e se essa è presente,anche piu di una volta,devo stampare la posizione in cui essa si trova,cioe stampare l'indice.La mia idea era quella di dichiarare un altro array in cui inserire i valori della/e posizione/i in cui trovo la chiave pero quando stampo il secondo array mi escono valori tutti sballati..Qualcuno potrebbe aiutarmi?
#include <stdio.h>
void main()
{
int a[20],b[20],n,i,j,chiave;
int trovato=0;
int j=0;
do
{
printf("Quanti numeri saranno inseriti? ") ;
scanf("%d",&n) ;
if (n>20 || n<=0)
printf("Errore: il numero deve essere compreso tra 0 e 20\n");
}
while(n>20 || n<=0);
for(i=0;i<n;i++)
{
printf("Elemento %d: ", i+1) ;
scanf("%d",&a[i]);
}
printf("\n");
printf("Inserisci chiave: ");
scanf("%d",&chiave);
for(i=0;i<n;i++){
if(a[i]==chiave){
b[j]=i;
j++;}
else
    continue;}
for(j=0;j<20;j++)
printf("%d\n",b[j]);
}

1 Risposte

  • Re: Problema con array

    Succede perché tu ne visualizzi comunque 20, a prescindere da quanti ne abbia effettivamente trovati (possono essere meno ...).

    In realtà il secondo vettore non ti serve ... quando trovi la chiave, visualizza i e basta
Devi accedere o registrarti per scrivere nel forum
1 risposte