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

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

Восстановить пароль Регистрация
 
berkami
0 / 0 / 0
Регистрация: 31.03.2010
Сообщений: 10
31.03.2010, 18:24     Определить количество столбцов матрицы, не содержащих ни одного нулевого элемента #1
Дана целочисленная прямоугольная матрица. Определить количество столбцов, не содержащих ни одного нулевого элемента.
Характеристикой строки целочисленной матрицы назовем сумму ее положительных четных элементов. Переставляя строки заданной матрицы, расположить их в соответствии с ростом характеристик.







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

Определить количество столбцов матрицы, не содержащих ни одного нулевого элемента C++
C++ Определить количество столбцов матрицы, не содержащих ни одного нулевого элемента
C++ Определить количество столбцов матрицы, не содержащих ни одного нулевого элемента
Определить количество столбцов матрицы, не содержащих ни одного нулевого элемента C++
C++ Определить количество столбцов матрицы не содержащих ни одного нулевого элемента
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vorona
Peace 2 all shining faces
 Аватар для Vorona
660 / 522 / 44
Регистрация: 05.03.2010
Сообщений: 1,256
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
 Аватар для Vorona
660 / 522 / 44
Регистрация: 05.03.2010
Сообщений: 1,256
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     Определить количество столбцов матрицы, не содержащих ни одного нулевого элемента
Ответ Создать тему
Опции темы

Текущее время: 23:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru