Написать код на языке программирования Java! (JavaScript, C++ и тд. НЕ НУЖНЫ)
ТОЛЬКО JAVA
нужно использовать двумерные массивы!
Дана вещественная матрица n*n, все ее элементы различны. Найти скалярное произведение строки с наибольшим элементом матрицы на столбец с наименьшим элементом.
Answers & Comments
Ответ:
#include <stdio.h>
#define N 2
double matrix[N][N] = {
{ 1.0, 2.0 },
{ 3.0, 4.0 }
};
unsigned long long find_min_max()
{
double max = matrix[0][0];
int line_max = 0;
double min = matrix[0][0];
int column_min = 0;
for( int i = 0; i < N; ++i ) {
for( int j = 0; j < N; ++j ) {
if( matrix[i][j] > max ) {
max = matrix[i][j];
line_max = i;
}
if( matrix[i][j] < min ) {
min = matrix[i][j];
column_min = j;
}
}
}
return ((unsigned long long)line_max << 32) + (unsigned long long)column_min;
}
double calc_product(int line, int column)
{
double sum = 0.0;
for( int i = 0; i < N; ++i ) {
sum += matrix[i][column] * matrix[line][i];
}
return sum;
}
int main() {
unsigned long long line_max = find_min_max();
unsigned long long column_min = line_max & 0xFFFFFFFF;
line_max >>= 32;
double product = calc_product((int)line_max, (int)column_min);
printf("product = %f\n", product);
return 0;
}
Объяснение:
а так код не работает(по крайней мере у меня)