Przesuwanie elementów tablicy o jeden w lewo. C

0

Cześć mam taki problem.
Napisałam program, który przesuwa mi elementy tablicy o jeden w lewo ale potrzebuje jeszcze w miejsce utraconej liczby wstawić 0 np. jak mam 2345 i przesunę to w lewo, potrzebuje otrzymać 3450

#include <stdio.h>
#include <stdlib.h>


int main()
{
    int N;
    int i;
    printf("Wczytaj N ");
    scanf("%d", &N);
    int tab[N];
    printf("Elementy tablicy\n");
    for (i = 0; i < N; i++)
    {
        printf("Podaj liczbe nr %d\n", i + 1);
        scanf("%d", &tab[i]);
    }
    for (i = 0; i < N; i++)
    {
        printf("%d", tab[i]);
    }
    for (i = 0; i < N - 1; ++i)
        tab[i] = tab[i + 1];
    tab[N] = 0;
    printf("\nTablica po wykonaniu przesuniecia\n");
    for (i = 0; i < N; i++)
    {
        printf("%d", tab[i]);
    }
    return 0;
}
2

Zrobiłaś tyle, że to pytanie wydaje się przynajmniej dziwne.

 tab[N] = 0; //<- to jest błąd
 
 tab[N-1] = 0; //<- a to realizuje dokładnie to o co Ci chodziło

@kacyk: skąd pomysł na zerowy element? Przesuwamy w lewo, a nie w prawo ;)

0
xfin napisał(a):

Zrobiłaś tyle, że to pytanie wydaje się przynajmniej dziwne.

 tab[N] = 0; //<- to jest błąd
 
 tab[N-1] = 0; //<- a to realizuje dokładnie to o co Ci chodziło

@kacyk: skąd pomysł na zerowy element? Przesuwamy w lewo, a nie w prawo ;)

mam takie zadanie że po przesunieciu w lewo ostatni element ma mieć 0

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