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

Salut,am nevoie de ajutor la aceasta problema

Fiind dat un vector v cu n elemente numere intregi,sa se construiasca un alt vector u care sa contina numai patratele perfecte din v,in ordine crescatoare.Aceste patrate perfecte vor fi copiate de la inceput in ordine crescatoare,fara a se aplica vectorului u nici un algoritm.
Exemplu,pentru vectorul v={34,9,45,64,18,16,39} se va creea vectorul u={9,16,64}

Ofer coroana si 90 de puncte

Răspunsuri la întrebare

Răspuns de cppguy
1
#include <iostream>#include <cmath>using namespace std;int n,i,j,v[100],u[100];int main(){    cin>>n;    for(i=1;i<=n;i++)        cin>>v[i];    for(i=1;i<n;i++)        for(j=i+1;j<=n;j++)            if(v[i]>v[j])                swap(v[i],v[j]);    j=0;    for(i=1;i<=n;i++)        if( sqrt(v[i])==int (sqrt(v[i])) )            u[++j]=v[i];
    for(i=1;i<=j;i++)        cout<<u[i]<<" ";    return 0;}
Anexe:
Alte întrebări interesante