Advertisement
icatalin

14.5.2015

May 14th, 2015
251
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.68 KB | None | 0 0
  1. /* Creati o lista cu n numere nat. din fisierul date.in.
  2. se cere:
  3. a) sa se afiseze numerele pare din lista
  4. b) inserati dupa primul numar prim valoarea 2020.
  5. c) stergeti primul si ultimul numar par din lista si afisati continutul listei
  6. d) inserati intre oricare 2 elemente cu val. consectuive suma lor
  7. e) stergeti toatenr care au doar cifre distincte
  8. */
  9.  
  10. #include <iostream>
  11. #include <fstream>
  12. #include <cmath>
  13.  
  14. using namespace std;
  15.  
  16. ifstream f("date.in");
  17. ofstream g("date.out");
  18.  
  19. struct nod
  20. {
  21.     int info;
  22.     nod *urm;
  23. };
  24.  
  25. nod *prim;
  26.  
  27. void afis(nod *prim)
  28. {
  29.   nod *p=prim;
  30.   while (p)
  31.   {
  32.       cout<<p->info<<" ";
  33.       p=p->urm;
  34.   }
  35. }
  36.  
  37. void creare()
  38. {
  39.     nod *p,*nou;
  40. int x;
  41.  
  42.     while (f>>x)
  43.         if (prim==NULL)
  44.     {
  45.         prim=new nod;
  46.         prim->info=x;
  47.         p=prim;
  48.  
  49.     }
  50.     else
  51.     {
  52.          nou=new nod;
  53.          nou->info=x;
  54.          p->urm=nou;
  55.          p=nou;
  56.  
  57.     }
  58.     p->urm=NULL;
  59.  
  60. }
  61.  
  62. void pcta()
  63. {
  64.     nod *p=prim;
  65.     while (p)
  66.     {
  67.         if (p->info%2==0)
  68.         cout<<p->info<<" ";
  69.         p=p->urm;
  70.     }
  71. }
  72.  
  73. int nrprim(int x)
  74. {
  75.     int ok=0;
  76.     if (x==0 || x==1)
  77.         return 0;
  78.  
  79.     for (int i=2;i<=sqrt(x);i++)
  80.     {
  81.         if (x%i==0)
  82.             ok=1;
  83.     }
  84.  
  85.     if (ok==1)//nu e prim
  86.         return 1;
  87.     return 0;// e prim
  88. }
  89.  
  90.  
  91.  
  92. void pctb()
  93. {
  94.     int q=2020;
  95.     nod *prim1=prim,*p,*nou;
  96.     p=prim1;
  97.     while (nrprim(p->info)==0 && p)
  98.         p=p->urm;
  99.  
  100.     if (p)
  101.     {
  102.         nou=new nod;
  103.         cin>>nou->info;
  104.         nou->info=p->urm;
  105.         p->urm=nou;
  106.     }
  107.     afis(prim1);
  108. }
  109.  
  110.  
  111.  
  112.  
  113. int main()
  114. {
  115.     creare();
  116.    pctb();
  117.  
  118.     return 0;
  119. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement