DOMANDA Programma C++

P

Paper

Ospite
Buonasera a tutti,ho un problema con questa funzione.La mia idea era questa(sono alle primissime armi quindi è probabile che dica una fesseria):


/*Esercizio 1
int conteggio(int v[MAX], int val)
Scrivere una funzione che riceve in ingresso un vettore v di interi di dimensione
MAX = 100, ed un valore intero val. La funzione deve restituire il numero di
volte in cui val compare nel vettore v. */


#include <iostream>
#include <cstdlib>
using namespace std;


#define MAX 10


int i,val;


int conteggio(int v[MAX], int val);


int main()
{
int v[MAX];
cout<<"Inserisci il valore di val: "<<endl;
cin>>val;
cout<<"\n Inserisci gli elementi del vettore: "<<endl;
for (i=0;i<MAX;i++)
{
cin>>v;
}
cout<<conteggio(v,val)<<endl;
system ("pause");
return 0;
}






int conteggio(int v[MAX], int val)
{
for(i=0;i<MAX;i++)
{
if( i == val)


cout<<"Val è apparso tot volte: "; // e da qui???


Il problema sta proprio nella funzione,non so come articolarla.(corpo funzione,return ecc):help:
 

Ersa

Nuovo Utente
26
5
CPU
Intel Core i5 2500
Scheda Madre
Asus P8H67
RAM
8GB
GPU
Gainward GeForce GTX 660
Monitor
Samsung 23'' HDready
PSU
OCZ ZX850W
Case
Haf 912
OS
Windows 7 64 bit
Io farei così: [C++] int conteggio(int v[MAX], int val){ int contatore=0; for(i=0;i<MAX;i++){ if(v - Pastebin.com

Potrei aver sbagliato nella sintassi quindi perdonami, ma non uso C++.

In breve la funzione prende in input il tuo array e il valore. Poi iteri MAX volte sull'array e nel corpo del tuo for domandi: il valore dell'array è uguale a "val"? Se si, aumenti di 1 il tuo contatore, altrimenti nada. Quando esce dal ciclo fai ritornare la tua variabile di supporto(che muore nella funzione) al main.

Occhio che se metti if(i==val) il ciclo fa questo:

ex: val=65
i parte da 0 -> cicla 0=65? no
i diventa 1 -> cicla 1=65? no
i diventa 2 -> cicla 2=65? no
...
i diventa 65 -> cicla 65=65? si
...
i diventa 99 -> cicla 99=65? no

return contatore -> che è 1

Quindi alla fine la funzione ti darà sempre 1 e non è quello che ti chiede il testo.
 
P

Paper

Ospite
Esatto il problema era proprio quello! Mi ostinavo a mettere l'indice "i " al posto dell'elemento del vettore vero e proprio "v"!(non rendendomi conto chiaramente,i famosi problemi delle prime armi)
Il programma funziona alla perfezione,sei stato chiarissimo e gentilissimo,ti ringrazio davvero tanto e alla prossima "programmata"!
ciaooo:)
 
  • Mi piace
Reazioni: Ersa

Ci sono discussioni simili a riguardo, dai un'occhiata!

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili