Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Creati o lista cu n numere nat. din fisierul date.in.
- se cere:
- a) sa se afiseze numerele pare din lista
- b) inserati dupa primul numar prim valoarea 2020.
- c) stergeti primul si ultimul numar par din lista si afisati continutul listei
- d) inserati intre oricare 2 elemente cu val. consectuive suma lor
- e) stergeti toatenr care au doar cifre distincte
- */
- #include <iostream>
- #include <fstream>
- #include <cmath>
- using namespace std;
- ifstream f("date.in");
- ofstream g("date.out");
- struct nod
- {
- int info;
- nod *urm;
- };
- nod *prim;
- void afis(nod *prim)
- {
- nod *p=prim;
- while (p)
- {
- cout<<p->info<<" ";
- p=p->urm;
- }
- }
- void creare()
- {
- nod *p,*nou;
- int x;
- while (f>>x)
- if (prim==NULL)
- {
- prim=new nod;
- prim->info=x;
- p=prim;
- }
- else
- {
- nou=new nod;
- nou->info=x;
- p->urm=nou;
- p=nou;
- }
- p->urm=NULL;
- }
- void pcta()
- {
- nod *p=prim;
- while (p)
- {
- if (p->info%2==0)
- cout<<p->info<<" ";
- p=p->urm;
- }
- }
- int nrprim(int x)
- {
- int ok=0;
- if (x==0 || x==1)
- return 0;
- for (int i=2;i<=sqrt(x);i++)
- {
- if (x%i==0)
- ok=1;
- }
- if (ok==1)//nu e prim
- return 1;
- return 0;// e prim
- }
- void pctb()
- {
- int q=2020;
- nod *prim1=prim,*p,*nou;
- p=prim1;
- while (nrprim(p->info)==0 && p)
- p=p->urm;
- if (p)
- {
- nou=new nod;
- cin>>nou->info;
- nou->info=p->urm;
- p->urm=nou;
- }
- afis(prim1);
- }
- int main()
- {
- creare();
- pctb();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement