Witam robię zadanie ze SPOJA Kalkulator 2, niestety mój kod program się wykrzacza i nie wiem co może być tego przyczyną. Ma ktoś jakieś pomysły? Z góry dziękuję za pomoc
#include "stdafx.h"
#include "iostream"
#include "cstdlib"
using namespace std;
int* zwieksz_rozmiar(int *wyniki)
{
int* tablica_nowa = new int[sizeof(wyniki)+1];
memcpy(tablica_nowa, wyniki, sizeof(wyniki) * sizeof(int)); // kopiowanie mniejszej tablicy do nowej większej
delete[] wyniki;
wyniki = tablica_nowa; // nowa tablica otrzymuje nazwe starej tablicy
return wyniki;
}
int main()
{
int rejestr[10] = { 0,0,0,0,0,0,0,0,0,0 }; //pamięć kalkulatora
char operacja; //znak operacji
int liczba1,liczba2; //zestawy
int *wyniki = new int [1];
int i = 0;
while (cin >> operacja >> liczba1 >> liczba2)
{
switch (operacja)
{
case 'z': rejestr[liczba1] = liczba2; break;
case '+': wyniki[i] = rejestr[liczba1] + rejestr[liczba2]; break;
case '-': wyniki[i] = rejestr[liczba1] - rejestr[liczba2]; break;
case '*': wyniki[i] = rejestr[liczba1] * rejestr[liczba2]; break;
case '/': wyniki[i] = rejestr[liczba1] / rejestr[liczba2]; break;
case '%': wyniki[i] = rejestr[liczba1] % rejestr[liczba2]; break;
}
wyniki = zwieksz_rozmiar(wyniki); //zwiększanie miejsca w tablicy o 1
i++;
}
i = 0;
while (i < sizeof(wyniki)) //wypisz wyniki
{
cout << wyniki[i] << endl;
i++;
}
delete [] wyniki;
return 0;
}