Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 05.10.2017
Сообщений: 42
1

Не выводит данные

07.10.2018, 18:37. Показов 398. Ответов 9
Метки нет (Все метки)

"Написать класс, который реализует функционал работы с массивом, создать методы: введение массива, вывод массива,сортировка массива (любым методом). В квадратной матрице заменить все диагональные элементы их абсолютными значениями. "
Недавно начал изучать java.
Я начал описывать класс и сделал вывод ввод матрицы, но в выводе не работает "вывод". В чём заключается ошибка?
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
33
34
35
36
37
38
39
40
41
package com.company;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) throws IOException {
        int count = 0;
        int i = 0 ;
        int j = 0;
 
        vvod_matrizi(count, i, j);
        vivod_matrizi(count, i, j);
    }
 
    public static void vvod_matrizi(int count, int i, int j) throws IOException {
        BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
        Scanner in = new Scanner(System.in);
        System.out.print("Введите размерность матрицы:\n> ");
        count = Integer.parseInt(input.readLine());
        int mas[][] = new int[count][count];
        System.out.print("Введите элементы матрицы:\n> ");
        for (i = 0; i < count; i++) {
            for (j = 0; j < count; j++) {
                mas[i][j] = in.nextInt();
            }
        }
 
    }
    public static void vivod_matrizi(int count, int i, int j) {
        int mas[][] = new int[count][count];
        System.out.print("Матрица:\n ");
        for (i = 0; i < count; i++) {
            for (j = 0; j < count; j++) {
                System.out.print( mas[i][j] + " ");
        }
        System.out.println();
        }
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.10.2018, 18:37
Ответы с готовыми решениями:

в одной форме ввожу данные об ученике выводится результат со второй формы но не выводит данные с перовой форм
Тут такая проблема в одной форме ввожу данные об ученике на второй форме есть программа для...

Как в php сделать поиск? Вводить данные, нажимать на кнопку, скрипт по базе ищет данные и выводит
Можно ли в php сделать поиск? Вводить данные например, нажимать на кнопку и он по базе ищет эти...

не выводит данные
проблема. не выводит данные выводит array сам код $sql=(&quot;select t1.*, t2.* from t1, t2...

Не выводит данные из БД
Help! Никак не могу понять в чем ошибка, может вы увидите. C подключением все норм Выдает ошибку...

__________________

Записывайтесь на профессиональные курсы Java-разработчиков
Обучение в Java Mentor с оплатой после трудоустройства
9
Супер-модератор
Эксперт PythonЭксперт Java
7489 / 4083 / 1520
Регистрация: 21.10.2017
Сообщений: 11,556
07.10.2018, 18:47 2
LuckyVadim, ты в методе вывода создаешь новую матрицу. Что там выводить-то?

Добавлено через 1 минуту
Тебе нужно матрицу сделать полем класса и с ней уже работать

Добавлено через 7 минут
Что-то вроде...
Main
Java
1
2
3
4
5
6
7
8
public class Cyber {
 
    public static void main(String[] args) {
        Matrix matrix = new Matrix();
        matrix.vvod_matrizi();
        matrix.vivod_matrizi();
    }
}

Matrix
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.Scanner;
 
public class Matrix {
    private int[][] matrix;
 
    public void vvod_matrizi() {
        Scanner in = new Scanner(System.in);
        System.out.print("Введите размерность матрицы:\n> ");
        int count = in.nextInt();
        matrix = new int[count][count];
        System.out.print("Введите элементы матрицы:\n> ");
        for (int i = 0; i < count; i++) {
            for (int j = 0; j < count; j++) {
                matrix[i][j] = in.nextInt();
            }
        }
    }
 
    public void vivod_matrizi() {
        System.out.print("Матрица:\n ");
        for (int[] rows : matrix) {
            for (int item : rows) {
                System.out.print(item + " ");
            }
            System.out.println();
        }
    }
}
0
0 / 0 / 0
Регистрация: 05.10.2017
Сообщений: 42
07.10.2018, 21:04  [ТС] 3
Не стал делать как вы посоветовали(может я за это отхвачу), но вот, что получилось. Сделал ещё сортировку одномерного массива. Вопрос в том, как сделать задание "Заменить все диагональные элементы их абсолютными значениями."?
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
package com.company;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) throws IOException {
        int count = 0;
        int i = 0 ;
        int j = 0;
 
 
        vvod_matrizi(count, i, j);
        selectionSort();
    }
    public static void selectionSort(){
        Scanner input = new Scanner(System.in); 
        System.out.print("Сортировка выбором\n");
        System.out.print("Введите количество чисел массива\n> ");
        int size = input.nextInt(); 
        int arr[] = new int[size]; 
        System.out.println("Введите элементы массива:");
        for (int i = 0; i < size; i++) {
            arr[i] = input.nextInt(); 
        }
        System.out.print ("Отсортированный массив:");
        for (int i = 0; i < size; i++) {
            int min = arr[i];
            int min_i = i;
            for (int j = i+1; j < size; j++) {
                if (arr[j] < min) {
                    min = arr[j];
                    min_i = j;
                }
            }
            if (i != min_i) {
                int tmp = arr[i];
                arr[i] = arr[min_i];
                arr[min_i] = tmp;
            }
            System.out.print (" " + arr[i]);
        }
    }
 
    public static void vvod_matrizi(int count, int i, int j) throws IOException {
        BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
        Scanner in = new Scanner(System.in);
        System.out.print("Введите размерность матрицы:\n> ");
        count = Integer.parseInt(input.readLine());
        int mas[][] = new int[count][count];
        System.out.print("Введите элементы матрицы:\n");
        for (i = 0; i < count; i++) {
            for (j = 0; j < count; j++) {
                mas[i][j] = in.nextInt();
            }
        }
        System.out.print("Матрица:\n");
        for (i = 0; i < count; i++) {
            for (j = 0; j < count; j++) {
                System.out.print( mas[i][j] + " ");
            }
            System.out.println();
        }
 
    }
  
 
}
0
Супер-модератор
Эксперт PythonЭксперт Java
7489 / 4083 / 1520
Регистрация: 21.10.2017
Сообщений: 11,556
07.10.2018, 21:10 4
Цитата Сообщение от LuckyVadim Посмотреть сообщение
как сделать
Перебираешь их в цикле и к каждому применяешь
Java
1
Math.abs(...);
0
0 / 0 / 0
Регистрация: 05.10.2017
Сообщений: 42
07.10.2018, 21:17  [ТС] 5
Как это сделать для диагональных элементов?Всю матрицу я понимаю как изменить, а вот это не понимаю.
0
Супер-модератор
Эксперт PythonЭксперт Java
7489 / 4083 / 1520
Регистрация: 21.10.2017
Сообщений: 11,556
07.10.2018, 21:20 6
Java
1
2
3
4
5
int[][] matrix = new int[5][5]; 
//...
for(int i=0; i<5; i++){
    matrix[i][i] = Math.abs(matrix[i][i]);
}
Вот тебе диагональ. Другая по тому же принципу
0
0 / 0 / 0
Регистрация: 05.10.2017
Сообщений: 42
07.10.2018, 21:50  [ТС] 7
Сделал. На главной диагонали всё хорошо заменяется, а вот на побочной выдаёт ошибку.В чём заключается ошибка?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
System.out.print("Матрица c абсолютными значениями на диагоналях:\n");
        for( i=0; i<count; i++){
            mas[i][i]=Math.abs(mas[i][i]);
        }
        for( i=count; i>=0; --i){
            mas[i][i]=Math.abs(mas[i][i]);
        }
        for (i = 0; i < count; i++) {
            for (j = 0; j < count; j++) {
                System.out.print(mas[i][j] + " ");
            }
            System.out.println();
        }
    }
0
Супер-модератор
Эксперт PythonЭксперт Java
7489 / 4083 / 1520
Регистрация: 21.10.2017
Сообщений: 11,556
07.10.2018, 21:59 8
Цитата Сообщение от LuckyVadim Посмотреть сообщение
i=count
элемента под таким номером не существует, юзай count-1
Кстати, этим циклом ты делаешь то же самое, только с другого конца
Java
1
2
3
for (int i = 0; i < count; i++) {
      matrix[i][count-1-i] = ...;
}
Добавлено через 1 минуту
В один цикл все запихни
0
0 / 0 / 0
Регистрация: 05.10.2017
Сообщений: 42
09.10.2018, 17:22  [ТС] 9
Возник ещё вопрос, а как отсортировать матрицу? Сделал сортировку одномерного массива, а теперь требуют и матрицы.
0
Супер-модератор
Эксперт PythonЭксперт Java
7489 / 4083 / 1520
Регистрация: 21.10.2017
Сообщений: 11,556
09.10.2018, 17:47 10
LuckyVadim,
Java
1
2
3
4
5
6
7
8
9
10
for(int i=0; i<matrix.length(); i++{
    sortArray(matrix[i]);
}
//...
 
private void sortArray(int[] arr){
//твой метод сортировки
...
}
Что-то вроде того...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.10.2018, 17:47

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

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

Не выводит данные
Здравствуйте, делаю скрипт, суть такова, есть таблица news, нужно выводить только те записи,...

Не выводит данные
не пойму что с кодом не так.есть сценарий в котором выводятся данные с БД с помощью...

Не выводит данные из бд
Здравствуйте. Товарищи программисты, помогите новичку пжл. Не могу вывести данные их mysql(хоть...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.