0 / 0 / 0
Регистрация: 03.10.2013
Сообщений: 4
1

Сформировать массив, в котором элемент равен единице, если количество отрицательных элементов строки матрицы А больше, чем в строке

24.02.2014, 01:21. Показов 2667. Ответов 5
Метки нет (Все метки)

Дорогие, очень прошу помощи... начали учить Java,с середины февраля. Задали задачу.с одной частью вроде как справилась, не могу сообразить никак,что дальше. Задача: -В методе main() объявить две целочисленные квадратные матрицы А и В порядка n .
Значение n и элементы матриц передать из командной строки.
-Добавить в тот же класс метод, который сформирует массив Х из нулей и единиц, в котором i–й элемент равен единице, если количество отрицательных элементов i -й строки матрицы А больше, чем в i-й строке матрицы В.
-Печать одномерного массива оформить в виде отдельного метода того же класса. Вот,что есть(не компилировала, поэтому не знаю работает или нет,должно по крайней мере):

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Test
{public static void main(String args[])
{int a[];
int n=args.length;
a=new int[n];
for(int i=0;i<=n;i++)
a[i]=(int)(Math.random()*2;
int b[]=new int[n];
for(int i=0;i<=n;i++)
b[i]=(int)(Math.random()*2;
print (a);
print(b);
a=b;
a[0]=555;
print (a);
print(b); }
 
static void print(int []a)
{ for(int i=0;i<a.length;i++)
Sistem.out.print(""+a[i]);
Sistem.out.println();}}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.02.2014, 01:21
Ответы с готовыми решениями:

Сформировать одномерный массив В, в котором элемент равен 1, если элементы столбца матрицы возрастающая последовательно
Помогите написать программу. Дана матрица А размером MxN. Сформировать одномерный массив В, в...

Сформировать одномерный массив, в котором текущий элемент равен сумме нечетных элементов матрицы
1. Дана матрица размером 6Х6 заданная случайным образом. Сформировать одномерный массив, в...

Сформировать одномерный массив, каждый элемент которого равен количеству отрицательных элементов в строке
Здравствуйте! Не могу найти проблему в коде, при выводе учитываются не все отрицательные элементы,...

Сформировать массив i элемент которого равен числу отрицательных элементов в i тойстроке матрицы D
Здравствуйте! Не могу понять условие задачи. &quot;Сформировать массив С(N), i-ый элемент которого...

5
43 / 35 / 8
Регистрация: 14.09.2011
Сообщений: 158
Записей в блоге: 1
25.02.2014, 09:55 2
Эм, а в чем собственно проблема? Для начала скомпилируйте, проверьте на ошибки. Невозможно узнать, работает код или нет, не запустив его. Попытайтесь их исправить. Сформулируйте проблемы, с которыми Вам опыт не позволяет справиться и затем задайте вопрос.

P.S. задачка-то простенькая
0
237 / 236 / 72
Регистрация: 02.07.2013
Сообщений: 881
25.02.2014, 10:56 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
class Test{
    public static void main(String args[]){
        int a[];
        int n = args.length;
        a = new int[n];
        
        for(int i = 0;i < n;i++){
            a[i]=(int)(Math.random()*2);
        }
            
            int b[]=new int[n];
                for(int i=0;i < n;i++)
                    b[i]=(int)(Math.random()*2);
                    print (a);
                    print(b);
                    a = b;
                    a[0]=555;
                    print (a);
                    print(b); }
 
        static void print(int []a){
            for(int i=0;i<a.length;i++)
                System.out.print(""+a[i]);
                System.out.println();
        }
    }
ошибок нет, доделайте под свои задачи
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
11178 / 7110 / 1680
Регистрация: 25.07.2009
Сообщений: 13,003
25.02.2014, 18:51 4
Цитата Сообщение от lej7245 Посмотреть сообщение
Значение n и элементы матриц передать из командной строки.
Как по-вашему вяжется с
Цитата Сообщение от lej7245 Посмотреть сообщение
int n=args.length;
и тем более с
Цитата Сообщение от lej7245 Посмотреть сообщение
a[i]=(int)(Math.random()*2;
Но поскольку заполнять аж две матрицы руками и в правду лень, пойдём на компромисс - размер для матриц из коммандной строки прочитаем, а матрицы случайными числами заполним...
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
70
import java.util.Random;
 
public class CompareRowsByNegativeValues {
    public static final int MIN_VALUE = -10;
    public static final int MAX_VALUE = 10;
    
    private static final String ERROR_MESSAGE = "Нужен размер стороны матрицы, переданный параметром.";
    private static Random random = new Random();
    
    static void printRow(int[] row) {
        for ( int i : row )
            System.out.printf("%4d ", i);
        System.out.println();
    }
    
    static void printMatrix(int[][] matrix) {
        for ( int[] row : matrix )
            printRow(row);
    }
    
    static int countNegatives(int[] row) {
        int cnt = 0;
        
        for ( int i : row )
            if ( i < 0 )
                ++cnt;
        
        return cnt;
    }
    
    static int[] createResultRow(int[][] mA, int[][] mB) {
        int[] row = new int[mA.length];
        
        for ( int i = 0; i < row.length; ++i )
            row[i] = ( countNegatives(mA[i]) > countNegatives(mB[i]) ) ? 1 : 0;
        
        return row;
    }   
    
    public static void main(String[] args) {
        if ( args.length == 0 ) {
            System.err.println(ERROR_MESSAGE);
            System.exit(1);
        }
        try {
            int n = Integer.parseInt(args[0]);
            int[][] matrixA = new int[n][n];
            int[][] matrixB = new int[n][n];
            
            for ( int i = 0; i < n; ++i ) {
                for ( int j = 0; j < n; ++j ) {
                    matrixA[i][j] = random.nextInt(MAX_VALUE - MIN_VALUE + 1) + MIN_VALUE;
                    matrixB[i][j] = random.nextInt(MAX_VALUE - MIN_VALUE + 1) + MIN_VALUE;
                }
            }
            
            System.out.println("Matrix A:");
            printMatrix(matrixA);
            
            System.out.println("\nMatrix B:");
            printMatrix(matrixB);
            
            System.out.println("Result row:");
            printRow(createResultRow(matrixA, matrixB));
        }
        catch ( NumberFormatException nfe ) {
            System.err.println(ERROR_MESSAGE);
        }
    }
}
Код
[andrew@andrew numbers]$ javac CompareRowsByNegativeValues.java
[andrew@andrew numbers]$ java CompareRowsByNegativeValues 5
Matrix A:
   4    3   -1    0   -5 
   3    6   -5   -2   10 
  -7    9   10   -4  -10 
   9   -8   -8    3   -6 
  -6   -4    5   -5   -2 

Matrix B:
  -3   -3    8  -10   -9 
  -7    3    5   10    1 
  -6  -10    5    3    3 
  -2    4   10    9    6 
  -1    4    4   -8   -9 
Result row:
   0    1    1    1    1 
[andrew@andrew numbers]$
0
0 / 0 / 0
Регистрация: 21.12.2019
Сообщений: 3
23.12.2019, 18:00 5
здравствуйте, а можете такую же написать на си++?
0
Йуный падаван
Эксперт PythonЭксперт Java
13087 / 7525 / 2358
Регистрация: 21.10.2017
Сообщений: 18,627
23.12.2019, 18:28 6
Nalog, не логичней спросить об этом в ветке с++ ?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.12.2019, 18:28
Помогаю со студенческими работами здесь

Сформировать массив С, i-ый элемент которого равен количеству элементов в i-ой строке матрицы, превышающих по модулю число 100.
дана матрица А. Сформировать массив С, i-ый элемент которого равен количеству элементов в i-ой...

Сформировать массив, каждый элемент которого равен произведению элементов соответствующей строки матрицы Е
Помогите пожалуйста найти ошибку в коде: Дана матрица целых чисел E размером 6х5. Сформировать...

Сформировать массив так, что каждый i-й элемент массива равен сумме элементов соответствующей строки заданной матрицы
Ступор. Примерно понимаю, что нужно сначала элементы строки 0 из массива B поместить в массив А,...

Переписать первые элементы каждой строки матрицы А в массив D, если в строке есть элемент больше 13
Переписать первые элементы каждой строки матрицы А(7,3) в массив D, если в строке есть элемент...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru