1 / 3
Jul 2018

Witam mam pytanie dlaczego elementy tablicy nie przesuwają się prawidłowo. Mają przesuwać się w lewą stronę a ostatnia liczba z lewej trafić na koniec, w ten sposób 1234 -> 2341.
#include
#include <time.h>
#include

using namespace std;
int powt, ile;

int main()
{
cout << “Podaj ile liczb w tablicy i ile powturzeñ :” << endl;
int *tablica;
tablica=new int[ile];
cin>>ile>>powt;
//wstawianie wartości losowych do tablicy
srand(time(NULL));
int liczba;
for (int i=0; i<ile; i++)
{
liczba=rand()%100+1;
tablica[i]=liczba;
cout<<tablica[i]<<" ";
}
cout<<endl;
//przesunięcie o 1 w lewo
for(int i=powt; i>=0; i–)
{
int zamiana=tablica[0];
for(int n=ile-1; n>=1; n–)
{
tablica[n-1]=tablica[n];

    }
    tablica[ile-1]=zamiana;
}
//wyświetla tablicę po zamianie
for(int n=ile-1; n>=0; n--){

cout<<tablica[n]<<" ";
}
delete[]tablica;
return 0;
}

  • created

    Jul '18
  • last reply

    Jul '18
  • 2

    replies

  • 736

    views

  • 2

    users

  • 1

    like

Zastanów się co to robi… Czy na pewno to co chcesz. Nie mam możliwości sprawdzenia ale wydaje mi się że nie

Po długim wpatrywaniu się w kod w końcu się udało :grinning:

int zamiana=tablica[0];
for (int n=0; n<=ile; n++)
{
tablica[0+n]=tablica[1+n];

    }
    tablica[ile-1]=zamiana;