Cerința
Se dă un vector cu n elemente, numere naturale. Afișați în ordine crescătoare valorile prime din vector.
Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere naturale, reprezentând elementele vectorului.
Date de ieșire
Programul va afișa pe ecran valorile prime din vector, în ordine crescătoare, separate prin exact un spațiu.
Restricții și precizări
1 ≤ n ≤ 1000
cele n numere citite vor fi mai mici decât 1.000.000.000
Răspunsuri la întrebare
Răspuns de
5
+Pasii:
1. Parcurgi vectorul si verifici fiecare element daca este prim
2. In cazul in care este prim, il rescrii in vectorul x
3. Sortezi apoi afisezi vectorul x;
(citire vector v, de n elemente - for(i=0;i<n;i++))
(initializam un k=0, si un vector x de n elemente)
//Parcurgem vectorul
for(i=0;i<n;i++){
divizori=0;
for(j=2;j<=v[i]/2;j++){
if(v[i]%j==0)
divizori++;
}
if(divizori==0){
x[k]=v[i];
k++;
}
}
//Acum am introdus in vectorul x toate elementele prime
//De acum trebuie sa sortam vectorul x(stiind ca are k elemente[de la 0 la k-1])
//luam ca ex metoda selectiei minimului
for(i=0;i<k-1;i++){
min=x[i];
t=i;
for(j=i+1;j<k;j++){
if(x[j]<min){
min=x[j];
t=j;
}
}
x[t]=x[i];
x[i]=min;
}
//De acu, a mai ramas afisarea
for(i=0;i<k;i++){
cout<<x[i]<<" ";
}
************************************** C++:
#include <iostream>
using namespace std;
int main(){
int n, i, j, k=0, divizori, min, t;
cout<<"n=";
cin>>n;
int v[n], x[n];
// v- vectorul initial; x- vectorul final
for(i=0;i<n;i++){
cout<<"v["<<i<<"]=";
cin>>v[i];
}
for(i=0;i<n;i++){
divizori=0;
for(j=2;j<=v[i]/2;j++){
if(v[i]%j==0)
divizori++;
}
if(divizori==0){
x[k]=v[i];
k++;
}
}
for(i=0;i<k-1;i++){
min=x[i];
t=i;
for(j=i+1;j<k;j++){
if(x[j]<min){
min=x[j];
t=j;
}
}
x[t]=x[i];
x[i]=min;
}
for(i=0;i<k;i++){
cout<<x[i]<<" ";
}
return 0;
}
1. Parcurgi vectorul si verifici fiecare element daca este prim
2. In cazul in care este prim, il rescrii in vectorul x
3. Sortezi apoi afisezi vectorul x;
(citire vector v, de n elemente - for(i=0;i<n;i++))
(initializam un k=0, si un vector x de n elemente)
//Parcurgem vectorul
for(i=0;i<n;i++){
divizori=0;
for(j=2;j<=v[i]/2;j++){
if(v[i]%j==0)
divizori++;
}
if(divizori==0){
x[k]=v[i];
k++;
}
}
//Acum am introdus in vectorul x toate elementele prime
//De acum trebuie sa sortam vectorul x(stiind ca are k elemente[de la 0 la k-1])
//luam ca ex metoda selectiei minimului
for(i=0;i<k-1;i++){
min=x[i];
t=i;
for(j=i+1;j<k;j++){
if(x[j]<min){
min=x[j];
t=j;
}
}
x[t]=x[i];
x[i]=min;
}
//De acu, a mai ramas afisarea
for(i=0;i<k;i++){
cout<<x[i]<<" ";
}
************************************** C++:
#include <iostream>
using namespace std;
int main(){
int n, i, j, k=0, divizori, min, t;
cout<<"n=";
cin>>n;
int v[n], x[n];
// v- vectorul initial; x- vectorul final
for(i=0;i<n;i++){
cout<<"v["<<i<<"]=";
cin>>v[i];
}
for(i=0;i<n;i++){
divizori=0;
for(j=2;j<=v[i]/2;j++){
if(v[i]%j==0)
divizori++;
}
if(divizori==0){
x[k]=v[i];
k++;
}
}
for(i=0;i<k-1;i++){
min=x[i];
t=i;
for(j=i+1;j<k;j++){
if(x[j]<min){
min=x[j];
t=j;
}
}
x[t]=x[i];
x[i]=min;
}
for(i=0;i<k;i++){
cout<<x[i]<<" ";
}
return 0;
}
byankabya99:
nu stiu...
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Engleza,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Engleza,
9 ani în urmă
Limba română,
9 ani în urmă