salve, ho questi codici ma non riesco a vedere gli output,,,e soprattutto non capisco i passaggi delle varie istruzioni,cioè il funzionamento del programma...qualche anima buona può spiegarmelo?
1) letta da standard input la seguente sequenza di coppie di interi non negativi minori di N:
(3 4), (4 9), (8 0), (2 3),(5 6), (2 9), (5 9), (7 3), (4 8), (5 6), (0 2). (6 1)
determinare l'output dell'array id del seguente programma:
#include <stdio.h>
#define N 10
main()
{
int i,p,q,t,id[N];
for(i=0;i<N;i++)id[i]=i;
while(scanf("%d %d\n", &p,&q)==2)
{
if(id[p]==id[q]) continue;
for(t=id[p],i=0;i<N;i++)
if(id[i]==t)id[i]=id[q];
for(i=0;i<N;i++) printf("%d\t",id[i]);
printf("\n");
printf("%d %d\n",p,q);
}
}
2) supponiamo di leggere in input la coppia 9 e 5, determinare l'outoput del seguente programma:
#include <stdlib.h>
typedef struct node* link;
struct node {int item; link next;};
main(int argc, char *argv[])
{
int i, N=atoi(argv[1]), M= atoi(argv[2]);
link t=malloc(sizeof(*t)),x=t;
t->item=1; t->next=t;
for(i=2;i<=N;i++)
{
x=(x->next=malloc(sizeof*x));
x->item=i; x->next=t;
}
while(x!=x->next)
{
for(i=1;i<M;i++)x=x->next;
printf("%d\n",x->next->item);
x->next=x->next->next; N--;
}
printf("\n%d %d\n",N,x->item);
}
Grazie 1000 in anticipo per chi spiega....