PDA

View Full Version : problema scolastico


vasco1991
07-05-2012, 19:04
Ciao a tutti sono andrea e avrei un problema...ho 4 problemini stupidi ma non riesco a risolverli perchè non è il mio campo mi date una mano??

1) #include<stdio.h>
int G(int* x)
{
*x = *x + 1;
return *x + 1;
}


int F(int x)
{
x = x + 1;
return x;
}

int main()
{
int a, b;
a = 1;
b = (G(&a) + 1) + F(a);
printf("%d", a + b);
return 0;
}


Cosa viene stampato?
--------------------------------------…


#include<stdio.h>

int F(int *b)
{
int a;
a = *b * 5;
*b = *b + a;
return *b;
}

int main()
{
int a, b;
for (a = 1; a < 5; ++a)
b = F(&a);
printf(“%d”, a+b);
return 0;
}


Cosa viene stampato?

--------------------------------------…

Stabilire una dichiarazione di variabili in C che rende possibile il seguente assegnamento.
Se non č possibile motivare la risposta.

x[a] = y.a[x[3]];

--------------------------------------…

Definire un tipo di dato K, struct con un campo di nome A di tipo vettore di 100 int.
Definire un tipo di dato H, struct con un campo B di tipo K.
Scrivere una funzione con un parametro x di tipo H. La funzione deve restituire 1 se nel vettore
contenuto nel parametro x c'é un numero pari; la funzione deve restituire 0 altrimenti.

------------------------

grazie per le risposte!!!

clockover
07-05-2012, 19:58
Prima di tutto indenta il codice. Saranno 4 righe ma, almeno io, a ste cose ci tengo..

Poi per poterti aiutare devi almeno dimostrare che hai fatto qualcosa.. dicci dove trovi difficoltà. Dire che non è il tuo campo non ti aiuta :mc:

vasco1991
07-05-2012, 21:16
chiedo scusa non volevo una vera e propria soluzione volevo sapere se avevo fatto bene ad esempio

a me i risultati vengono

1) 6
2) 29
3) non l'ho capito bene :stordita:
4) a) struct K{ int A[100]};
b)struct H{ K B}; (non credo) :mbe:
c) non l'ho capita :mbe:

cosi mi potreste dare una mano? :)

clockover
08-05-2012, 17:37
Cominciamo uno per volta...


1) 6



come fa a venirti questo risultato?
int G(int* x){
*x = *x + 1;
return *x + 1;
}

In questa porzione di codice andiamo a modificare il valore contenuto all'indirizzo di memoria &a
Quindi con *x = *x + 1; andiamo a modificare il valore di a oltre che a ritornare il valore 3.
Quindi (G(&a) + 1) + F(a); = 7 dove
G(&a) + 1= 4 e
F(a) = 3

b vale 7, a vale 2, risultato finale 9... ti trovi?