Program się crashuje

0

Program po wpisaniu w 1 wierszu liczby większej niż 3 crashuje się. Prosiłbym też o rozwiązanie problemu zera na początku 1 liczby jak już program zadziała. (program podaje 4 największe liczby od największej do najmniejszej z wymienionych liczb). Dodam też że uczę się dopiero podstaw C++.

#include <iostream>
#include <cstdlib>

int w, wynik, max1,max2,max3,max4;
long long int N;

using namespace std;



int main()
{
    unsigned long long int L[N];
    cin>>N;
    for(long long int i=0; i<N; i++)
    {
        cin>>L[i];
    }
    wynik=w*2;
    cout<<wynik;
    for(long long int i=0; i<N; i++)
    {
        if(L[i]>max1)
            max1=L[i];
    }
    for(long long int i=0; i<N; i++)
    {
        if(L[i]<max1 && max2 < max1)
            max2=L[i];
    }
    for(long long int i=0; i<N; i++)
    {
        if(L[i]<max2 && max2 > max3)
            max3=L[i];
    }
    for(long long int i=0; i<N; i++)
    {
        if(L[i]<max3 && max3 > max4)
            max4=L[i];
    }
    cout<<max1<<endl;
    cout<<max2<<endl;
    cout<<max3<<endl;
    system("pause");
    return 0;
}
0
unsigned long long int L[N];
cin>>N;

Załóżmy, że jesteś komputerem i otrzymałeś do wykonania te konkretne dwie instrukcje, w tej konkretnej kolejności; jak dużą tablicę alokujesz w pierwszej linijce?

0

Okej, problem rozwiązany. Dałem złą kolejność, ponieważ najpierw tworzyłem tablice w jakiejś liczbie a dopiero później mówiłem jakiej. A jak usunąć zero z przodu 1 liczby?

0

Co to znaczy usunąć zero z przodu liczby?

0

Oprócz tego ja jeszcze się przyczepię. W standardzie C++ brak jest VLA. Jeśli to ma być C++ niech kolega @zrk użyje np. std:vector. Skoro jest początkujący niech również od razu wbije sobie do głowy, że używanie zmiennych globalnych to zło wcielone i trzeba inaczej pisać kod. Tak samo jak system(pause)

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