Informatică, întrebare adresată de anaanita2000, 9 ani în urmă

Se consideră subprogramul prim care primeşte ca parametru un număr natural n (n≤32000) şi care returnează 1 dacă n este număr prim şi respectiv 0 în caz contrar.
a) Scrieţi definiţia completă a subprogramului prim.
b) Scrieţi programul C/C++ care citeşte de la tastatură un număr natural nenul n (n<30) şi n numere naturale cu cel mult 4 cifre fiecare, apoi le afişează pe ecran, numai pe acelea dintre ele care sunt prime. Numerele vor fi afişate în ordine crescătoare, separate prin câte un spaţiu. Programul va utiliza apeluri utile ale subprogramului prim. Exemplu: pentru n=7 şi numerele 3 16 41 4 2 7 12, se vor afişa, în această ordine, numerele: 2 3 7 41.

varianta 14 din variante de bac 2009

Răspunsuri la întrebare

Răspuns de viman39
5
#include <iostream>
using namespace std;

    int n, v[100];

bool prim(int x)
{
    int i;

    for(i=2;i<=x/2;i++)
        if(x%i==0) return false;

    return true;
}

int main(){
    int i, j, aux;

    cout<<"n=";cin>>n;

    for(i=1;i<=n;i++){
        cout<<"v["<<i<<"]=";
        cin>>v[i];
    }

    for(i=1;i<n;i++)
        for(j=i+1;j<=n;j++)
    if(v[i]>v[j]){
        aux=v[i];
        v[i]=v[j];
        v[j]=aux;
    }

    for(i=1;i<=n;i++)
        if(prim(v[i])==true) cout<<v[i]<<" ";
}
Alte întrebări interesante