We always learn something new
This commit is contained in:
parent
2b7656a3da
commit
a305e55071
|
@ -9,14 +9,14 @@ int main () {
|
|||
|
||||
for (i = 0; i < 2; i++) {
|
||||
printf("Digite, separadas por espaço, as dimenções em linhas e colunas da %dª matriz: ", i + 1);
|
||||
if (!(scanf("%d %d", &lin[i], &col[i])) || lin[i] == 0 || col[i] == 0) {
|
||||
if (!(scanf("%d %d", &lin[i], &col[i])) || lin[i] <= 0 || col[i] <= 0) {
|
||||
printf("Valor inválido\n");
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (col[0] != lin[1]) {
|
||||
printf("Matrizes de tamanho incorreto: a largura da 1ª matriz (%d) é diferente da altura da segunda (%d). Estas matrizes não podem ser multiplicadas entre si.)\n", col[0], lin[1]);
|
||||
printf("Matrizes de tamanho incorreto: a largura da 1ª matriz (%d) é diferente da altura da 2ª (%d). Estas matrizes não podem ser multiplicadas entre si.)\n", col[0], lin[1]);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -26,10 +26,9 @@ int main () {
|
|||
for (j = 0; j < lin[i]; j++)
|
||||
matrices[i][j] = malloc (col[i] * sizeof(matrices[i][j]));
|
||||
|
||||
printf("Digite, separados por espaço ou quebra de linha, os %d valores a serem depositados na %d matriz:\n", lin[i] * col[i], i + 1);
|
||||
for (j = 0; j < lin[i]; j++)
|
||||
for (k = 0; k < col[i]; k++)
|
||||
scanf(" %f", &matrices[i][j][k]);
|
||||
printf("Digite, separados por espaço ou quebra de linha, os %d valores a serem depositados na %dª matriz:\n", lin[i] * col[i], i + 1);
|
||||
for (j = 0; j < lin[i] * col[i]; j++)
|
||||
scanf(" %f", &matrices[i][j / col[i]][j % col[i]]);
|
||||
}
|
||||
|
||||
matrices[2] = malloc (lin[0] * sizeof(matrices[2]));
|
||||
|
@ -37,9 +36,8 @@ int main () {
|
|||
matrices[2][i] = malloc (col[1] * sizeof(matrices[2][i]));
|
||||
for (j = 0; j < col[1]; j++) {
|
||||
matrices[2][i][j] = 0;
|
||||
for (k = 0; k < col[0]; k++) {
|
||||
for (k = 0; k < col[0]; k++)
|
||||
matrices[2][i][j] += matrices[0][i][k] * matrices[1][k][j];
|
||||
}
|
||||
|
||||
number = matrices[2][i][j];
|
||||
length = 0;
|
||||
|
@ -54,8 +52,12 @@ int main () {
|
|||
|
||||
printf("Resultado:\n");
|
||||
for (i = 0; i < lin[0]; i++) {
|
||||
for (j = 0; j < col[1]; j++)
|
||||
printf("%*.2f ", max_length, matrices[2][i][j]);
|
||||
for (j = 0; j < col[1]; j++){
|
||||
if (matrices[2][i][j] < 0)
|
||||
printf("%*.2f ", max_length, matrices[2][i][j]);
|
||||
else
|
||||
printf(" %*.2f ", max_length, matrices[2][i][j]);
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
return 0;
|
||||
|
|
Loading…
Reference in New Issue