logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

C++ Odwracanie kolejności wyrazów w tablicy w podanym przedziale

knyku 17 Gru 2010 00:43 2865 2
REKLAMA
  • #1 8878469
    knyku
    Poziom 2  
    Posty: 2
    Witam. Mam do napisania na MTP program odwracający kolejność wyrazów tablicy określonych podanym przedziałem. Dla przykładu: tab = [1,2,3,4,5,6,7,8,9,10], tabodw = [1,2,6,5,4,3,7,8,9,10]. No i coś mi tutaj nie działa, może byłby ktoś w stanie pomóc ?

    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    
    int main()
    {
    int const N=10;
    float tab[N]={1,2,3,4,5,6,7,8,9,10};
    int p,k;
    float a;
    cout<<"tab = ["<<tab[0]<<", "<<tab[1]<<", "<<tab[2]<<", "<<tab[3]<<", "<<tab[4]<<", "<<tab[5]<<", "<<tab[6]<<", "<<tab[7]<<", "<<tab[8]<<", "<<tab[9]<<"]"<<endl;
    wartosci:
    cout<<"Podaj p: ";
    cin>>p;
    cout<<"Podaj k: ";
    cin>>k;
    if(p>k or p<1 or k>N)
    {
    cout<<"Zle wartosci p i k"<<endl;
    goto wartosci;
    }
    else
    
    while(p<k)
    {         
              a=tab[p-1];
              tab[p-1]=tab[k-1];
              tab[k-1]=a;         
    }
    cout<<"tabodw = ["<<tab[0]<<", "<<tab[1]<<", "<<tab[2]<<", "<<tab[3]<<", "<<tab[4]<<", "<<tab[5]<<", "<<tab[6]<<", "<<tab[7]<<", "<<tab[8]<<", "<<tab[9]<<"]"<<endl;
    system("PAUSE");
    return 0;
    }
    
    


    Z góry dziękuje :)
  • REKLAMA
  • Pomocny post
    #2 8878532
    voland
    Poziom 15  
    Posty: 139
    Pomógł: 6
    Ocena: 152
    pętla będzie działać w nieskończoność skoro zmienne uwzględnione w warunku ukończenia pętli się nie zmieniają. powinno to wyglądać jakoś tak:
    
    while (p<k){
           a=tab[p-1];
           tab[p-1]=tab[k-1];
           tab[k-1]=a;
           p++;
           k--;
    }
    
  • #3 8878537
    knyku
    Poziom 2  
    Posty: 2
    Dziękuje, pomogło :)
REKLAMA