Programma con array

di il
3 risposte

Programma con array

Ciao ragazzi ! Mi sono appena avvicinato alla programmazione in C. Potreste darmi una mano con questo esercizio :
Input : Un array v di 20 interi
Output: Il numero di coppie (i,j) tali che v < v[j]
#include <stdio.h>
#include <math.h>
int main()
{
int v[20],i,j,k,risultato;
for(k=0;k<20;k++)
scanf("%d", &(v[k]));
while(scanf("%d", &(v[k]))!=1);
risultato=0
for(i=0;i<20;i++)
for(j=0;j<20;j++)
if((v[i]>v[j]) || (v[j]>v[i]))
risultato++
printf("numero di coppie = %d\n",risultato);
}
Quando lo eseguo mi fa inserire 21 interi e non 20 , e se inserisco i numeri interi da 1 a 21 mi da come risultato 380 , ma non dovrebbe essere 210 ?
Grazie per l'aiuto

3 Risposte

  • Re: Programma con array

    Sarebbe da vedere che compilatore usi per dire quando lo esegui. Ciò conferma che il tuo codice è compilabile cosa che ad occhio si vede che non è. Quindi correggi prima il codice e poi vediamo dove sono gli errori.
  • Re: Programma con array

    Il compilatore è gcc
  • Re: Programma con array

    Il codice non è compilabile mancano dei puntoevirgola.
    Utilizzi il FOR per leggere il vettore e poi in uscita esegui un WHILE andando in overflow by one: gli elementi sono 20 e non 21. La condizione test è errata
Devi accedere o registrarti per scrivere nel forum
3 risposte