cum se rezolva?c++


  1. #1
    0-day Member adytzul89 reprezinta o cantitate neglijabila
    Data de inscriere
    12-01-2011
    Varsta
    35
    Sex
    M
    Mesaje
    5
    Putere Reputatie
    27
    Reputatie
    10
    Puncte CF
    0.0

    Question cum se rezolva?c++

    Salutare, am gasit si eu o lucrare pe net, interesanta, dar insa nu stiu cum sa o rezolv, mi-ar placea sa-l fac si eu .. ..
    Se consideră o masă circulară la care sunt aşezaţi copii şi fie n un număr întreg pozitiv. Pornind de la un anumit copil ei încep să numere pe rând. Atunci când unul din copii ajunge numărul n acesta se ridică de la masă şi se reia numărătoarea pornind de la 1. Jocul se opreşte atunci când râmâne un singur copil.
    Realizaţi un program ce utilizează o listă circulară pentru a afişa ordinea în care copiii se ridică de la masă.

  2. #2
    Member alex707's Avatar alex707 reprezinta o cantitate neglijabila
    Data de inscriere
    28-09-2006
    Varsta
    43
    Sex
    M
    Mesaje
    183
    Mesaje bazar
    63
    Putere Reputatie
    0
    Reputatie
    8
    Puncte CF
    30.0
    Tinand cont de raspunsul tau la postul asta ma simt nevoit sa intreb. Asta vroiai? Sa plescai un cod aici? sau chiar vroiai sa intelegi?
    Cod:
    #include<stdio.h>
    #include<conio.h>
    
    int n;
    typedef struct Nod
        {int info;
         Nod *urm;
        };
    Nod *p,*u;
    
    void formare()
    {int n,x;
    printf("Numarul de copii=");scanf("%d",&n);
    for(int i=1;i<=n;i++)
        {
         if(!p)
            {p=new Nod;
             p->info=i;
             u=p;
            }
         else
            {Nod *t=new Nod;
             t->info=i;
             u->urm=t;
             u=t;
            }
         }                                                     
    u->urm=p;
    }
    
    void procesare(int nr)
    {
    	Nod *q=p;
    	int w=1;
    	do
    	{
    		for (int i=1;i<=nr;i++)
    		{
    			if (i==nr-1)
    			{
    				printf("%d",q->urm->info);
    				printf(",");
    				w++;
    				q->urm=q->urm->urm;
    				i++;
    			}
    			q=q->urm;
    		}
    	}
    	while (q->info!=q->urm->info);
    	printf("%d",q->info);
    }
    
    void main()
    {
    	int ac;
    	formare();
    	printf("N=");scanf("%d",&ac);
    	procesare(ac);
    	getch();
    }
    Success is not final, failure is not fatal: it is the courage to continue that counts. --Sir Winston Churchill
    Vrei mai putine reclame? Inregistreaza-te sau logheaza-te

Tags for this Thread

Google+

Cautati logo-ul CraiovaForum?

Iata cateva variante: