Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
xcomx
1 / 1 / 1
Регистрация: 27.01.2012
Сообщений: 29
#1

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

08.03.2012, 11:58. Просмотров 1233. Ответов 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
#include <iostream>
 
using namespace std;
 
 
int main()
{
        const int a = 5;
        const int m = 4;
 
        int A [a] [m] = 
        {
                { -1, 1, 2, 9 },
                { 0, 0, 0, 0 },
                { 3, 2, 1, -1 },
                { 4, 4, 4, 4 },
                { 5, 5, 5, 5 }
        };
        
        
 
        for (int i = 0; i < a; i++)
        {
                for(int j = i; j < m; j++)
 
                {
                        if (A [i][j] = 0) break;
                        
                        
                        {
                                cout << "Stroka:" << i * 2 << '\n';
                                
                        }
                }
        }
    
        cin.get();
        return 0;
        
}
правильно или нет???подскажите плиз)

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

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.03.2012, 11:58
Ответы с готовыми решениями:

Найти в матрице первую строчку, все элементы которой равны нулю
Найти в матрице первую строчку, все элементы которой равны нулю.Все элементы...

Найти в динамической матрице первую строчку, все элементы которой равны нулю
Найти в матрице первую строчку, все элементы которой равны нулю.Все элементы...

Найти в матрице первую строку, все элементы которой отрицательны
Найти в матрице первую строку, все элементы которой отрицательны. Увеличить все...

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

Найти в матрице первую строку, все элементы которой положительны
Найти в матрице первую строку, все элементы которой положительны

12
valeriikozlov
Эксперт С++
4683 / 2509 / 751
Регистрация: 18.08.2009
Сообщений: 4,550
08.03.2012, 12:03 #2
Цитата Сообщение от xcomx Посмотреть сообщение
правильно или нет???подскажите плиз)
нет. Кроме того что не пропечаталось на что нужно умножить элементы столбца с таким же н, может быть такая ситуация: размер массива 10*3. Первая строка, элементы которой равны 0 - окажется 5-ая строка - а 5 столбца у нас нет, что делать?
0
xcomx
1 / 1 / 1
Регистрация: 27.01.2012
Сообщений: 29
08.03.2012, 12:21  [ТС] #3
дана целочисленная матрица A , размером а х м, найти в матрице первую строку, все элементы которой равны нолю, Умножить элементы столбца с таким же номером на 2

задание не дописалось
0
valeriikozlov
Эксперт С++
4683 / 2509 / 751
Регистрация: 18.08.2009
Сообщений: 4,550
08.03.2012, 12:31 #4
Цитата Сообщение от xcomx Посмотреть сообщение
задание не дописалось
суть не в этом.

Цитата Сообщение от valeriikozlov Посмотреть сообщение
может быть такая ситуация: размер массива 10*3. Первая строка, элементы которой равны 0 - окажется 5-ая строка - а 5 столбца у нас нет, что делать?
что делать будем?
0
xcomx
1 / 1 / 1
Регистрация: 27.01.2012
Сообщений: 29
08.03.2012, 12:35  [ТС] #5
я суть вопроса не понимаю..причем 5 столбец до 5 строки?
0
valeriikozlov
Эксперт С++
4683 / 2509 / 751
Регистрация: 18.08.2009
Сообщений: 4,550
08.03.2012, 12:42 #6
Цитата Сообщение от xcomx Посмотреть сообщение
я суть вопроса не понимаю..причем 5 столбец до 5 строки?

Не по теме:

да ничего страшного, это я так, ни о чем. )

0
xcomx
1 / 1 / 1
Регистрация: 27.01.2012
Сообщений: 29
08.03.2012, 12:45  [ТС] #7
какой раз обращаюсь за помощью с вопросом...а вместо токового ответа получаю вопрос!)

знатоки!
0
valeriikozlov
Эксперт С++
4683 / 2509 / 751
Регистрация: 18.08.2009
Сообщений: 4,550
08.03.2012, 12:53 #8
Цитата Сообщение от xcomx Посмотреть сообщение
какой раз обращаюсь за помощью с вопросом...а вместо токового ответа получаю вопрос!)
А Вы сами думать умеете? Вы в своем коде задали конкрентный двумерный массив:
Цитата Сообщение от xcomx Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
int A [a] [m] = 
 {
 { -1, 1, 2, 9 },
 { 0, 0, 0, 0 },
 { 3, 2, 1, -1 },
 { 4, 4, 4, 4 },
 { 5, 5, 5, 5 }
 };
но вопрос Вами поставлен под любые случаи (не обязательно по Вашу матрицу):
Цитата Сообщение от xcomx Посмотреть сообщение
дана целочисленная матрица A , размером а х м, найти в матрице первую строку, все элементы которой равны нолю,
Вот я Вам вопрос и пишу:
может быть такая ситуация: размер массива 10*3. Первая строка, элементы которой равны 0 - окажется 5-ая строка - а 5 столбца у нас нет, что делать?
Вчитайтесь в эти строки.
0
xcomx
1 / 1 / 1
Регистрация: 27.01.2012
Сообщений: 29
08.03.2012, 12:58  [ТС] #9
найти 5 строку?)))
0
valeriikozlov
08.03.2012, 13:10
  #10

Не по теме:

извините, я срочно улетаю в Магнитогорск, надеюсь это не Ваша родина ), больше ответить мне нечего.

0
silent_1991
Эксперт С++
5007 / 3067 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
08.03.2012, 20:19 #11
xcomx, вы собственное задание-то читали? Вернее, вдумывались в то, что сюда переписывали?
Вам задали вполне резонный вопрос. По заданию в матрице (не обязательно квадратной, это важно) надо найти строку, все элементы которой равны нулю, а затем все элементы столбца с таким же индексом, как и у строки, умножить на 2.
Так вот, а что делать, если дана матрица размером 10 * 3, при этом первая строка, все элементы которой нулевые, имеет индекс 5. Ещё раз взгляните на размер матрицы и скажите, элементы какого столбца надо умножить на 2?
0
xcomx
1 / 1 / 1
Регистрация: 27.01.2012
Сообщений: 29
09.03.2012, 22:55  [ТС] #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
#include <iostream>
#include <iomanip>
using namespace std;
 
 
int main()
 
{
        const int a = 5;
        const int m = 4;
        int n = 0;
        int A [a] [m] = 
        {
                { -1, 1, 2, 9  },
                { 0, 0, 0, 0  },
                { 3, 2, 1, -1 },
                { 4, 4, 4, 4  },
                { 5, 5, 5, 6  }
        }; 
        
        
        
 
        for (int i = 0; i < a; i++)
        {
                for(int j = 0; j < m; j++)
 
                {
                                A [i][j] = (rand () % 10) - 2 ;
                                cout  <<    A[i] [j]  <<  '\n';
                         
                }
 
                 for(int i = 0; i < a ; i++)
 
                 {
 
                int count = 0;
 
                for(int j = 0; j < m; j++)
                {
                        if
                            (
 
                             A[i][j] == 0
 
                            )
 
                                count++;
                }
 
              if(count == 0)
 
                {
                        n = i;
                        i = n;
                }
        }
 
        }
 
    cout << " stroka \n : " << n << endl;
 
    cout << " * 2 \n " << n * 2 << endl;
 
   cin.get();
    return 0;
        
}
0
silent_1991
Эксперт С++
5007 / 3067 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
10.03.2012, 11:38 #13
xcomx, программа делает всё, что угодно, но не решает поставленную задачу.
В строках 13-19 задаётся матрица, с которой будем работать. Но к чему цикл 27-33, в частности, строка 30?
В цикле 41-51 считается количество нулевых элементов в строке. Но почему в условии 53 count проверяется на равенство нулю, когда по заданию необходимо найти полностью нулевую строку, а не полностью ненулевую. И почему после этого условия не происходит выход из внешнего цикла, если нам необходимо найти первую нулевую строку. К тому же, строка 57 после строки 56 абсолютно бессмысленна, поскольку в строке 56 n делается равным i, а в строке 57 i делается равным n, который и так уже равен i.
И самое главное (будем считать, что всё, что указано выше, исправлено): задание говорит, что надо умножить все элементы столбца с найденным номером на 2, а не сам найденный номер, что вы делаете в строке 65. И это опять приводит нас к заданному вам выше вопросу уже двумя людьми: что делать, если найденная строка имеет индекс больший, чем количество столбцов в матрице? Какой столбец умножать на 2?
0
10.03.2012, 11:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.03.2012, 11:38

Дана целочисленная матрица размером M x N, элементы которой могут принимать значения от 0 до 100. Различные ст
Дана целочисленная матрица размером M x N, элементы которой могут принимать...

Найти в матрице первую строку, все элементы которой упорядочены по убыванию
Найти в матрице первую строку, все элементы которой упорядочены по убыванию....

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


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

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

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