|
|
|
![]() |
|
Strumenti |
![]() |
#1 | |
Senior Member
Iscritto dal: Jun 2008
Città: Pordenone (PN)
Messaggi: 3699
|
[C] Piccolo aiuto con la dichiarazione di una funzione con array
Ciao a tutti
![]() Vi lascio il codice del programma (poche righe). Si verifica già un primo errore alla riga int media_aritmetica(int vettore[10]); Quote:
![]() Hieicker
__________________
PC» PSU: Evga Supernova GQ 750W | CPU: Intel Core i5 6600k | MOTHERBOARD: AsRock Z170 Extreme 4 | RAM: HyperX Fury 16Gb DDR4 2666Mhz | VGA: Gigabyte GTX1070 G1 ![]() Playstation 4 | PSN Gamertag: Hieicker
|
|
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Jun 2008
Città: Pordenone (PN)
Messaggi: 3699
|
Ciao Antonio! Grazie per l'aiuto. Nel codice avevo già messo il numero 10 come dimensione dello stesso. Ora l'ho aggiunto anche all'interno del main.
Quote:
Alla riga " media_aritmetica(vettore[10]); " mi dice "subscripted value is neither array nor pointer nor vector". Non lo riconosce correttamente?
__________________
PC» PSU: Evga Supernova GQ 750W | CPU: Intel Core i5 6600k | MOTHERBOARD: AsRock Z170 Extreme 4 | RAM: HyperX Fury 16Gb DDR4 2666Mhz | VGA: Gigabyte GTX1070 G1 ![]() Playstation 4 | PSN Gamertag: Hieicker
|
|
![]() |
![]() |
![]() |
#3 |
Bannato
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
|
Come dice Antonio. Devi specificare la dimensione del vettore nella funzione main. Oppure puoi inizializzare l'array e calcolare la dimensione con l'operatore sizeof:
Codice:
#include <stdio.h> #include <stdlib.h> double media_aritmetica(int *vettore, int count); int main() { int operazione; int size; int vettore[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; double media = 0.0; size = sizeof(vettore)/sizeof(int); printf("inserisci l'operazione che vuoi svolgere\n"); printf("1 - Addizione\n2 - Sottrazione\n3 - Media aritmetica\n"); scanf("%d", &operazione); switch(operazione) { case 1: /*somma(operatore1,operatore2);*/ break; case 2: /*sottrazione(operatore1, operatore2);*/ break; case 3: media = media_aritmetica(vettore, size); printf("La media e': %lf", media); break; default: printf("Non hai digitato correttamente un numero"); break; } return 0; } double media_aritmetica(int *vettore, int count) { //codice int k; double somma = 0.0, media = 0.0; for ( k = 0; k < count; k++ ) { somma += (double)vettore[k]; } media = somma / count; return media; } Ultima modifica di Vincenzo1968 : 12-01-2013 alle 15:28. |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Jun 2008
Città: Pordenone (PN)
Messaggi: 3699
|
Grazie anche a te vincenzo! Volevo provare prima la soluzione statica. Ho quindi indicato la dimensione 10 all'interno del main. Se guardi il mio post precedente tuttavia ricevo ancora errore... Vorrei capire cosa sbaglio nella dichiarazione
![]()
__________________
PC» PSU: Evga Supernova GQ 750W | CPU: Intel Core i5 6600k | MOTHERBOARD: AsRock Z170 Extreme 4 | RAM: HyperX Fury 16Gb DDR4 2666Mhz | VGA: Gigabyte GTX1070 G1 ![]() Playstation 4 | PSN Gamertag: Hieicker
|
![]() |
![]() |
![]() |
#5 | |
Bannato
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
|
Quote:
Codice:
int main() { int operazione; int numero; int indice; int vettore[]; ... Codice:
int main() { int operazione; int numero; int indice; int vettore[10]; ... |
|
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Jun 2008
Città: Pordenone (PN)
Messaggi: 3699
|
Vi chiedo scusa, devo aver fatto un attimo confusione. Ecco il codice aggiornato correttamente
![]() Quote:
![]() ![]()
__________________
PC» PSU: Evga Supernova GQ 750W | CPU: Intel Core i5 6600k | MOTHERBOARD: AsRock Z170 Extreme 4 | RAM: HyperX Fury 16Gb DDR4 2666Mhz | VGA: Gigabyte GTX1070 G1 ![]() Playstation 4 | PSN Gamertag: Hieicker
|
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:23.