C++ задача

kriss

Registered
Задачата:
http://web-tourist.net/userfiles/5/5104.jpg
Кода ми:
Код:
#include <iostream>
using namespace std;
int main(){
    int K,M,m1[20],useless = 0,k=0,n=0,t=0,p=0;
    cout<<"Vavedete K: ";
    cin>>K;
    cout<<"Vavedete M: ";
    cin>>M;
    if(M>K && K>0){
        for(int i=0;i<20;i++){
            cout<<"Vavedi provodnik "<<i+1<<" (index:"<<i<<"): ";
            cin>>m1[i];
            if(m1[i]>K && m1[i]<M){
                k++;
            }else if(m1[i]>M){
                n++;
            }else{
                useless++;
            }
        }
        int m2[k],m3[k],m4[n],m5[n];
        for(int i=0;i<20;i++){
            if(m1[i]>K && m1[i]<M){
                m2[t] = m1[i];
                m3[t] = i;
                t++;
            }
            if(m1[i]>M){
                m4[p] = m1[i];
                m5[p] = i;
                p++;
            }
        }
        cout<<"Neizpolzvaemi provodnici: "<<useless<<endl;
        cout<<"Daljini na provodnici s podhodqshti daljini: ";
        for(int i=0;i<t;i++){
            cout<<m2[i];
            if(t-1>i){
                cout<<",";
            }
        }
        cout<<endl<<"Indeksi na provodnici s podhodqshti daljini: ";
        for(int i=0;i<t;i++){
            cout<<m3[i];
            if(t-1>i){
                cout<<",";
            }
        }
        cout<<endl<<"Daljini na provodnici s po-golemi daljini: ";
        for(int i=0;i<p;i++){
            cout<<m4[i];
            if(p-1>i){
                cout<<",";
            }
        }
        cout<<endl<<"Indeksi na provodnici s po-golemi daljini: ";
        for(int i=0;i<p;i++){
            cout<<m5[i];
            if(p-1>i){
                cout<<",";
            }
        }
    }else{
        cout<<endl<<"Greshka: dopustimi stoinosti 0<K<M";
    }
    return 0;
}
На моя компютър работи добре, но на лаптоп не става - въвеждам стоиностите на проводниците и след това се затваря. Отворен съм за предложения и поправки :)
 
Код:
#include <iostream>
using namespace std;
int main(){
    int K,M,m1[20],useless = 0,k=0,n=0,t=0,p=0;
    cout<<"Vavedete K: ";
    cin>>K;
    cout<<"Vavedete M: ";
    cin>>M;
    if(M>K && K>0){
        for(int i=0;i<20;i++){
            cout<<"Vavedi provodnik "<<i+1<<" (index:"<<i<<"): ";
            cin>>m1[i];
            if(m1[i]>K && m1[i]<M){
                k++;
            }else if(m1[i]>M){
                n++;
            }else{
                useless++;
            }
        }
        int m2[k],m3[k],m4[n],m5[n];
        for(int i=0;i<20;i++){
            if(m1[i]>K && m1[i]<M){
                m2[t] = m1[i];
                m3[t] = i;
                t++;
            }
            if(m1[i]>M){
                m4[p] = m1[i];
                m5[p] = i;
                p++;
            }
        }
        cout<<"Neizpolzvaemi provodnici: "<<useless<<endl;
        cout<<"Daljini na provodnici s podhodqshti daljini: ";
        for(int i=0;i<t;i++){
            cout<<m2[i];
            if(t-1>i){
                cout<<",";
            }
        }
        cout<<endl<<"Indeksi na provodnici s podhodqshti daljini: ";
        for(int i=0;i<t;i++){
            cout<<m3[i];
            if(t-1>i){
                cout<<",";
            }
        }
        cout<<endl<<"Daljini na provodnici s po-golemi daljini: ";
        for(int i=0;i<p;i++){
            cout<<m4[i];
            if(p-1>i){
                cout<<",";
            }
        }
        cout<<endl<<"Indeksi na provodnici s po-golemi daljini: ";
        for(int i=0;i<p;i++){
            cout<<m5[i];
            if(p-1>i){
                cout<<",";
            }
        }
    }else{
        cout<<endl<<"Greshka: dopustimi stoinosti 0<K<M";
    }
    system("pause");
    return 0;
}
 
Грешка в програмата няма. Просто като я стартираш директно windows затваря конзолата като свърши програмата. Отвори си едно cmd (start->run->cmd) и я пусни от там.
 

Back
Горе