Podwójne pobieranie zmiennej

0

Cześć robię program do obliczania macierzy i wszystko fajnie liczy tylko w pewnym momencie jest jeden printf i dwa scanf gdzie w programie tego nie ma, nie wiem dlaczego się tak dzieje. Jest to mój pierwszy program w c.
#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
void wypmacierz2(int);
void wypmacierz(int);
void wypiszmacierz(int n);
void liczeniemacierz(int n);
void wypiszmacierz1(int n);
void wypiszmacierz2(int n);
int wynikmacierz[10][10];
int n,k,b,c;
int macierz1[10][10];
int macierz2[10][10];
int main() {
printf("Podaj n\n");
scanf("%i",&n);
wypmacierz(n);
wypmacierz2(n);
wypiszmacierz1(n);
printf("\n\n");
wypiszmacierz2(n);
printf("\n\n");

liczeniemacierz(n);
wypiszmacierz(n);

return 0;

}

void wypmacierz(int n)
{
for(k=0;k<n;k++)
{
for(b=0;b<n;b++)
{
printf("Podaj wartość z kolumny nr %i i wiersza nr %i\n",k+1,b+1);
scanf("%d\n",&macierz1[k][b]);
}
}
}

void wypmacierz2(int n)
{
for(k=0;k<n;k++)
{
for(b=0;b<n;b++)
{
printf("Podaj wartość z kolumny nr %i i wiersza nr %i\n",k+1,b+1);
scanf("%d\n",&macierz2[k][b]);
}
}
}
void liczeniemacierz(int n)
{
for(k=0;k<=n;k++)
{
for(b=0;b<=n;b++)
{
for(c=0;c<=n;c++)
{

wynikmacierz[k][b]=macierz1[k][c]*macierz2[c][b]+wynikmacierz[k][b];
}

}
}}

void wypiszmacierz(int n)
{
for(k=0;k<n;k++)
{
for(b=0;b<n;b++)
{
printf("%d ",wynikmacierz[k][b]);

}
printf("\n");
}

}

void wypiszmacierz2(int n)
{
for(k=0;k<n;k++)
{
for(b=0;b<n;b++)
{
printf("%d ",macierz2[k][b]);

}
printf("\n");
}

}
void wypiszmacierz1(int n)
{
for(k=0;k<n;k++)
{
for(b=0;b<n;b++)
{
printf("%d ",macierz1[k][b]);

}
printf("\n");
}

}

1

Zmienne globalne - fuj.

 void wypmacierz2(int);
 void wypmacierz(int); 

Dwie funkcje różniące się tylko nazwą, zamiast wywołać jedną dwa razy z różnymi argumentami?
Bezsensowne rozwiązanie.

To tak na pierwszy rzut oka.

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