zadanie z kwadratami liczb naturalnych

2013-10-09 14:56

Rejestracja: 6 lat temu

Ostatnio: 6 lat temu

0

Witam. Mam takie o to zadanie:
Podać z klawiatury ciąg dowolnych liczb naturalnych zakończony zerem. Obliczyć liczbę elementów tego ciągu spełniających następujące warunki:
a. są kwadratami liczb naturalnych'
b. element ciągu jest mniejszy od poprzedniego.

Ad. 1a.
moim pomyslem jest sprawdzenie warunku n nalezy do naturalnych poprzez pierwiastek i modul z liczny pierwiastkowanej na zasadzie

x = sqrt(n)
r = x%1.0

if (r == 0) to jest to liczba naturalna

jednakze mam problem z typami danych int double..

tutaj jest caly kod

#include <cstdlib>
#include <iostream>
#include <cmath>

using namespace std;

int main()
{
    int n, reszta, ilosc=0;
    cout << "Podaj liczbę naturalną: ";
    cin >> n;

    if (n>0)
    {
            while (n!=0)
            {
                  double zmienna=sqrt(n);
                  reszta=zmienna%1;
                  if (reszta==0) ilosc++;
            }
            cout << "Liczba " << n << " posiada " << ilosc << "  liczb ktore są kwadratami liczb naturalnych.\n";
    }

    else
    {
        cout << "To nie jest liczba naturalna." << endl;
    }

system("PAUSE");
return EXIT_SUCCESS;
}

Ad.2 w ogóle nie mam pomyslu jak sie do tego zabrac;/

Prosze was o pomoc ;)

dodanie znaczników <code class="cpp"> oraz `` - fp

edytowany 1x, ostatnio: furious programming, 2013-10-09 16:56
cout &lt;&lt; &quot;Liczba &quot; &lt;&lt; n &lt;&lt; &quot; posiada &quot; &lt;&lt; ilosc &lt;&lt; &quot; liczb ktore są kwadratami liczb naturalnych.\n&quot;; - proponuję do perełek. - _13th_Dragon 2013-10-09 15:04
oj tam... to dział newbie Jeżeli jesteś kompletnym laikiem jeżeli chodzi o programowanie, to jest odpowiednia kategoria dla Ciebie. - pro prostu poświęć chwilę i napisz mu co robi źle... - madmike 2013-10-09 15:39
@madmike, "Liczba 10 posiada 9 liczb które ..." to nie o programowanie chodzi, zaś o posiadanie jakiekolwiek wiedzy o liczbach. - _13th_Dragon 2013-10-09 16:01
Jemu tłumacz, nie mi :D - madmike 2013-10-09 16:04

Pozostało 580 znaków

2013-10-09 15:01

Rejestracja: 14 lat temu

Ostatnio: 1 dzień temu

0

Zacznij od: "Podać z klawiatury ciąg dowolnych liczb naturalnych zakończony zerem."
Bo nawet tego nie zrealizowałeś.


Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.

Pozostało 580 znaków

2013-10-09 15:07

Rejestracja: 6 lat temu

Ostatnio: 6 lat temu

0

Ad.1 Operator % zwraca reszte z dzielenia liczby calkowitej przez liczbe calkowita, a to co Ty chcesz sie dowiedziec jest czymś innym. Mozesz np uzyskac to tak:


reszta=zmienna-(int)zmienna;

Ad.2 Hint: Pomysl nad dodaniem do programu jeszcze jednej zmiennej oprocz n do przechowywania wczytywanych liczb i w jaki sposob mozesz jej uzyc

edytowany 1x, ostatnio: Duraven, 2013-10-09 15:08

Pozostało 580 znaków

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0