Vash88
14-01-2008, 09:24
devo leggere 3 interi e metterli in memoria heap con 3 puntatori P1, P2, P3.
Poi tramite procedura fare in modo che P1 punti alla cella precedentemente indirizzata da P2, P2 punti alla cella precedentemente indirizzata da P3 e P3 punti alla cella precedentemente indirizzata da P1.
il mio tentativo è atroce perchè non ci ho capito niente :(
#include <stdio.h>
#include <stdlib.h>
void scambia3(int*,int*,int*);
int main(void)
{
int X, Y, Z;
int*P1,*P2,*P3;
P1=(int*)malloc(sizeof(int)); P2=(int*)malloc(sizeof(int)); P3=(int*)malloc(sizeof(int));
printf("inserire X, Y e Z");
scanf("%d%d%d",&X,&Y,&Z);
scambia3(P1,P2,P3);
printf("i valori scambiati di X, Y e Z sono %d %d %d",*P1 ,*P2, *P3);
system("PAUSE");
}
void scambia3(int*P1,int*P2,int*P3)
{
int Ptemp;
Ptemp=*P1;
*P1=*P2;
*P2=*P3;
*P3=Ptemp;
}
Poi tramite procedura fare in modo che P1 punti alla cella precedentemente indirizzata da P2, P2 punti alla cella precedentemente indirizzata da P3 e P3 punti alla cella precedentemente indirizzata da P1.
il mio tentativo è atroce perchè non ci ho capito niente :(
#include <stdio.h>
#include <stdlib.h>
void scambia3(int*,int*,int*);
int main(void)
{
int X, Y, Z;
int*P1,*P2,*P3;
P1=(int*)malloc(sizeof(int)); P2=(int*)malloc(sizeof(int)); P3=(int*)malloc(sizeof(int));
printf("inserire X, Y e Z");
scanf("%d%d%d",&X,&Y,&Z);
scambia3(P1,P2,P3);
printf("i valori scambiati di X, Y e Z sono %d %d %d",*P1 ,*P2, *P3);
system("PAUSE");
}
void scambia3(int*P1,int*P2,int*P3)
{
int Ptemp;
Ptemp=*P1;
*P1=*P2;
*P2=*P3;
*P3=Ptemp;
}