Reklama
Pokazuje wyniki od 1 do 6 z 6

Temat: Programowanie C - silnia

  1. #1

    Data rejestracji
    2010
    Położenie
    Opole
    Wiek
    31
    Posty
    51
    Siła reputacji
    14

    Domyślny Programowanie C - silnia

    Witam mam na zadanie napisac program ktory wyswietla silnie podanej liczby, cos tam naskrobalem powinno dzialac tylko ze nie wyswietla linijki z wynikiem, mi sie wydaje ze jest wszystko ok.. Moglby ktos rzucic na to okiem? Kod:

    #include <iostream>
    #include <cstdlib>
    #include <stdio.h>

    using namespace std;

    unsigned int silnia (unsigned int a)

    {
    while (a>1);
    {
    a--;
    a=a*a;

    return a;
    }
    }

    main ()

    {
    unsigned int a;

    cout <<"Podaj liczbe: ";
    cin>>a;

    if (a==0)
    {
    return 1;
    }

    else
    {
    cout <<"Silnia tej liczby wynosi: "<<silnia(a)<<endl;
    }

    system ("pause");
    }
    #Down
    LOL nie zauwazylem xD
    Mniejsza z tym i tak nie dziala dobrze a sie okazalo ze zle zadanie robie ;/ ffs

    #Nie, pierwsze 2 zadania mialy byc z silnia teraz mam do wyboru:

    5. Napisz program, który obliczy ile dzielników naturalnych posiada zadana liczba naturalna n.
    6. Napisz program, który dla wprowadzonej trzycyfrowej liczby a obliczy sumę jej cyfr.

    Nie ma opcji nie wiem jak to zrobic XD kolejna godzina rozkminiania ;/
    Ostatnio zmieniony przez jol : 05-11-2012, 17:32

  2. #2
    Avatar Thrawn
    Data rejestracji
    2005
    Posty
    232
    Siła reputacji
    20

    Domyślny

    Usuń po while średnik :D

    @Up
    Miało być zrobione rekurencyjnie?
    Ostatnio zmieniony przez Thrawn : 05-11-2012, 17:09

  3. Reklama
  4. #3
    Avatar WolF
    Data rejestracji
    2006
    Posty
    440
    Siła reputacji
    19

    Domyślny

    W swojej funkcji podstaw nowa zmienną i ją zwracaj, nie działaj na tej która jest wartością rzucaną do funkcji, bo wychodzi nieskończona pętla. Również dekrementacja tej nowej zmiennej (obecnie 'a') powinna być za mnożeniem, bo będą błędy.

    #edit
    Też zapomniałeś o możliwości podania 1 jako wartości, dodatkowo return w twojej funkcji musi być poza pętlą.
    Ostatnio zmieniony przez WolF : 05-11-2012, 17:35

  5. #4

    Data rejestracji
    2012
    Położenie
    Poznań
    Wiek
    30
    Posty
    20
    Siła reputacji
    0

    Domyślny

    Napisalem na szybko, ale u mnie dziala dobrze:

    #include "stdafx.h"
    #include <iostream>
    #include <conio.h>

    using namespace std;

    int silnia(int nLiczba)
    {
    if (nLiczba==0)
    return 1;
    else
    return silnia(nLiczba-1)*nLiczba;
    }

    int _tmain(int argc, _TCHAR* argv[])
    {
    int nLiczba;
    cout<<"Podaj liczbe ";
    cin>>nLiczba;
    cout<<"Silnia podanej liczby wynosi: "<<silnia(nLiczba);
    getch();
    return 0;
    }

    Mozesz porownac ze swoim programem i latwo znalezc bledy.

  6. #5

    Data rejestracji
    2010
    Położenie
    Opole
    Wiek
    31
    Posty
    51
    Siła reputacji
    14

    Domyślny

    juz mam inny problem, mam do napisania program wlasnie ten, ktory po wpisaniu liczby trzycyfrowej podaje sume jej cyfr. Probowalem zrobic najlatwiejszym sposobem i tez lipa :/ moglby ktos zerknac?

    #include <iostream>
    #include <cstdlib>

    using namespace std;

    main ()

    {
    int x, suma;
    int s = x /100; // cyfra setek to liczba podzielona przez 100 /- operator dzielenia - wziete z neta
    int j = x % 10; // jednosci to reszta z dzielenia liczby przez 10 % operator reszty z dzielenia - wziete z neta
    int d = (x- s*100 - j)/10; // dziesiatki to liczba - (cyferka setek * 100 - jednosci) / 10 - wziete z neta

    cout <<"Podaj liczbe trycyfrowa: ";
    cin>>x;

    suma=s+j+d;

    cout <<"\nSuma cyfr tej liczby wynonosi: "<<suma<<endl;

    system ("pause");
    return 0;
    }
    #Down
    Dzieki, dziala :D
    Ostatnio zmieniony przez jol : 05-11-2012, 18:06

  7. #6
    Avatar WolF
    Data rejestracji
    2006
    Posty
    440
    Siła reputacji
    19

    Domyślny

    Przenieś to
    cout <<"Podaj liczbe trycyfrowa: ";
    cin>>x;
    na sam początek.

Reklama

Informacje o temacie

Użytkownicy przeglądający temat

Aktualnie 1 użytkowników przegląda ten temat. (0 użytkowników i 1 gości)

Podobne tematy

  1. [Programowanie C#] Prosty bot do gry
    Przez piorunek098 w dziale Programowanie
    Odpowiedzi: 6
    Ostatni post: 18-02-2013, 20:35
  2. Programowanie sterownika PLC w programie EASY-SOFT 6
    Przez Pumpkin w dziale Szkoła i nauka
    Odpowiedzi: 0
    Ostatni post: 09-10-2012, 15:02
  3. Programowanie strukturalne i obiektowe
    Przez Bo_Mi_Nick_Zajeli w dziale Szkoła i nauka
    Odpowiedzi: 0
    Ostatni post: 16-11-2011, 15:17
  4. Programowanie-pomoc
    Przez Worst Nightmare w dziale Szkoła i nauka
    Odpowiedzi: 3
    Ostatni post: 16-11-2011, 15:10
  5. [C++,LUA,XML] Jak zacząć od zera programowanie ?
    Przez | Nurgiel | w dziale Strefa developerska
    Odpowiedzi: 3
    Ostatni post: 27-05-2011, 10:18

Zakładki

Zakładki

Zasady postowania

  • Nie możesz pisać nowych tematów
  • Nie możesz pisać postów
  • Nie możesz używać załączników
  • Nie możesz edytować swoich postów
  •