Bład: "projekt.exe has triggered a breakpoint"

0

Cześć, mam do napisania funkcję, która ma za zadanie przypisać 5 elementów do tablicy w celu wykonania obliczen na tych 5 elementach. Po zakończeniu obliczen tablice mam przesunąć o jeden element w prawo i tak aż do momentu kiedy ostatni element tablicy 5 elementowej bedzie też ostatnim elementem tablicy wynikowej. Funkcje napisałem i działa ona tylko wtedy kiedy tablica wynikowa ma 5 lub 6 elementów dla wartości większych wywala błąd taki jak w tytule("dzialaniamatematyczne.exe has triggered a breakpoint") :/ nie mam pojecia co moze być źle. Pisze w Visual Studio.

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

void przepisywanie(int* tab1, int rozmiar)
{
	int i, z, x = 0;
	int *tab = (int*)malloc(5 * sizeof(int));
	int index, n;
	printf("Tablica przepisana:\n");
	for (n = 2; n < rozmiar - 2; n++)
	{
		index = 2 * n + 1;
		
		if (x == 0)
			z = index + 1;
		else
			z = index - (x - 1);
		
		index -= 5 + x;
		x++;
		puts("XXXXX");
		for (i = index; i < z - 1; i++)
		{
			*(tab+i) = *(tab1 + i);
			printf("%d\n", *(tab + i));
		}
	}
}
int main()
{
	int* tab = NULL;
	int rozmiar=50;
	tab = (int*)malloc(rozmiar* sizeof(int));
	puts("Elementy tablicy:");
	for (int i = 0; i < rozmiar; i++) {
		*(tab + i) = i * i;
		printf("%d\n", *(tab + i));}
	przepisywanie(tab, rozmiar);
	return 0;
}
2

https://ideone.com/ajHsop
Czy to wystarczające wytłumaczenie?

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