PDA

View Full Version : risultato esercizio di programmazione


esameinfo
30-06-2011, 16:28
Ciao a tutti, avrei bisogno di un chiarimento: qual è il risultato di questo esercizio?


int fz(int a, int b[])
}
int i;
for(i=0;i<3;i++)
a = a + b[i];
return a - 1;
{
int main()
}
int v[3], a;
v[0] = 3;
v[1] = 4;
v[2] = 5;
a = fz(v[2], v);
printf("%d %d\n",a, v[2]);
return 0;
{
grazie mille!!!!

wingman87
30-06-2011, 16:33
Un errore in compilazione :Prrr:
Hai messo le graffe al contrario (magari c'è anche altro che non va, non ho guardato).

Perché non lo compili ed esegui per sapere il risultato?

EDIT: ah, ho visto ora il nick... mi sa che non possiamo aiutarti -> LINK (http://hwupgrade.it/forum/showthread.php?t=1631648)
(Al di là del regolamento... non sarebbe comunque giusto)

esameinfo
30-06-2011, 16:38
si hai ragione,mi sono accorto dopo delle parentesi,è che ho fatto copia incolla da un tema d esame..:muro: cmq adesso provo.. chiedevo perché a me viene 14 e 5,ma sul tema d esame dice 16 e 5.non capisco!

esameinfo
30-06-2011, 16:44
cmq non mi interessa farlo girare,mi serve solo sapere cosa mi da la printf.. con la chiamata di funzione alla fine a non è uguale a 14? :read:

wingman87
30-06-2011, 16:52
Scusa, pensavo scrivessi dall'esame...
No, allora il risultato è 16 perché alla funzione hai passato v[2] che vale 5, quindi nella funzione a inizialmente vale 5.
Poi ad a sommi tutti i valori del vettore, cioè 3, 4 e 5.
E infine restituisci a-1.
Quindi: 5 + 3 + 4 + 5 - 1 = 16

esameinfo
30-06-2011, 16:56
aaaaaaahhhh...adesso ho capito.. ho fatto un errore stupido..:doh: grazie mille!!!

esameinfo
15-07-2011, 21:39
ciao ragazzi,potete dirmi qual è il risultato di qst esercizio?

#include<stdio.h>
#include<stdlib.h>
typedef struct{int a,b;} K;
int funz(int *x, int *y)
{

*x=*x+*y;
*y=*x+*y;
return *x+*y;
}

int main()
{
K c;
c.a=c.b=5;
c.b=funz (&c.a,&c.a);
printf("%d",c.b);
system("pause");
return 0;
}
40 è giusto???
grazie a tutti!!!

lesto
16-07-2011, 01:10
si, dovrebbe essere giusto, ma l'unico modo per esserne certi, e per imparare a programmare, è compilare il codice e, se non da i risultati sperati, smembrarlo pezzo per pezzo per capire cosa succede.

WarDuck
16-07-2011, 15:20
si, dovrebbe essere giusto, ma l'unico modo per esserne certi, e per imparare a programmare, è compilare il codice e, se non da i risultati sperati, smembrarlo pezzo per pezzo per capire cosa succede.

Credo che il suo fine sia dare la risposta giusta senza scomodare il PC ;).

pinosx
16-07-2011, 19:07
ma gli esercizi di informatica sono diventati: indovina il numero che esce????

WarDuck
16-07-2011, 19:54
ma gli esercizi di informatica sono diventati: indovina il numero che esce????

Agli inizi serve per capire se lo studente conosce esattamente cosa fa il codice.

I peggiori sono quelli con le fork() annidate in cicli for :D.