Informatică, întrebare adresată de ionyxredextreme2018, 8 ani în urmă

Din fisierul vector.in se citeste un vector cu n componente intregi,sa se formeze 2 vectori unul cu componente prime si unul fara componente prime si sa se afiseze pe randuri diferite in vector.out

Răspunsuri la întrebare

Răspuns de andriesboss92
2

#include <iostream>

#include <fstream>

using namespace std;

ifstream in("vector.in");

ofstream out("vector.out");

// Am folosit mai multe variabile ca sa nu te incurc. Puteam sa il fac mult mai simplist.

int main()

{

int a[100],n,prime[100],neprime[100], x=0, y=0, ok=0, k=0, i=0, v=0, p=0;

in>>n;

for(i=1;i<=n;i++) // in timp ce citim fiecare numar din fisier, il si verificam daca e prim

{

in>>a[i];

for(k=1;k<=a[i];k++) // parcurgem toate numerele de la 1 pana la el insusi

if(a[i]%k==0) // daca numarul citit se imparte la vreun numar pana la el, numaram cate numere sunt care indeplinesc conditia

ok++;

if(ok==2) // un numar e prim daca este divizibil cu 1 si cu el insusi.

{

x=x+1; // crestem pozitia in vector pentru a putea pune alte numere

prime[x]=a[i]; // daca este prim, punem numarul in alt vector care va avea doar numerele prime

}

if(ok>2)

{

y=y+1; // crestem pozitia in vector pentru a putea pune alte numere

neprime[y]=a[i];// daca nu este prim, punem numarul in vectorul neprime[]

}

ok=0; // initializam variabila ok cu 0 deoarece avem nevoie sa facem EXACT aceeasi pasi pentru urmatorul nuamr citit

// daca nu atribuiam valoarea 0 lui ok, atunci programul nostru afisa

}

for(v=1;v<=x;v++) // afisam in fisier numerele prime

out<<prime[v]<<" ";

out<<endl;

for(p=1;p<=y;p++) // afisam in fisier celelalte numere

out<<neprime[p]<<" ";

}


ionyxredextreme2018: Ms
Alte întrebări interesante
Matematică, 8 ani în urmă