Aiuto esercitazione in C

di il
4 risposte

Aiuto esercitazione in C

Ciao a tutti, ho un piccolo problema con una esercitazione in c.
Una volta che faccio girare il seguente programma, mi dice questo:
[Error] conflictng types for 'greaterThen' previous decleration of greaterThen was here.

#include <stdio.h>
#define SIZE 10

int greatherThen(int,int);

int main()
{
int n[SIZE] = {19,3,15,7,11,9,13,5,17,1};
int i;
int k;

printf("%s%13s\n","Element","Value");

for ( i = 0; i <= SIZE - 1; i++ ) {
printf("%7d%13d",i,n) ;
printf("\n");
}

printf("inserisci un valore da assegnare a k= ");
scanf("%d", &k);

greatherThen(n[SIZE],k);

return 0;
}

int greatherThen(int n[],int k){
int j;
int c=0;

for(j=0; j<= SIZE - 1; j++){
if(n[j]>k)
c++;
}
printf("Gli elementi di n[] maggiori di k sono: %d",c);

}

qualcuno può aiutarmi? Grazie

4 Risposte

  • Re: Aiuto esercitazione in C

    La definizione della funzione greaterThan e il suo prototipo sono diversi.
    Hai scritto:
    int greaterThan(int,int);
    e poi scrivi
    int greaterThan(int n[],int k){...}
    La prossima volta, per favore usa i tag
    .
  • Re: Aiuto esercitazione in C

    Perdonami sono nuovo, userò il tag [Code] le prossime volte. Comunque, quale devo modificare prototipo o intestazione? in che modo? Scusate sto iniziando ora col C e sono le mie prime prove. Grazie
  • Re: Aiuto esercitazione in C

    La tua funzione utilizza n come array: di conseguenza il tuo prototipo deve essere
    int greaterThan(int n[], int k);
    Altro errore. Questo:
    greaterThan(n[SIZE],k);
    è scorretto. Non stai passando l'array n di grandezza SIZE: invece, stai passando l'elemento di n nella posizione SIZE (che tra l'altro non esiste, dato che gli elementi di n vanno da 0 a SIZE-1).
    Devi invece scrivere:
    greaterThan(n, k);
  • Re: Aiuto esercitazione in C

    Grazie mille
Devi accedere o registrarti per scrivere nel forum
4 risposte