Se citește un șir de numere întregi pana cand se introduce de doua ori consecutiv aceeași valoare. Sa se afișeze câte pătrate perfecte sunt in șir.
Ex: 13 9 56 400 8 17 25 25
Conține 4 pătrate perfecte (9, 400, 25, 25)
.
Am încercat ceva dar nu imi da bine cand o verific. Cred ca am greșit cand l-am copiat pe n in m, sau la condiția de la while.


Se Citește Un Șir De Numere Întregi Pana Cand Se Introduce De Doua Ori Consecutiv Aceeași Valoare Sa Se Afișeze Câte Pătrate Perfecte Sunt In Șir Ex 13 9 56 400 class=

Răspuns :

Trebuie m=n, sa pui in while si tias recomanda daca scrii cout dupa un void, mai bine coutu sal scrii in void, sau mai bine sa nu folosesti de loc void.

#include <bits/stdc++.h>

using namespace std;

int n,m=1000000000,nr;

void pp(int n, int nr)
{
    nr=0;
    cin >> n;
    while(m!=n)
    {
        m=n;
        if(int(sqrt(m))==sqrt(m))
            nr++;
        cin >> n;
    }
    cout << nr;
}

int main()
{

    pp(n,nr);

    return 0;

}