Re: Допоможіть з функціями підпрограми в С
десь у вас помилка, бо воно як виводило 2ий елемент матриці у добутку, так і далі виводить
Це не в мене помилка, це у вас помилка була в mult == j > i.
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → C → Допоможіть з функціями підпрограми в С
Для відправлення відповіді ви повинні увійти або зареєструватися
десь у вас помилка, бо воно як виводило 2ий елемент матриці у добутку, так і далі виводить
Це не в мене помилка, це у вас помилка була в mult == j > i.
Дуже дякую вам за допомогу, а чи можна записати, щоб у добуток був тільки кінцевий, а не по порядку
я видалив else і кількість зменшилася, але чи можна звести до одного?
Дуже дякую вам за допомогу, а чи можна записати, щоб у добуток був тільки кінцевий, а не по порядку
Зdісно можна, треба винести printf поза цикл, аби виводило множення тільки з останньої ітерації циклу:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int A[4][4], E[3][3];
int main()
{
printf("Вхідна матриця A\n");
srand(time(NULL));
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 4; j++)
{
A[i][j] = (rand() % 10) + 1;
printf("%i\t", A[i][j]);
}
printf("\n");
}
int mult = 1;
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 4; j++)
{
if (j > i)
{
mult = mult * A[i][j];
}
}
}
printf("Добуток А: %i\n", mult);
printf("Вхідна матриця E\n");
srand(time(NULL));
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
E[i][j] = (rand() % 10) + 1;
printf("%i\t", E[i][j]);
}
printf("\n");
}
int multi = 1;
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
if (j > i)
{
multi = multi * E[i][j];
}
}
}
printf("Добуток Е: %i\n", multi);
}
Для відправлення відповіді ви повинні увійти або зареєструватися