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

C++: Se citeste de la tastatura un vector cu n (1<=n<=100)componente de tip intreg. Se cere sa se construiasca si sa se afiseze un nou vector cu componentele patrate perfecte din vectorul initial.
 exemplu: Daca vectorul initial este (2,4,8,25,3,66) al doilea vector va fi (4,25)

Răspunsuri la întrebare

Răspuns de Utilizator anonim
9
Va trebui să creăm o subrutină care verifică dacă e pătrat perfect un număr. Ne vom folosi de niște „chichițe” ale sistemului cu întregi.
#include <iostream>
#include <cmath>
using namespace std;
int perfsqr(int n)
{int m;
m=sqrt(n);
m=m*m;
if(m==n) return 1; else return 0;
}
int main()
{
int n, i, j=0;
int v1[100], v2[100];
cin>>n;
for(i=0; i<n; i++)cin>>v1[i];
for(i=0; i<n; i++) if( perfsqr( v1[i] ) )
{v2[j] = v1[i];
j++;}
for(i=0; i<j; i++) cout<<v2[i]<<" "; //j conține nr. efectiv de elemente din v2
return 0;
}
Am scris numerele separate de spațiu (dacă vrei paranteze sau altceva, inserezi cout<< cu ce vrei unde e nevoie)
Alte întrebări interesante