👤

Am nevoie de un algoritm de gasire al unui element prim intr-o matrice.
P.S. Algoritmul sa fie cat mai simplu :3


Răspuns :

Am incercat sa explic in comentarii tot ce am facut. Sper ca te-am ajutat!

Programul in C++:

#include <iostream>

using namespace std;

int nrmatrice,matrice[101],nrprim,gasit=0,i,j;

//nrmatrice = numarul de elemente ale matricei

//nrprim = numarul prim in caz ca e gasit. daca nu e gasit nici un numar prim, el este ultimul numar din matrice.

//gasit = 1 - a fost gasit un numar prim ; 0 - nu a fost gasit un numar prim

int main()

{

   cin>>nrmatrice;

   for(i=1;i<=nrmatrice;i++)

       cin>>matrice[i];

   for(i=1;i<=nrmatrice && !gasit;i++)

   {

       //Ca un numar sa fie prim, el trebuie sa fie una dintre urmatoarele:

       // 1. Egal cu 2

       // 2. Mai mare sau egal cu 3 si impar

       // !! Numarul 1 NU ESTE numar prim

       bool prim=1; //Presupunem ca e prim si incercam sa dovedim ca nu este.

       nrprim = matrice[i];

       if(nrprim%2==0 && nrprim>2)prim=0; // Stabilim daca numarul este un numar par mai mare decat 2, evitand cazul in care este 2, 2 fiind numar prim

       if(nrprim==1)prim=0; //Numarul 1 nu este numar prim.

       for(j=3;j<=nrprim/2 && prim!=0;j+=2) // Mergem din 2 in 2 ca sa evitam numerele pare, fiindca am stabilit mai sus ca nu e un numar par.

           {

               if(nrprim%j==0)prim=0; //Daca gasim un numar cu care numarul nostru se divide, inseamna ca nu e prim

           }

       if(prim==1){

           gasit=1;

           nrprim=matrice[i];

       }

   }

   if(gasit==1)

       cout<<"Numarul este: "<<nrprim;

   else

       cout<<"Nu exista numere prime in matrice.";

   return 0;

}


Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de sprijin, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite pentru acces rapid.


Wix Learning: Alte intrebari