[java] дана вещественная матрица размером 10х40. упорядочить ее строки по убыванию суммы их элементов
Ответы на вопрос:
public class myclass {
public static void main(string args[]) {
int dimention1 = 10;
int dimention2 = 5; //40
double[][] matrix = new double[dimention1][dimention2];
fill(matrix);
print(matrix);
matrix = sort(matrix, getorder(matrix));
print(matrix);
}
private static double[][] sort(double[][]matrix, int[] order)
{
double[][] ret = new double[matrix.length][matrix[0].length];
for (int i=0; i< matrix.length; i++ )
{
for (int j=0; j< matrix[i].length; j++ )
{
ret[i][j] = matrix[order[i]][j];
}
}
return ret;
}
private static void fill(double[][] matrix)
{
for (int i=0; i< matrix.length; i++ )
{
for (int j=0; j< matrix[i].length; j++ )
{
matrix[i][j] = math.random()*10;
}
}
}
private static int[] getorder(double[][] matrix)
{
double[] sums = new double[matrix.length];
for (int i=0; i< matrix.length; i++ )
{
for (int j=0; j< matrix[i].length; j++ )
{
sums[i]+=matrix[i][j];
}
}
int[] order = new int[sums.length];
for (int i=0; i< sums.length; i++ )
{
order[i] = i;
}
for (int i=0; i< sums.length; i++ )
{
for (int j=i+1; j< sums.length; j++ )
{
if(sums[i]< sums[j])
{
double tmp1 = sums[i];
int tmp2 = order[i];
sums[i] = sums[j];
order[i] = order[j];
sums[j] = tmp1;
order[j] = tmp2;
}
}
}
return order;
}
private static void print(double[][] matrix )
{
for (int i=0; i< matrix.length; i++ )
{
double sum = 0.0;
for (int j=0; j< matrix[i].length; j++ )
{
system.out.print(matrix[i][j]+" ");
sum+=matrix[i][j];
}
system.out.println(" sum: "+sum);
}
system.out.println();
}
}
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
Ozeplay20.04.2020 20:40
-
igulsinya26.01.2023 14:02
-
yasasmail31.12.2020 12:47
-
Kseniya00622.02.2021 09:31
-
iNNA907801.11.2020 03:25
-
ShurenkoPasha1231.08.2020 00:05
-
yakirill010920015.09.2022 06:47
-
нигу320.07.2020 02:26
-
Dasha1254107.11.2022 17:21
-
АринаДаутова29.12.2022 02:50
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.