Есть ответ 👍

[java] дана вещественная матрица размером 10х40. упорядочить ее строки по убыванию суммы их элементов

161
310
Посмотреть ответы 2

Ответы на вопрос:

ladykaden
4,6(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();

    }

}

Garri14
4,4(76 оценок)

< ! doctype html> < html lang="ru"> < head> < meta charset="utf-8"> < title> стих< /title> < style> body { background: #f5f5f5; font-size: 14px; font-family: arial, sant-serif; } .verse { display: block; width: 30%; margin: 70px auto; background: #fff; padding: 20px; border-radius: 10px; border: 1px dashed #ccc; } h1 { color: orange; text-shadow: 1px 1px 0px #111111; text-align: center; } p { margin: 25px 0; } < /style> < /head> < body> < div class="verse"> < h1> вчера и сегодня< /h1> < p style="font-size: 11px; "> вчера, при блеске свеч, в двенадцатом часу,< /p> < p style="font-size: 12px; "> ты слушала меня с улыбкою участья,< /p> < p style="font-size: 13px; "> и мне казалося: вот-вот перенесу< /p> < p style="font-size: 14px; "> тебя в цветущий мир безумия и счастья.< /p> < p style="font-size: 15px; "> сегодня — боже мой! — я путаюсь в словах,< /p> < p style="font-size: 16px; "> ты смотришь на меня и трезво, и обидно, —< /p> < p style="font-size: 17px; "> и как об этих двух подумаю я днях,< /p> < p style="font-size: 18px; "> то нынешнего жаль, а за вчерашний стыдно.< /p> < p style="text-align: right; "> < i> < b> год написания: < /b> 1854< /i> < /p> < /div> < /body> < /html>

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS