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

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

Войти
Регистрация
Восстановить пароль
 
berkami
0 / 0 / 0
Регистрация: 31.03.2010
Сообщений: 10
#1

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

31.03.2010, 18:24. Просмотров 623. Ответов 3
Метки нет (Все метки)

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







Помогите, завтра сдать надо((((((
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.03.2010, 18:24     Определить количество столбцов матрицы, не содержащих ни одного нулевого элемента
Посмотрите здесь:
Определить количество столбцов матрицы, не содержащих ни одного нулевого элемента C++
C++ Определить количество столбцов матрицы, не содержащих ни одного нулевого элемента
Определить количество столбцов матрицы, не содержащих ни одного нулевого элемента C++
Определить количество столбцов матрицы не содержащих ни одного нулевого элемента C++
C++ Определить количество столбцов матрицы, не содержащих ни одного нулевого элемента
C++ Определить количество столбцов матрицы не содержащих ни одного нулевого элемента
Определить количество столбцов матрицы, не содержащих ни одного нулевого элемента C++
C++ Определить количество столбцов матрицы, не содержащих ни одного нулевого элемента
C++ Определить количество столбцов, не содержащих ни одного нулевого элемента
C++ Определить количество столбцов в матрице, не содержащих ни одного нулевого элемента
C++ Определить количество столбцов в матрице, не содержащих ни одного нулевого элемента
C++ Дана целочисленная матрица. Определить количество столбцов, не содержащих ни одного нулевого элемента

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vorona
Peace 2 all shining faces
668 / 530 / 45
Регистрация: 05.03.2010
Сообщений: 1,276
01.04.2010, 22:04     Определить количество столбцов матрицы, не содержащих ни одного нулевого элемента #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
#include <iostream.h>
#include <conio.h>
//#include <stdlib.h>
 
int main(){
    clrscr();
    //randomize();
 
    int n, m, **matrix;
    int i, j, count = 0, *sum, tmp, k;
 
    cout << "Enter quantity of lines: ";
    cin >> n;
    matrix = new int*[n];
    sum = new int[n];
    for(i = 0; i < n; i++)
    sum[i] = 0;
 
    cout << "Enter quantity of columns: ";
    cin >> m;
    for(i = 0; i < n; i++)
        matrix[i] = new int[m];
 
    for(i = 0; i < n; i++)
        for(j = 0; j < m; j++){
            //matrix[i][j] = random(10);
            cout << "M[" << i << "][" << j << "]: ";
            cin >> matrix [i][j];
        }
    cout << "Matrix:\n";
    for(i = 0; i < n; i++){
        for(j = 0; j < m; j++)
            cout << matrix[i][j] << '\t';
        cout << "\n";
    }
    i = j = 0;
    while(j < m){
        while(i < n)
            if(matrix[i++][j] == 0){
                count++;
                j++;
                i = 0;
            }
        j++;
        i = 0;
    }
    cout << "Columns without '0' elements: " << m - count << "\nSorted matrix:\n";
 
    for(i = 0; i < n; i++)
        for(j = 0; j < m; j++)
            if(matrix[i][j] + 1 > matrix[i][j] && matrix[i][j] % 2 == 0)
                                sum[i] += matrix[i][j];
 
    for(k = 0; k < n - 1; k++){
        int min = k;
        for(i = k + 1; i < n; i++)
            if(sum[i] < sum[min])
                min = i;
        for(j = 0; j < m; j++){
            tmp = matrix[k][j];
            matrix[k][j] = matrix[min][j];
            matrix[min][j] = tmp;
        }
        tmp = sum[k];
        sum[k] = sum[min];
        sum[min] = tmp;
    }
 
    for(i = 0; i < n; i++){
        for(j = 0; j < m; j++)
            cout << matrix[i][j] << '\t';
        cout << "\n";
    }
 
    delete *matrix;
    delete matrix;
    delete sum;
 
    getch();
    return 0;
}
если открыть комментарии и убрать строки 27, 28, то матрица заполниться автоматически цифрами от 0 до 9 включительно;
сортируется обычным методом перебора.
berkami
0 / 0 / 0
Регистрация: 31.03.2010
Сообщений: 10
01.04.2010, 22:58  [ТС]     Определить количество столбцов матрицы, не содержащих ни одного нулевого элемента #3
fatal error C1010: непредвиденный конец файла во время поиска предкомпилированного заголовка. Возможно, вы забыли добавить директиву "#include "stdafx.h"" в источник.
Vorona
Peace 2 all shining faces
668 / 530 / 45
Регистрация: 05.03.2010
Сообщений: 1,276
01.04.2010, 23:27     Определить количество столбцов матрицы, не содержащих ни одного нулевого элемента #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
насколько я понял, у тебя VS..
создаешь проект Win32 Console Application
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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
 
int _tmain()
{
    int n, m, **matrix;
    int i, j, count = 0, *sum, tmp, k;
 
    cout << "Enter quantity of lines: ";
    cin >> n;
    matrix = new int*[n];
    sum = new int[n];
    for(i = 0; i < n; i++)
    sum[i] = 0;
 
    cout << "Enter quantity of columns: ";
    cin >> m;
    for(i = 0; i < n; i++)
        matrix[i] = new int[m];
 
    for(i = 0; i < n; i++)
        for(j = 0; j < m; j++){
            cout << "M[" << i << "][" << j << "]: ";
            cin >> matrix [i][j];
        }
    cout << "Matrix:\n";
    for(i = 0; i < n; i++){
        for(j = 0; j < m; j++)
            cout << matrix[i][j] << '\t';
        cout << "\n";
    }
    i = j = 0;
    while(j < m){
        while(i < n)
            if(matrix[i++][j] == 0){
                count++;
                j++;
                i = 0;
            }
        j++;
        i = 0;
    }
    cout << "Columns without '0' elements: " << m - count << "\nSorted matrix:\n";
 
    for(i = 0; i < n; i++)
        for(j = 0; j < m; j++)
            if(matrix[i][j] + 1 > matrix[i][j] && matrix[i][j] % 2==0)
                sum[i]+=matrix[i][j];
 
    for(k = 0; k < n - 1; k++){
        int min = k;
        for(i = k+1; i < n; i++)
            if(sum[i] < sum[min])
                min = i;
        for(j = 0; j < m; j++){
            tmp = matrix[k][j];
            matrix[k][j] = matrix[min][j];
            matrix[min][j] = tmp;
        }
        tmp = sum[k];
        sum[k] = sum[min];
        sum[min] = tmp;
    }
 
    for(i = 0; i < n; i++){
        for(j = 0; j < m; j++)
            cout << matrix[i][j] << '\t';
        cout << "\n";
    }
 
    delete *matrix;
    delete matrix;
    delete sum;
 
    _getch();
    return 0;
}
у меня работает
Yandex
Объявления
01.04.2010, 23:27     Определить количество столбцов матрицы, не содержащих ни одного нулевого элемента
Ответ Создать тему
Опции темы

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