Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
0 / 0 / 0
Регистрация: 15.12.2012
Сообщений: 21
1

Найти произведение положительных элементов строки матрицы

15.12.2012, 19:52. Показов 2340. Ответов 16
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Очень надо! Пожалуйста!

Сделать надо на C#!
Дана матрица A(n,n). Найти произведение положительных элементов в K-ой строке и сумму положительных в L-ой строке.


Использовать:
- обычный метод для вывода матрицы по строкам с вырарниванием;
- обычный метод для вычисления первой функции с возвратом значения через тип возвращаемого параметра;
- обычный метод для вычисления второй функции с возвратом значения через модификатор out.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.12.2012, 19:52
Ответы с готовыми решениями:

Найти произведение четных элементов каждой строки матрицы и определить номер строки, где это произведение минимально
Помогите пожалуйста, други могучие, написать программу диковинную, элементарную, мною доныне...

Найти произведение положительных элементов матрицы
- обычный метод для вывода матрицы по строкам с вырарниванием; - обычный метод для вычисления...

Найти произведение элементов в тех строках матрицы, которые не содержат положительных элементов
Дана матрица 6 х 6 типа int. Определить: 1) произведение элементов в тех строках, которые не...

Найти произведение элементов каждой строки прямоугольной матрицы
Товарищи программисты! Смиренно прошу о помощи, ибо не понимаю я си шарпа, а остался 1 день до...

16
136 / 138 / 18
Регистрация: 26.07.2010
Сообщений: 911
15.12.2012, 22:03 2
Тебе осталось только выравнивание подправить.

C#
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
 
namespace test
{
    class Program
    {
        static void Main(string[] args)
        {
            int n = 0;
            int k = 0;
            int l = 0;
 
            int multUpZero = 1;
            int sumUpZero = 0;
 
 
            string matrixStr = null;
 
            Regex rxNums = new Regex(@"^\d+$");
            
            Random random = new Random();
 
            Console.WriteLine("Input size of the matrix: ");
 
            var input = Console.ReadLine();
 
            if (rxNums.IsMatch(input))
            {
                n = Convert.ToInt32(input);
            }
            else
            {
                Console.WriteLine("This is not an number, please enter a number!");
            }
 
            int[,] matrix = new int[n, n];
 
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    matrix[i, j] = random.Next(-100, 100);
                    matrixStr = matrixStr + " " + matrix[i, j];
                }
 
                Console.WriteLine(matrixStr);
                matrixStr = null;
            }
 
            Console.WriteLine("Input number of matrix string: ");
            input = Console.ReadLine();
 
            if (rxNums.IsMatch(input))
            {
                k = Convert.ToInt32(input);
            }
            else
            {
                Console.WriteLine("This is not an number, please enter a number!");
            }
 
 
            for (int i = 0; i < n; i++)
            {
                if (i == k-1)
                {
                    for (int j = 0; j < n; j++)
                    {
                        if (matrix[i, j] > 0)
                        {
                            multUpZero = multUpZero * matrix[i, j];
                        }
                    }
                }
            }
 
            Console.WriteLine(multUpZero);
 
            Console.WriteLine("Input number of matrix string: ");
            input = Console.ReadLine();
 
            if (rxNums.IsMatch(input))
            {
                l = Convert.ToInt32(input);
            }
            else
            {
                Console.WriteLine("This is not an number, please enter a number!");
            }
 
            for (int i = 0; i < n; i++)
            {
                if (i == l - 1)
                {
                    for (int j = 0; j < n; j++)
                    {
                        if (matrix[i, j] > 0)
                        {
                            sumUpZero = sumUpZero + matrix[i, j];
                        }
                    }
                }
            }
 
            Console.WriteLine(sumUpZero);
 
        }
    }
}
0
0 / 0 / 0
Регистрация: 15.12.2012
Сообщений: 21
15.12.2012, 22:14  [ТС] 3
n1l, Вы не могли бы подсказать как именно? Заранее спасибо!
0
136 / 138 / 18
Регистрация: 26.07.2010
Сообщений: 911
15.12.2012, 22:40 4
C#
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
 
namespace test
{
    class Program
    {
        static void Main(string[] args)
        {
            int n = 0;
            int k = 0;
            int l = 0;
 
            bool useAction = false;
 
            int multUpZero = 1;
            int sumUpZero = 0;
 
 
            string matrixStr = "";
 
            Regex rxNums = new Regex(@"^\d+$");
            
            Random random = new Random();
 
            Console.WriteLine("Input size of the matrix: ");
 
            var input = Console.ReadLine();
 
            if (rxNums.IsMatch(input))
            {
                n = Convert.ToInt32(input);
            }
            else
            {
                Console.WriteLine("This is not an number, please enter a number!");
            }
 
            int[,] matrix = new int[n, n];
 
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    matrix[i, j] = random.Next(-1000, 1000);
 
                    if (matrix[i, j] > 0)
                    {
                        if (matrix[i, j] > 0 && matrix[i, j] < 100)
                        {
                            matrixStr = matrixStr + " " + " " + " " + matrix[i, j];
                        }
                        else
                        {
                            matrixStr = matrixStr + " " + " " + matrix[i, j];
                        }
                    }
                    else
                    {
                        if (matrix[i, j] < 0 && matrix[i, j] > -100)
                        {
                            matrixStr = matrixStr + " " + " " + matrix[i, j];
                        }
                        else
                        {
                            matrixStr = matrixStr + " " + matrix[i, j];
                        }
                    }
                }
 
                Console.WriteLine(matrixStr);
                matrixStr = "";
            }
 
            Console.WriteLine("Input number of matrix string: ");
            input = Console.ReadLine();
 
            if (rxNums.IsMatch(input))
            {
                k = Convert.ToInt32(input);
            }
            else
            {
                Console.WriteLine("This is not an number, please enter a number!");
            }
 
 
            for (int i = 0; i < n; i++)
            {
                if (i == k-1)
                {
                    for (int j = 0; j < n; j++)
                    {
                        if (matrix[i, j] > 0)
                        {
                            useAction = true;
                            multUpZero = multUpZero * matrix[i, j];
                        }
                    }
                }
            }
 
            if (useAction)
            {
                Console.WriteLine(multUpZero);
            }
            else
            {
                Console.WriteLine("Not an numbers up zero.");
            }
 
 
            useAction = false;
 
            Console.WriteLine("Input number of matrix string: ");
            input = Console.ReadLine();
 
            if (rxNums.IsMatch(input))
            {
                l = Convert.ToInt32(input);
            }
            else
            {
                Console.WriteLine("This is not an number, please enter a number!");
            }
 
            for (int i = 0; i < n; i++)
            {
                if (i == l - 1)
                {
                    for (int j = 0; j < n; j++)
                    {
                        if (matrix[i, j] > 0)
                        {
                            sumUpZero = sumUpZero + matrix[i, j];
                        }
                    }
                }
            }
 
 
            if (useAction)
            {
                Console.WriteLine(sumUpZero);
            }
            else
            {
                Console.WriteLine("Not an numbers up zero.");
            }
            
 
        }
    }
}
0
0 / 0 / 0
Регистрация: 15.12.2012
Сообщений: 21
15.12.2012, 22:42  [ТС] 5
n1l, Это уже окончательное решение?!

И еще, вы эти методы использовали?
- обычный метод для вывода матрицы по строкам с вырарниванием;
- обычный метод для вычисления первой функции с возвратом значения через тип возвращаемого параметра;
- обычный метод для вычисления второй функции с возвратом значения через модификатор out.
0
136 / 138 / 18
Регистрация: 26.07.2010
Сообщений: 911
15.12.2012, 22:56 6
Вот самый последний.

C#
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
 
namespace test
{
    class Program
    {
        static void Main(string[] args)
        {
            int n = 0;
            int k = 0;
            int l = 0;
 
            bool useAction = false;
 
            int multUpZero = 1;
            int sumUpZero = 0;
 
 
            string matrixStr = "";
 
            Regex rxNums = new Regex(@"^\d+$");
            
            Random random = new Random();
 
            Console.WriteLine("Input size of the matrix: ");
 
            var input = Console.ReadLine();
 
            if (rxNums.IsMatch(input))
            {
                n = Convert.ToInt32(input);
                input = null;
            }
            else
            {
                Console.WriteLine("This is not an number, please enter a number!");
            }
 
            int[,] matrix = new int[n, n];
 
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    matrix[i, j] = random.Next(-1000, 1000);
 
                    if (matrix[i, j] > 0)
                    {
                        if (matrix[i, j] > 0 && matrix[i, j] < 100)
                        {
                            if (matrix[i, j] > 0 && matrix[i, j] < 10)
                            {
                                matrixStr = matrixStr + " " + " " + " " + " "+ matrix[i, j];
                            }
                            else
                            {
                                matrixStr = matrixStr + " " + " " + " " + matrix[i, j];
                            }
                        }
                        else
                        {
                            matrixStr = matrixStr + " " + " " + matrix[i, j];
                        }
                    }
                    else
                    {
                        if (matrix[i, j] < 0 && matrix[i, j] > -100)
                        {
                            if (matrix[i, j] < 0 && matrix[i, j] > -10)
                            {
                                matrixStr = matrixStr + " " + " " + " " + matrix[i, j];
                            }
                            {
                                matrixStr = matrixStr + " " + " " + matrix[i, j];
                            }
                        }
                        else
                        {
                            matrixStr = matrixStr + " " + matrix[i, j];
                        }
                    }
                }
 
                Console.WriteLine(matrixStr);
                matrixStr = "";
            }
 
            Console.WriteLine("Input number of matrix string: ");
            input = Console.ReadLine();
 
            if (rxNums.IsMatch(input))
            {
                k = Convert.ToInt32(input);
            }
            else
            {
                Console.WriteLine("This is not an number, please enter a number!");
            }
 
 
            for (int i = 0; i < n; i++)
            {
                if (i == k-1)
                {
                    for (int j = 0; j < n; j++)
                    {
                        if (matrix[i, j] > 0)
                        {
                            useAction = true;
                            multUpZero = multUpZero * matrix[i, j];
                        }
                    }
                }
            }
 
            if (useAction)
            {
                Console.WriteLine(multUpZero);
            }
            else
            {
                if (input != "")
                {
                    Console.WriteLine("Not an numbers up zero.");
                }
                else
                {
                    Console.WriteLine("input is null!");
                }
            }
 
 
            useAction = false;
            input = null;
 
            Console.WriteLine("Input number of matrix string: ");
            input = Console.ReadLine();
 
            if (rxNums.IsMatch(input))
            {
                l = Convert.ToInt32(input);
            }
            else
            {
                {
                    Console.WriteLine("This is not an number, please enter a number!");
                }
            }
 
            for (int i = 0; i < n; i++)
            {
                if (i == l - 1)
                {
                    for (int j = 0; j < n; j++)
                    {
                        if (matrix[i, j] > 0)
                        {
                            sumUpZero = sumUpZero + matrix[i, j];
                        }
                    }
                }
            }
 
 
            if (useAction)
            {
                Console.WriteLine(sumUpZero);
            }
            else
            {
                if (input != "")
                {
                    Console.WriteLine("Not an numbers up zero.");
                }
                else
                {
                    Console.WriteLine("input is null!");
                }
            }
            
 
        }
    }
}
0
0 / 0 / 0
Регистрация: 15.12.2012
Сообщений: 21
15.12.2012, 22:58  [ТС] 7
n1l, А методы использовали?
0
136 / 138 / 18
Регистрация: 26.07.2010
Сообщений: 911
15.12.2012, 22:58 8

- обычный метод для вывода матрицы по строкам с вырарниванием;

это есть

- обычный метод для вычисления первой функции с возвратом значения через тип возвращаемого параметра;
- обычный метод для вычисления второй функции с возвратом значения через модификатор out.


А это вы уже подправите как сами знаете.
Я не очень понимаю что там хотят увидеть.
0
0 / 0 / 0
Регистрация: 15.12.2012
Сообщений: 21
15.12.2012, 22:59  [ТС] 9
n1l, Ясно. Спасибо вам большое!)
0
136 / 138 / 18
Регистрация: 26.07.2010
Сообщений: 911
15.12.2012, 22:59 10
Методы не использовал, у вас там все в одном методе. в методе main.
Вам нужно класс создавать под ваши нужды и все там описывать.
просто создаете класс, называете методы как надо и мой код подтачиваете под них.
0
0 / 0 / 0
Регистрация: 15.12.2012
Сообщений: 21
15.12.2012, 23:03  [ТС] 11
12234
0
136 / 138 / 18
Регистрация: 26.07.2010
Сообщений: 911
15.12.2012, 23:06 12
Ой, забыл одну строчку вписать... устал уже.
Вот, это точно окончательный.

C#
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
 
namespace test
{
    class Program
    {
        static void Main(string[] args)
        {
            int n = 0;
            int k = 0;
            int l = 0;
 
            bool useAction = false;
 
            int multUpZero = 1;
            int sumUpZero = 0;
 
 
            string matrixStr = "";
 
            Regex rxNums = new Regex(@"^\d+$");
            
            Random random = new Random();
 
            Console.WriteLine("Input size of the matrix: ");
 
            var input = Console.ReadLine();
 
            if (rxNums.IsMatch(input))
            {
                n = Convert.ToInt32(input);
                input = null;
            }
            else
            {
                Console.WriteLine("This is not an number, please enter a number!");
            }
 
            int[,] matrix = new int[n, n];
 
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    matrix[i, j] = random.Next(-1000, 1000);
 
                    if (matrix[i, j] > 0)
                    {
                        if (matrix[i, j] > 0 && matrix[i, j] < 100)
                        {
                            if (matrix[i, j] > 0 && matrix[i, j] < 10)
                            {
                                matrixStr = matrixStr + " " + " " + " " + " "+ matrix[i, j];
                            }
                            else
                            {
                                matrixStr = matrixStr + " " + " " + " " + matrix[i, j];
                            }
                        }
                        else
                        {
                            matrixStr = matrixStr + " " + " " + matrix[i, j];
                        }
                    }
                    else
                    {
                        if (matrix[i, j] < 0 && matrix[i, j] > -100)
                        {
                            if (matrix[i, j] < 0 && matrix[i, j] > -10)
                            {
                                matrixStr = matrixStr + " " + " " + " " + matrix[i, j];
                            }
                            {
                                matrixStr = matrixStr + " " + " " + matrix[i, j];
                            }
                        }
                        else
                        {
                            matrixStr = matrixStr + " " + matrix[i, j];
                        }
                    }
                }
 
                Console.WriteLine(matrixStr);
                matrixStr = "";
            }
 
            Console.WriteLine("Input number of matrix string: ");
            input = Console.ReadLine();
 
            if (rxNums.IsMatch(input))
            {
                k = Convert.ToInt32(input);
            }
            else
            {
                Console.WriteLine("This is not an number, please enter a number!");
            }
 
 
            for (int i = 0; i < n; i++)
            {
                if (i == k-1)
                {
                    for (int j = 0; j < n; j++)
                    {
                        if (matrix[i, j] > 0)
                        {
                            useAction = true;
                            multUpZero = multUpZero * matrix[i, j];
                        }
                    }
                }
            }
 
            if (useAction)
            {
                Console.WriteLine(multUpZero);
            }
            else
            {
                if (input != "")
                {
                    Console.WriteLine("Not an numbers up zero.");
                }
                else
                {
                    Console.WriteLine("input is null!");
                }
            }
 
 
            useAction = false;
            input = null;
 
            Console.WriteLine("Input number of matrix string: ");
            input = Console.ReadLine();
 
            if (rxNums.IsMatch(input))
            {
                l = Convert.ToInt32(input);
            }
            else
            {
                {
                    Console.WriteLine("This is not an number, please enter a number!");
                }
            }
 
            for (int i = 0; i < n; i++)
            {
                if (i == l - 1)
                {
                    for (int j = 0; j < n; j++)
                    {
                        if (matrix[i, j] > 0)
                        {
                            useAction = true;
                            sumUpZero = sumUpZero + matrix[i, j];
                        }
                    }
                }
            }
 
 
            if (useAction)
            {
                Console.WriteLine(sumUpZero);
            }
            else
            {
                if (input != "")
                {
                    Console.WriteLine("Not an numbers up zero.");
                }
                else
                {
                    Console.WriteLine("input is null!");
                }
            }
            
 
        }
    }
}
0
0 / 0 / 0
Регистрация: 15.12.2012
Сообщений: 21
15.12.2012, 23:08  [ТС] 13
n1l, )))
0
136 / 138 / 18
Регистрация: 26.07.2010
Сообщений: 911
15.12.2012, 23:11 14
Еще кстати я не обработал ошибку, если человек введет в консоль k-ый или l-ый элемент который больше n, но я думаю, что это вы уже сами, да?
0
0 / 0 / 0
Регистрация: 15.12.2012
Сообщений: 21
15.12.2012, 23:29  [ТС] 15
n1l, К сожалению я вообще в C# ... не очень(
0
136 / 138 / 18
Регистрация: 26.07.2010
Сообщений: 911
15.12.2012, 23:38 16
Тогда у вас есть хороший стимул.
Перед вами готовый код, его просто надо расфасовать и добавить одно, ОДНО условие.
Не ленитесь а.
5ку получите за полную обработку ошибок. Я вас уверяю.

PS
Хотя, кто его знает.
0
0 / 0 / 0
Регистрация: 15.12.2012
Сообщений: 21
15.12.2012, 23:40  [ТС] 17
n1l, Попробуем) Спасибо)
0
15.12.2012, 23:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.12.2012, 23:40
Помогаю со студенческими работами здесь

Найти сумму и произведение элементов K-й строки заданной матрицы
Дана матрица размера M × N и целое число K (1 ≤ K ≤ M). Найти сумму и произведение элементов K-й...

Найти строки матрицы, содержащие равное количество положительных и отрицательных элементов
Дана целочисленная матрица размерами MхN. Найти её строки содержащие равное количество...

Ввести массив А из 10 элементов, найти произведение положительных элементов и вывести его на экран
Ввести массив А из 10 элементов, найти произведение положительных элементов и вывести его на экран.

Найти произведение положительных элементов массива
Добрый вечер. Прошу вашей помощи с заданием. Заранее благодарен, нужно помочь доделать. Задание :...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru