Advertisement
Stancu

Problema grafica (smileyface)/ liste: creare/inserare

Oct 15th, 2019
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.81 KB | None | 0 0
  1. ***Creare lista pana la citirea lui 0:***
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. struct nod
  7. {
  8.     int info;
  9.     nod* adr;
  10. };
  11.  
  12. int n;
  13.  
  14. void parcurgere(nod* v)
  15. {
  16.     nod* c=v;
  17.     while(c)
  18.     {
  19.         cout<<c->info<<" ";
  20.         n++;
  21.         c=c->adr;
  22.     }
  23. }
  24.  
  25. nod* creare2()
  26. {
  27.     nod* prim, *ultim, *p;
  28.     int nr;
  29.     prim=new nod;
  30.     ultim=prim;
  31.     cout<<"Introduceti un numar: "; cin>>nr;
  32.     if (nr==0)
  33.     {
  34.         cout<<"Lista este vida.";
  35.         return 0;
  36.     }
  37.     else
  38.     {
  39.         prim->info=nr;
  40.         prim->adr=NULL;
  41.         cout<<"Introduceti un numar: "; cin>>nr;
  42.         while(nr){
  43.             p=new nod;
  44.             p->info=nr;
  45.             ultim->adr=p;
  46.             ultim=p;
  47.             ultim->adr=NULL;
  48.             cout<<"Introduceti un numar: "; cin>>nr;
  49.         };
  50.         return prim;
  51.     }
  52. }
  53.  
  54. int main()
  55. {
  56.     nod* prim;
  57.     int k, inf;
  58.     prim=creare2();
  59.     parcurgere(prim);
  60.     cout<<" numarul de noduri este "<<n;
  61.     return 0;
  62. }
  63.  
  64.  
  65. ***Creare lista pana la 0 si inserare element in lista:***
  66. #include <iostream>
  67.  
  68. using namespace std;
  69.  
  70. int n;
  71.  
  72. struct nod
  73. {
  74.     int info;
  75.     nod*leg;
  76. };
  77.  
  78. nod* creare()
  79. {
  80.     nod*prim,*ultim,*p;
  81.     int nr;
  82.     prim=new nod;
  83.     ultim=prim;
  84.     cout<<"Nr: ";
  85.     cin>>nr;
  86.     if(nr==0)
  87.     {
  88.         cout<<"Lista este vida";
  89.         return 0;
  90.     }
  91.     else
  92.     {
  93.         prim->info=nr;
  94.         prim->leg=NULL;
  95.         cout<<"Nr: "; cin>>nr;
  96.         while(nr)
  97.         {
  98.             p=new nod;
  99.             p->info=nr;
  100.             ultim->leg=p;
  101.             ultim=p;
  102.             ultim->leg=NULL;
  103.             cout<<"Nr: "; cin>>nr;
  104.         };
  105.         return prim;
  106.     }
  107. }
  108.  
  109. void parcurgere(nod*prim)
  110. {
  111.     nod*p;
  112.     p=prim;
  113.     while(p)
  114.     {
  115.         cout<<p->info<<" ";
  116.         n++;
  117.         p=p->leg;
  118.     }
  119. }
  120.  
  121. int inserare(nod* &prim, int k, int inf)
  122. {
  123.     nod* q;
  124.     if(k>n+1)
  125.         return 0;
  126.     else
  127.     {
  128.         nod* p=new nod;
  129.         p->info=inf;
  130.         if(k==1)
  131.         {
  132.             p->leg=prim;
  133.             prim=p;
  134.         }
  135.         else
  136.             if(k==n+1)
  137.             {
  138.                 q=prim;
  139.                 while(q->leg)
  140.                     q=q->leg;
  141.                 q->leg=p;
  142.                 p->leg=NULL;
  143.             }
  144.             else
  145.             {
  146.                 q=prim;
  147.                 int ct=1;
  148.                 while(ct<k-1)
  149.                 {
  150.                     q=q->leg;
  151.                     ct++;
  152.                 }
  153.                 p->leg=q->leg;
  154.                 q->leg=p;
  155.             }
  156.         return 1;
  157.     }
  158. }
  159.  
  160. int main()
  161. {
  162.     nod* prim;
  163.     int k,inf;
  164.     prim=creare();
  165.     parcurgere(prim);
  166.     cout<<"Nr. de noduri este: "<<n;
  167.     cout<<endl<<"Pozitia si valoarea pentru inserare: ";
  168.     cin>>k>>inf;
  169.     if(!inserare(prim,k,inf))
  170.         cout<<"Pozitia introdusa nu se afla in lista!";
  171.     else
  172.         parcurgere(prim);
  173.     return 0;
  174. }
  175. ***Problema grafica smiley face:***
  176. #include <graphics.h>
  177. #include <conio.h>
  178. #include <dos.h>
  179.  
  180. void smiley(int x)
  181. {
  182.     int r=50;
  183.     setcolor(YELLOW);
  184.     circle(x,200,r);
  185.     setfillstyle(SOLID_FILL,YELLOW);
  186.     floodfill(x,200,YELLOW);
  187.     setcolor(BLUE);
  188.     //ochi stanga;
  189.     circle(x-(r/3),200-r/2,7);
  190.     setfillstyle(SOLID_FILL,BLUE);
  191.     floodfill(x-r/3,200-r/2,BLUE);
  192.     //ochi dreapta
  193.     circle(x+r/3,200-r/2,7);
  194.     setfillstyle(SOLID_FILL,BLUE);
  195.     floodfill(x+r/3,200-r/2,BLUE);
  196.     //gura
  197.     setcolor(RED);
  198.     line(x-r/3,200+r/3,x+r/3,200+r/3);
  199.     arc(x,200+r/3,180,360,r/3);
  200.     setfillstyle(SOLID_FILL,RED);
  201.     floodfill(x,200+r/3+1,RED);
  202.     ///textr sub smiley
  203.     outtextxy(x,200+2*r,"Smiley ");
  204.     delay(27);
  205.     setcolor(BLACK);
  206.     circle(x,200,r);
  207.     setfillstyle(SOLID_FILL,BLACK);
  208.     floodfill(x,200,BLACK);
  209.     //stergere ochi stanga
  210.     circle(x-r/3,200-r/2,7);
  211.     floodfill(x-r/3,200-r/2,BLACK);
  212.     //stergere ochi dreapta
  213.     circle(x+r/3,200-r/2,7);
  214.     floodfill(x+r/3,200-r/2,BLACK);
  215.     //stergere gura
  216.     line(x-r/3,200+r/3,x+r/3,200+r/3);
  217.     arc(x,200+r/3,180,360,r/3);
  218.     setfillstyle(SOLID_FILL,BLACK);
  219.     floodfill(x,200+r/3+1,BLACK);
  220.  
  221. }
  222. using namespace std;
  223.  
  224.  int main()
  225. {
  226.     initwindow(800,800);
  227.     delay(200);
  228.    // line(100,100,200,100);
  229.     setcolor(YELLOW);
  230.     int i=100;
  231.     int j=700;
  232.     int dir=1;
  233.     /// bucla INFINITA
  234.     while(i<750 && i>50)
  235.     {
  236.         smiley(i);
  237.         i+=dir;
  238.         if(i==749)
  239.             dir=-1;
  240.         if(i==51)
  241.             dir=1;
  242.     }
  243.     /* while(i<750 && j>0)
  244.     {
  245.         smiley(i);
  246.        /* setcolor(GREEN);
  247.         rectangle(j,250,j+100,350);
  248.         delay(10);
  249.         setcolor(BLACK);
  250.         circle(i,200,50);
  251.         rectangle(j,250,j+100,350);
  252.         i++;
  253.         j--;
  254.  
  255.     }*/
  256.     getch();
  257.     closegraph();
  258. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement