Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 25, средняя оценка - 4.64
Ainur5
0 / 0 / 0
Регистрация: 18.10.2013
Сообщений: 10
#1

Дана целочисленная прямоугольная матрица. Определить: - C++

18.11.2013, 10:51. Просмотров 4026. Ответов 7
Метки нет (Все метки)

2. Дана целочисленная прямоугольная матрица. Определить:
а)количество столбцов, не содержащих ни одного нулевого элемента;
b) характеристикой столбца целочисленной матрицы назовем сумму модулей его положительных четных элементов. Переставляя строки заданной матрицы, расположить их в соответствии с ростом характеристик.
Помогите пожалуйста!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.11.2013, 10:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Дана целочисленная прямоугольная матрица. Определить: (C++):

Дана целочисленная прямоугольная матрица. Определить: - C++
Дана целочисленная прямоугольная матрица. Определить: 1) количество строк, содержащих хотя бы один нулевой элемент; номер столбца, в...

Дана целочисленная прямоугольная матрица. Определить: - C++
Массивы. Программа должна запрашивать размеры матрицы и самостоятельно заполнять ее с помощью генератора случайных чисел. Верхняя граница...

Дана целочисленная прямоугольная матрица. Определить сумму модулей - C++
Дана целочисленная прямоугольная матрица. Определить: Сумму модулей элементов, расположенных ниже побочной диагонали. Помогите...

Дана целочисленная прямоугольная матрица. Определить количество столбцов, не содержащих ни одного нулевого - C++
Дана целочисленная прямоугольная матрица. Определить количество столбцов, не содержащих ни одного нулевого элемента.Характеристикой строки...

Дана целочисленная прямоугольная матрица. Определить количество строк, не содержащих ни одного нулевого элемента - C++
Доброго времени суток. Не могу решить данное задание. Проблемы непосредственно в подсчете строк. Пробовал множество вариантов, свелся...

дана целочисленная прямоугольная матрица. Определить количество столбцов,содержащих хотя бы один нулевой элемент. - C++
помогите срочно!!! Надо написать прогу. Вот условие: дана целочисленная прямоугольная матрица. Определить количество столбцов,содержащих...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
W0lfdalE
7 / 7 / 0
Регистрация: 03.07.2013
Сообщений: 26
18.11.2013, 12:34 #2
а) Перебирайте элементы столбцов в цикле, изначально предполагая, что они все не содержат нулевых элементов. Т.е., вы имеете переменную no_zero_columns = N, где N - количество столбцов. И в цикле, находя в столбце нулевой элемент, декрементите её, и начинайте проверять следующий столбец (break).
б) Сначала стоит посчитать эти самые характеристики. Создайте для них отдельный массив, чтобы было прямое соответствие. Отсортируйте массив характеристик, и при перестановках, переставляйте и строки.
0
bradobrei
Продам уран 238U
119 / 119 / 23
Регистрация: 22.01.2013
Сообщений: 298
18.11.2013, 13:53 #3
держи, переставить строки сам догадаешься )
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
#include <iostream>
#include <cstdlib>
using namespace std;
#define N 10
 
int main(){
    int mas[N][N];
    int tmp[N];
    int sum;
    int sumcol[N];
    cout << "Array : " << endl;
    for(int i = 0; i < N; i++){
        for(int j = 0; j < N; j++){
            mas[i][j] = rand()% 10 - 2;
            cout<<mas[i][j]<<" ";
        }
        cout<<endl;
    }
        cout<<"a---------------------------------"<<endl;
    for(int i = 0; i < N; i++){
        for(int j = 0; j < N; j++){
            tmp[j] = mas[j][i];
            }      
                    int countNull = 0;
                for(int z = 0; z < N; z++){
                    if(tmp[z] != 0){                      
                        countNull++;
            }
                }
                if(countNull == N)
        cout<< "Column "<<i+1<<endl;
        }
        cout<<endl<<"b-----------------------"<<endl;
        cout <<"characteristics: ";
    for(int i = 0; i < N; i++){
            sum = 0;
        for(int j = 0; j < N; j++){
            if((mas[j][i] > 0) && (mas[j][i] % 2 == 0))
            sum += mas[j][i];
        }
        sumcol[i] = sum;
        cout <<sum << " " ;
    }
return 0;
}
1
Ainur5
0 / 0 / 0
Регистрация: 18.10.2013
Сообщений: 10
19.11.2013, 06:12  [ТС] #4
Благодарю)
0
Ainur5
0 / 0 / 0
Регистрация: 18.10.2013
Сообщений: 10
22.11.2013, 06:38  [ТС] #5
Ребят у кого нить есть еще мыслишки,попробывать например через динамический массив.??
0
Ainur5
0 / 0 / 0
Регистрация: 18.10.2013
Сообщений: 10
01.12.2013, 15:44  [ТС] #6
bradobrei, а не получиться сделать с динамическим массивом?
0
bradobrei
Продам уран 238U
119 / 119 / 23
Регистрация: 22.01.2013
Сообщений: 298
02.12.2013, 07:22 #7
Цитата Сообщение от Ainur5 Посмотреть сообщение
bradobrei, а не получиться сделать с динамическим массивом?
Получится
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
#include <iostream>
#include <cstdlib>
using namespace std;
#define N 10
 
int main(){
    int **mas = new int*[N];
    int tmp[N];
    int sum;
    int sumcol[N];
    cout << "Array : " << endl;
    for(int i=0; i<N; i++)
     mas[i] = new int [N];
    
    for(int i = 0; i < N; i++){
        for(int j = 0; j < N; j++){
            mas[i][j] = rand()% 10 - 2;
            cout<<mas[i][j]<<" ";
        }
        cout<<endl;
    }
        cout<<"a---------------------------------"<<endl;
    for(int i = 0; i < N; i++){
        for(int j = 0; j < N; j++){
            tmp[j] = mas[j][i];
            }      
                    int countNull = 0;
                for(int z = 0; z < N; z++){
                    if(tmp[z] != 0){                      
                        countNull++;
            }
                }
                if(countNull == N)
        cout<< "Column "<<i+1<<endl;
        }
        cout<<endl<<"b-----------------------"<<endl;
        cout <<"characteristics: ";
    for(int i = 0; i < N; i++){
            sum = 0;
        for(int j = 0; j < N; j++){
            if((mas[j][i] > 0) && (mas[j][i] % 2 == 0))
            sum += mas[j][i];
        }
        sumcol[i] = sum;
        cout <<sum << " " ;
    }
   delete(mas);
return 0;
}
1
Ainur5
0 / 0 / 0
Регистрация: 18.10.2013
Сообщений: 10
02.12.2013, 13:51  [ТС] #8
bradobrei, Спасибо
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.12.2013, 13:51
Привет! Вот еще темы с ответами:

Дана целочисленная прямоугольная матрица.Определить номера строк и столбцов всех седловых точек матрицы - C++
Вот начал писать, а дальше не знаю что писать.помогите #include &quot;stdafx.h&quot; #include&lt;iostream&gt; #include&lt;time.h&gt; using namespace...

Дана целочисленная прямоугольная матрица. Определить количество строк, содержащих хотя бы один нулевой элемент - C++
Дана целочисленная прямоугольная матрица. Определить: 1) количество строк, содержащих хотя бы один нулевой элемент; 2) номер столбца, в...

1) Дана целочисленная прямоугольная матрица. Определить номер первого из столбцов, содержащих хотя бы один нул - C++
1) Дана целочисленная прямоугольная матрица. Определить номер первого из столбцов, содержащих хотя бы один нулевой элемент. 2) ...

Дана целочисленная прямоугольная матрица. Вывести ее на экран и определить количество строк, не содержащих ни одного нулевого элемента. - C++
Дана целочисленная прямоугольная матрица. Вывести ее на экран и определить количество строк, не содержащих ни одного нулевого элемента.Язык...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
02.12.2013, 13:51
Ответ Создать тему
Опции темы

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