I'm a beginner in C and I'd like to make a program that calculates a random matrix by a scalar input that user gives. I think that either I should change my second part of scalar()
and whole print()
or just rewrite the matrix()
to get the int
to pass easily. My errors are in scalar()
, in the for
loops. My first function creates, randomizes and prints out the 4x3 matrix. My second function was supposed to take the number from user and multiply the matrix by it and print it out.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
#define ROW 4
#define COLUMN 3
int matrix[ROW][COLUMN];
void creatematrix() {
unsigned short i, j;
srand(time(0));
for (i = 0; i < ROW; i++) {
for (j = 0; j < COLUMN; j++) {
matrix[ROW][COLUMN] = rand() % 22 - 11;
printf("%d Macierz przed pomnozeniem przez skalar: \n",
matrix[ROW][COLUMN]);
}
printf("\n");
}
}
void scalar() {
int scalar, i, j;
printf("Wprowadz dowolny numer do mnozenia macierzy: ");
scanf("%d", &scalar);
for (i = 0; i < ROW; i++) {
for (j = 0; j < COLUMN; j++) {
matrix[ROW][COLUMN] = scalar * matrix[ROW][COLUMN];
printf("%d ", matrix[ROW][COLUMN]);
}
}
}
int main() {
creatematrix();
scalar();
return 0;
}
Output:
-2 Macierz przed pomnozeniem przez skalar:
-9 Macierz przed pomnozeniem przez skalar:
-7 Macierz przed pomnozeniem przez skalar:
-2 Macierz przed pomnozeniem przez skalar:
-6 Macierz przed pomnozeniem przez skalar:
-8 Macierz przed pomnozeniem przez skalar:
-11 Macierz przed pomnozeniem przez skalar:
-4 Macierz przed pomnozeniem przez skalar:
-6 Macierz przed pomnozeniem przez skalar:
-3 Macierz przed pomnozeniem przez skalar:
7 Macierz przed pomnozeniem przez skalar:
-7 Macierz przed pomnozeniem przez skalar:
Wprowadz dowolny numer do mnozenia macierzy: 4
-28 -112 -448 -1792 -7168 -28672 -114688 -458752 -1835008 -7340032 -29360128 -117440512
Process returned 0 (0x0) execution time : 6.421 s
Press any key to continue.