,   CyberForum.ru

- C++

 
Sub2412
0 / 0 / 0
: 04.11.2013
: 3
04.11.2013, 14:16     #1
,

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
#include "stdafx.h"
#include <time.h>
#include <cstdlib>
#include <iostream>
#include <iomanip>
// Ð*çìåð*îñòü ì*òðèöû
#define N 5
// Ç*ïîë*å*èå ì*òðèöû ñëó÷*é*ûìè ÷èñë*ìè â è*òåðâ*ëå îò -10 äî 9
 
void matr_random(int m[][N]) 
{
    setlocale(LC_ALL, "Russian");
    int i, j;
    srand(time(0));
    for (i = 0; i < N; i++)
        for (j = 0; j < N; j++)
            m[i][j] = rand() % 20 - 10; // îñò*òîê äåëå*èÿ ñëó÷*é*îãî ÷èñë* ** 20 (÷òîáû ïîëó÷èòü ñë. ÷èñë* îò 0 äî 19)
}
// Ââîä ì*òðèöû ñ ýêð***
void matr_input(int m[][N])
 {
    int i, j;
    for (i = 0; i < N; i++)
        for (j = 0; j < N; j++) 
        {
            std::cout << "m["<< i << "][" << j << "]:";
            std::cin >> m[i][j];
        }
}
// Âû÷èñëå*èå õ*ð*êòåðèñòè÷åñêîãî ç**÷å*èÿ ñòðîêè ì*òðèöû
// numRow - *îìåð ñòðîêè.
int matr_chrs(int m[][N], int numRow) 
{
    int i;
    int chrs = 0;
    for (i = 0; i < N; i++) 
    {
        // Åñëè ýëåìå*ò ñòðîêè ìå*üøå 0 è ÷åò*ûé (äåëèòñÿ ** 2 áåç îñò*òê* - (x % 2 == 0)) 
        // òî ñóììèðóåì ñ õ*ð*êòåðèñòè÷åñêèì ç**÷å*èåì 
        if ((m[numRow][i] > 0) && (m[numRow][i] % 2 == 0))
            chrs += m[numRow][i];
    }
    return chrs;
}
// 
 int kol = 0;
 int kol2 = 0;
 for(int i = 0; i < N; i++) 
  { 
     for(int j = 0; j < N; j++)
     {
         if(m[j][i] == 0)
         {
             kol2++;
         }
     };
      if(!kol2)
      {
        kol++;     
      }
      kol2 = 0;
  };
 
  cout << "\nÊîëè÷åñòâî ñòîëáöîâ áåç *óëåé = " << kol << "\n" << endl;
};
// Ïîìå*ÿòü ìåñò*ìè ñòðîêè ñ *îìåð*ìè row1 è row2
void matr_swap_rows(int m[][N], int row1, int row2) {
    int i;
    int tmp;
    for (i = 0; i < N; i++) {
        // Ìå*ÿþòñÿ ìåñò*ìè i-å ýëåìå*òû ñòðîê row1 è row2
        tmp = m[row1][i];
        m[row1][i] = m[row2][i];
        m[row2][i] = tmp;
    }
}
// Ñîðòèðîâê* ñòðîê ì*òðèöû â ïîðÿäêå óáûâ**èÿ õ*ð*êòåðèñòèê ñòðîê. (êë*ññè÷åñêèé ïóçûðåê)
void matr_sort_chrs(int m[][N]) {
    int i;
    int sorted;
    // Â öèêëå ìå*ÿþòñÿ ìåñò*ìè ï*ðû ñòðîê êîòîðûå *å óäîâëåòâîðÿþò óñëîâèþ ñîðòèðîâêè äî òåõ ïîð,
    // ïîê* ò*êèõ *å îñò**åòñÿ (ì*òðèö* *å áóäåò îòñîðòèðîâ***)
    do {
        sorted = 1; // Èç**÷*ëü*î ïðåäïîë*ã*åì ÷òî ì*òðèö* îòñîðòèðîâ***.
        for (i = 0; i < N - 1; i++) {
            // Åñëè õ*ð*êòåðèñòèê* ñòðîêè i < õ*ð*êòåðèñòèêè ñòðîêè i + 1
            // òî ýòî **ðóøå*èÿ óñëîâèÿ îòñîðòèðîâ***îñòè ì*òðèöû ïî óáûâ**èþ.
            if (matr_chrs(m, i) < matr_chrs(m, i + 1)) {
                // Ìå*ÿåì ìåñò*ìè ñòðîêè **ðóø*þùèå óñëîâèå ñîðòèðîâêè 
                matr_swap_rows(m, i, i + 1);
                // è ñ*îâ* ïðîâåðÿåì âñþ ì*òðèöó
                sorted = 0;
                break;
            }
        }
    } while (! sorted);// Ïîê* ì*òðèö* *å îòñîðòèðîâ*** - ñîðòèðîâ*òü
    
// Âûâîä ì*òðèöû ** ýêð**. Åñëè ï*ð*ìåòð print_chrs != 0 òî äëÿ ê*æäîé ñòðîêè âûâîäèòñÿ õ*ð*êòåðèñòèê*
void matr_print(int m[][N], int print_chrs = 0) {
    int i, j;
    for (i = 0; i < N; i++) {
        for (j = 0; j < N; j++)
            std::cout << std::setw(3) << m[i][j] << ' ';
        if (print_chrs)
            std::cout << " | " << matr_chrs(m, i) << ' ';
        std::cout << std::endl;
    }
}
int main(int argc, char argv[])
{
    int m[N][N];
    int colNum;
    matr_random(m);
 
    std::cout << "Ââîä ì*òðèöû:" << std::endl;
    matr_print(m);
    colNum = matr_find_zero(m);
    if (colNum >= 0)
        std::cout << "First column with zero is: " << colNum + 1 << std::endl;
    else
        std::cout << "Column with zero not found" << std::endl;
    matr_sort_chrs(m);
    std::cout << std::endl << "Âûâîä ì*òðèöû:" << std::endl;
    matr_print(m, 1);
  
    getchar();
    return 0;
}

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// 
 int kol = 0;
 int kol2 = 0;
 for(int i = 0; i < N; i++) 
  { 
     for(int j = 0; j < N; j++)
     {
         if(m[j][i] == 0)
         {
             kol2++;
         }
     };
      if(!kol2)
      {
        kol++;     
      }
      kol2 = 0;
  };
Similar
41792 / 34177 / 6122
: 12.04.2006
: 57,940
04.11.2013, 14:16    
:

C++
C++
C++
C++
C++
.
Verbillion
9 / 9 / 0
: 22.10.2013
: 36
04.11.2013, 14:26     #2
Sub2412,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// 
 int kol = 0;
 int kol2 = 0;
 for(int i = 0; i < N; i++) 
  { 
     for(int j = 0; j < N; j++)
     {
         if(m[j][i] == 0)
         {
             kol2++;
         }
     };
      if(!kol2)
      {
        kol++;     
      }
      kol2 = 0;
  };
, ... , matr_find_zero, , , .
BigProgrammer
38 / 38 / 3
: 20.07.2013
: 105
04.11.2013, 14:33     #3
45 matr_chrs, 49 , .
Sub2412
0 / 0 / 0
: 04.11.2013
: 3
04.11.2013, 14:42  []     #4


C++
1
2
3
4
5
6
7
8
9
10
int matr_find_zero(int m[][N]) {
    int i, j;
    for (i = 0; i < N; i++) {
        for (j = 0; j < N; j++)
            //         j -  , i -  
            if (! m[j][i])
                return i;
    }
    return -1;
}
- ?
Verbillion
9 / 9 / 0
: 22.10.2013
: 36
04.11.2013, 15:21     #5
Sub2412,
C++
1
2
3
4
5
6
7
8
9
10
11
int matr_find_zero(int m[][N]) {
    int k=0;
    for (int i = 0; i < N; i++) {
        for (int j = 0; j < N; j++)
        {
            if (!m[j][i]) break;
            if (j==N-1) k++;
        }
    }
    return k;
}
Sub2412
0 / 0 / 0
: 04.11.2013
: 3
04.11.2013, 15:47  []     #6
Yandex
04.11.2013, 15:47    

: 17:43. GMT +3.
- , ,
-
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
@Mail.ru