PDA

Visualizza la versione completa : problema in c


vasco91
07-05-2012, 20:10
Salve a tutti avrei un problemino avrei bisogno di queste 4 soluzioni qualcuno mi potrebbe dare una mano grazie!!

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!!!

Scara95
07-05-2012, 20:12
I compiti si fanno, non si delegano...

goatboy
07-05-2012, 20:55
Ma perch arrivano sempre qui le persone che hanno bisogno di farsi fare i compiti? :confused: :confused:

vasco91
07-05-2012, 21:13
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 :madai!?:
4) a) struct K{ int A[100]};
b)struct H{ K B}; (non credo) :madai!?:
c) non l'ho capita :madai!?:

cosi mi potreste dare una mano? :shy:

Scara95
07-05-2012, 21:19
A me gi il primo viene 9, non ne sono certo perch ho fatto un calcolo a mente in 2 secondi, comunque attento che alla prima funzione viene passato un puntatore...

vasco91
07-05-2012, 21:25
scusa non sono una cima mi sono stati proposti questi problemi come test d' ingresso ma sono cose che ho fatto un p di tempo fa con i puntatori come dovrei comportaremi... chiedo ancora scusa... un posto di lavoro che mi ha fatto questo test e mi ha dato un 30tina di domande per vedere la mia conoscenza mi mancano queste 4 vi prego...
per lo meno spiegatemele non voglio il risultato pronto

Scara95
07-05-2012, 21:54
I puntatori sono alla base del C, sono un indirizzo di memoria quindi, una volta passati alla funzione, la variabile da essi puntata modificabile e sar modificata anche all'esterno della funzione...
ecco (http://programmazione.html.it/guide/lezione/1106/puntatori-e-funzioni/)

Scara95
07-05-2012, 21:57
Per fare il terzo devi avere una conoscenza base di strutture e array, gli indici degli array posono essere solo int e quindi saranno 2 array di int, uno contenuto in una struttura...

P.s. leggi un po' dalla guida e risolvi il resto...

vasco91
07-05-2012, 21:58
quindi nel primo caso verrebbe 9 perch? :dh: :dh:

vasco91
07-05-2012, 22:02
il terzo sarebbe

int x [a]
struct y { int a[3]};

giusto?

Loading