• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

C++ silnia, problem z kompilacją

Fiszki IT
Fiszki IT
0 głosów
53 wizyt
pytanie zadane 28 kwietnia w C i C++ przez ndel07 Nowicjusz (180 p.)

Witam, poniższy program na początku pyta o ilość liczb, następnie wprowadza się każdą z klawiatury, a komputer oblicza silnie. Niestety, program wyświetla silnie tylko dwóch pierwszych liczb, a potem się zatrzymuje. Wie ktoś może dlaczego tak się dzieje???

#include <iostream>

using namespace std;

int silnia (int n)
{
    int wynik=1;
    for (int a=1; a<=n; a++)
    {
     wynik *=a;
    }
    return wynik;
}
int main()
{
    int d; //liczba przypadków
    int liczba[d]; // miejsce na każdą liczbę do silni
    cin>>d;
    for (int i=0; i<d; i++)
    {
        cin>>liczba[i];
        cout<<"Jej silnia: "<<silnia(liczba[i])<<endl;
    }
    return 0;
}

 

1 odpowiedź

0 głosów
odpowiedź 28 kwietnia przez Jakub 0 Pasjonat (20,050 p.)
edycja 28 kwietnia przez Jakub 0
 
Najlepsza

Niestety, program wyświetla silnie tylko dwóch pierwszych liczb, a potem się zatrzymuje.

To w końcu się kompiluje czy nie? laugh.

Ale mniejsze o to, taki kod jest niedozwolony:

int liczba[d];

Musisz dynamicznie zaalokować tablicę:

int* liczba = new int [d];

Tak przydzielasz pamięć na stercie, poprzednio robiłeś to na stosie (i wartość musiała być znana podczas kompilacji)

Po drugie korzystasz tu z niezainicjalizowanej zmiennej d, musisz wczytać tą zmienną przed jej wykorzystaniem.

1
komentarz 28 kwietnia przez ndel07 Nowicjusz (180 p.)
Teraz wszystko działa, dziękuję za pomoc!!

Podobne pytania

0 głosów
1 odpowiedź 247 wizyt
pytanie zadane 21 lipca 2019 w C i C++ przez KABAK Nowicjusz (230 p.)
0 głosów
3 odpowiedzi 154 wizyt
pytanie zadane 16 stycznia 2018 w C i C++ przez Andr Zej Nowicjusz (120 p.)
+1 głos
1 odpowiedź 62 wizyt
pytanie zadane 17 stycznia w C# przez ppb434 Nowicjusz (170 p.)
Porady nie od parady
Zadając pytanie postaraj się o odpowiedni tytuł, kategorię oraz tagi.Tagi

84,750 zapytań

133,554 odpowiedzi

295,973 komentarzy

56,009 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...