Ale to i tak nic nie zmienia. Poprawiłem. Błąd pojawia się przy alokacji. Bo wiesza sie zanim mi wyświetli kolenje printf.
#include <stdio.h>
//#include <iostream>
//Zmienna globalna wymiar - stała dla wszystkich podfunkcji - dlatego robię ją globalną
int wymiar;
void wczytajTablice(int* a);
void modyfikacjaTablic( int* a,int* p1, int* p2);
void wypiszTablice(int* a);
//#######################################################################
int main(){
printf("Program do przekształcania tablic.\n Podaj rozmiar tablicy jednowymiarowej:");
scanf("%d", wymiar);
int *tab1;
int *tab2;
int *tab3;
//Stworzenie dynamicznych tablic N elementowych
tab1 = (int*) malloc(wymiar* sizeof (int));
tab2 = (int*) malloc(wymiar* sizeof (int));
tab3 = (int*) malloc(wymiar* sizeof (int));
// Wczytanie ręczne parametrów tablicy
printf("/nWczytaj pokoleji wyrazy tablicy A rozdzielająć je klawiszem enter:\n");
wczytajTablice(tab1);
printf("/nWczytaj pokoleji wyrazy tablicy B rozdzielająć je klawiszem enter:\n");
wczytajTablice(tab2);
printf("/nWczytaj pokoleji wyrazy tablicy C rozdzielająć je klawiszem enter:\n");
wczytajTablice(tab3);
//Wypisyawnie pierwotnej tablicy
printf("Pierwotne tablice to:\n");
printf("\nA= ");
wypiszTablice(tab1);
printf("\nB= ");
wypiszTablice(tab2);
printf("\nC= ");
wypiszTablice(tab3);
//Algorytm przypisania tablicy sumy pozostałych
int *pomocnicza1;
int *pomocnicza2;
int *pomocnicza3;
pomocnicza1 = (int*) calloc(wymiar, sizeof *pomocnicza1);
pomocnicza2 = (int*) calloc(wymiar, sizeof *pomocnicza2);
pomocnicza3 = (int*) calloc(wymiar, sizeof *pomocnicza3);
modyfikacjaTablic( pomocnicza1,tab2, tab3);
modyfikacjaTablic( pomocnicza2,tab1, tab2);
modyfikacjaTablic( pomocnicza3,tab2, tab1);
//Wypisyawnie przerobionych tablicy
printf("Tablice powstałe poprzez sume dwóch pozostałych to:\n");
printf("\nA= ");
wypiszTablice(pomocnicza1);
printf("\nB= ");
wypiszTablice(pomocnicza2);
printf("\nC= ");
wypiszTablice(pomocnicza2);
free(tab1);
free(tab2);
free(tab3);
free(pomocnicza1);
free(pomocnicza2);
free(pomocnicza3);
getchar();
//System("PAUSE");
return 0;
}
//######################################################################
void wczytajTablice(int* tablica){
int n=wymiar;
int i=0;
for(i;i<n;i++){
scanf("%d",(*tablica)+i);
}
}
void wypiszTablice(int* tablica){
int n=wymiar;
int i=0;
for(i;i<n;i++){
printf("%d ",(*tablica)+i);
}
}
void modyfikacjaTablic( int* a,int* p1, int* p2){
int n=wymiar;
int i=0;
for(i;i<n;i++){
*(a+i)=*(p1+i)+*(p2+1);
}
}