Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
 Аватар для SuLLeN
23 / 23 / 12
Регистрация: 27.12.2011
Сообщений: 855

Двумерный массив A*N и N+

18.09.2013, 13:43. Показов 1587. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
добрый вечер!

Помогите пожалуйста выполнить задание:
Вычислить сумму и число положительных элементов матрицы A*N, N+, находящихся над главной диагональю.

Вот нормальный вывод матрицы A[n,n] c рандомом от 0 до 10:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import java.util.Random;
import java.util.Scanner;
 
public class Lab_1_2 {
 
    public static void main(String[] args) {
        int num, sum, mas[][];
        Scanner in = new Scanner(System.in);
        System.out.print("Введите размерность массива: ");
        num = in.nextInt();
        mas = new int[num][num];
        Random random = new Random();
        for (int i=0;i<mas.length; i++){
            for (int j=0;j<mas.length; j++){
                mas[i][j]=random.nextInt(10);
                System.out.print(mas[i][j]);
                System.out.print(" ");
            }
            System.out.println();
        }
    }
}
Теперь надо её научить задание выполнять...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.09.2013, 13:43
Ответы с готовыми решениями:

Создать двумерный массив, опираясь на другой двумерный массив
У меня есть такой массив 0 0 0 0 0 0 0 6 3 2 2 8 9 3 7 6 8 3 4 5 1 0 0 0 0 0 0 0 0 0 0 0 0...

Как проверить двумерный массив на упорядоченность и результат записать в новый массив?
Задание звучит так: Задать рандомный массив А. Проверить строки массива А на упорядоченность по возрастанию и результат записать в массив...

Массив: Создать двумерный массив, заполнив его согласно заданной схеме

10
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
18.09.2013, 13:45
Ну естественно, вы пытаетесь массив печатать, а он так и выводится. Используйте java.util.Arrays.toString(int[])
0
 Аватар для SuLLeN
23 / 23 / 12
Регистрация: 27.12.2011
Сообщений: 855
18.09.2013, 15:50  [ТС]
Цитата Сообщение от Skipy Посмотреть сообщение
Используйте java.util.Arrays.toString(int[])
Зачем?
0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
18.09.2013, 15:58
Цитата Сообщение от SuLLeN Посмотреть сообщение
Зачем?
Ну зачем-то Вы же выводили массивы в консоль... И еще удивлялись, в каком виде они выводятся. Вот, чтобы нормально выводились.
0
 Аватар для SuLLeN
23 / 23 / 12
Регистрация: 27.12.2011
Сообщений: 855
18.09.2013, 16:48  [ТС]
Цитата Сообщение от Skipy Посмотреть сообщение
Ну зачем-то Вы же выводили массивы в консоль... И еще удивлялись, в каком виде они выводятся. Вот, чтобы нормально выводились.
В коде уже представлен более - менее нормальный вывод, теперь нужен только обработчик для счета суммы и кол -ва положительных элементов над главной диагональю.

Добавлено через 6 минут
И кстати, там не просто массив, а двумерный массив типа A[n,n], поэтому java.util.Arrays.toString(int[]) мне кажется не уместным, а может от незнания.

Добавлено через 2 минуты
Вот цикл сумматора, но он не правильно работает. Что не так?
Java
1
2
3
4
5
6
for (int i=1; i<=mas.length; i++){
            for (int j=i+1; j<mas.length; j++){
                sum += sum + mas[i][j];
            }
        }
        System.out.print(sum);
Вот полный код:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import java.util.Random;
import java.util.Scanner;
 
public class Lab_1_2 {
 
    public static void main(String[] args) {
        int num, mas[][], sum = 0;
        Scanner in = new Scanner(System.in);
        System.out.print("Введите размерность массива: ");
        num = in.nextInt();
        mas = new int[num][num];
        Random random = new Random();
        for (int i=0;i<mas.length; i++){
            for (int j=0; j<mas.length; j++){
                mas[i][j]=random.nextInt(10);
                System.out.print(mas[i][j]);
                System.out.print("  ");
            }
            System.out.println();
        }
        for (int i=1; i<=mas.length; i++){
            for (int j=i+1; j<mas.length; j++){
                sum += sum + mas[i][j];
            }
        }
        System.out.print(sum);
    }
}
0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
18.09.2013, 16:54
Цитата Сообщение от SuLLeN Посмотреть сообщение
И кстати, там не просто массив, а двумерный массив типа A[n,n], поэтому java.util.Arrays.toString(int[]) мне кажется не уместным, а может от незнания.
Ну, если менять исходное сообщение раз в несколько минут, можно добиться того, что все комментарии будут неуместными. В исходном коде был вывод строки массива - int[]. И был приведен консольный вывод. Сейчас исходное сообщение изменено и этого там уже нет.
0
 Аватар для SuLLeN
23 / 23 / 12
Регистрация: 27.12.2011
Сообщений: 855
18.09.2013, 16:57  [ТС]
Прошу прощения=) Просто долго ждать приходится ответа и стараюсь что бы топик был информативен не только для меня=)
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
18.09.2013, 17:09
Цитата Сообщение от Skipy Посмотреть сообщение
Ну, если менять исходное сообщение раз в несколько минут, можно добиться того, что все комментарии будут неуместными.
используй цитаты и тогда всегда будет ясно в каком контексте ответ
0
 Аватар для SuLLeN
23 / 23 / 12
Регистрация: 27.12.2011
Сообщений: 855
18.09.2013, 17:11  [ТС]
Ну в принципе вот ответ:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import java.util.Random;
import java.util.Scanner;
 
public class Lab_1_2 {
 
    public static void main(String[] args) {
        int num, mas[][], sum = 0, positive = 0;
        Scanner in = new Scanner(System.in);
        System.out.print("Введите размерность массива: ");
        num = in.nextInt();
        mas = new int[num][num];
        Random random = new Random();
        for (int i=0;i<mas.length; i++){
            for (int j=0; j<mas.length; j++){
                mas[i][j]=random.nextInt(10);
                System.out.print(mas[i][j]);
                System.out.print("  ");
            }
            System.out.println();
        }
        for (int i = 0; i < mas.length; i++) {
            for (int j = i + 1; j < mas[i].length; j++) {
                sum += mas[i][j];
                if (mas[i][j] > 0) positive++;
            }
        }
        System.out.println();
        System.out.println("Сумма: " + sum + ", кол-во полож. чисел: " + positive);
    }
}
0
 Аватар для verylazy
462 / 462 / 71
Регистрация: 26.02.2013
Сообщений: 1,263
18.09.2013, 17:17
а откуда там взяться отрицательным числам?
0
 Аватар для SuLLeN
23 / 23 / 12
Регистрация: 27.12.2011
Сообщений: 855
18.09.2013, 17:43  [ТС]
Цитата Сообщение от verylazy Посмотреть сообщение
а откуда там взяться отрицательным числам?
Да, щас испаравимс=)

Добавлено через 16 минут
Вот исправление с рандомом от -10 до 10:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import java.util.Random;
import java.util.Scanner;
 
public class Lab_1_2 {
 
    public static void main(String[] args) {
        int num, mas[][], sum = 0, positive = 0;
        Scanner in = new Scanner(System.in);
        System.out.print("Введите размерность массива: ");
        num = in.nextInt();
        mas = new int[num][num];
        Random random = new Random();
        for (int i=0;i<mas.length; i++){
            for (int j=0; j<mas.length; j++){
                mas[i][j]=random.nextInt(20)-10;
                System.out.print(mas[i][j]);
                System.out.print("  ");
            }
            System.out.println();
        }
        for (int i = 0; i < mas.length; i++){
            for (int j = i + 1; j < mas[i].length; j++){
                if (mas[i][j] > 0){
                    sum += mas[i][j];
                    positive++;
                }
            }
        }
        System.out.println();
        System.out.println("Сумма: " + sum + ", кол-во полож. чисел: " + positive);
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.09.2013, 17:43
Помогаю со студенческими работами здесь

Создать двумерный массив из произвольных чисел, и отсортировать массив по убыванию
необходимо создать двумерный массив из произвольных чисел, и отсортировать массив по убыванию.

Как строковый массив из чисел преобразовать в двумерный массив int[][]
Ребят, помогите пожалуйста с задачей Имеется массив String a, в котором хранятся числа: . Нужно преобразовать его в двумерный...

Дан двумерный массив. Сформировать одномерный массив только из четных элементов двумерного массива
Последний раз прошу, пожалуйста

Дан целочисленный двумерный массив размера n × m. Получить по нему массив логических величин соответствующего
здравствуйте! помогите пожалуйста Дан целочисленный двумерный массив размера n × m. Получить по нему массив логических величин...

Преобразовать массив String в двумерный массив int
Всем привет. Имеется массив String a, в котором хранятся числа. Требуется преобразовать его в двумерный массив int c, чтобы совершать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru