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

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

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
PavelRT
0 / 0 / 0
Регистрация: 21.11.2013
Сообщений: 15
24.11.2013, 13:22     Определить сумму элементов в тех строках, которые содержат хотя бы один нулевой элемент. 2)Поменять местами четные строки... #1
Дана целочисленная квадратная матрица.
1) Определить сумму элементов в тех строках, которые содержат хотя бы один нулевой элемент.
2)Поменять местами четные строки и четные столбцы матрицы, например вторую строку со вторым столбцом, четвертую строку с четвертым столбцом.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2013, 13:22     Определить сумму элементов в тех строках, которые содержат хотя бы один нулевой элемент. 2)Поменять местами четные строки...
Посмотрите здесь:

C++ Найти сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент
Определить количество отрицательных элементов в тех строках матрицы, которые содержат хотя бы один нулевой элемент C++
C++ Дана целочисленная прямоугольная матрица. Определить сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент.
C++ Найти сумму элементов в тех строках которые, содержат хотя бы один отрицательный элемент
C++ Дана матрица А , размером n x m. Определить количество отрицательных элементов в тех строках , которые содержат хотя бы один нулевой Элемент
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MicM
 Аватар для MicM
820 / 487 / 90
Регистрация: 29.12.2009
Сообщений: 1,097
Завершенные тесты: 1
24.11.2013, 15:17     Определить сумму элементов в тех строках, которые содержат хотя бы один нулевой элемент. 2)Поменять местами четные строки... #21
Цитата Сообщение от PavelRT Посмотреть сообщение
1) Определить сумму элементов в тех строках, которые содержат хотя бы один нулевой элемент.
Еще есть такой вариант
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int sum = 0;
bool f = false;
for (int i=0; i<n; i++)
{
    for (int j=0; j<n; j++)
    {
        sum+=a[i][j];
        if (a[i][j]==0)
            f = true;
    }
    if (f)
        std::cout <<i+1 <<") Summa = " <<sum <<std::endl;
    sum = 0;
    f = false;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
PavelRT
0 / 0 / 0
Регистрация: 21.11.2013
Сообщений: 15
24.11.2013, 15:18  [ТС]     Определить сумму элементов в тех строках, которые содержат хотя бы один нулевой элемент. 2)Поменять местами четные строки... #22
Цитата Сообщение от MicM Посмотреть сообщение
Еще есть такой вариант
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int sum = 0;
bool f = false;
for (int i=0; i<n; i++)
{
    for (int j=0; j<n; j++)
    {
        sum+=a[i][j];
        if (a[i][j]==0)
            f = true;
    }
    if (f)
        std::cout <<i+1 <<") Summa = " <<sum <<std::endl;
    sum = 0;
    f = false;
}
))) спасибо спасибо спасибо огромное . Ты меня спас!!)))
sila_homki
0 / 0 / 0
Регистрация: 21.10.2013
Сообщений: 15
24.11.2013, 15:23     Определить сумму элементов в тех строках, которые содержат хотя бы один нулевой элемент. 2)Поменять местами четные строки... #23
recoder, так в этом и фишка, что мы не изучали ещё библиотеку #include <iostream> #include <ctime>
#include <windows.h>

А мне нужна библиотека conio.h, stdio.h, math.h и одна со строками (string.h) походу.

В этом я и мучаюсь до сих пор...
HidForce
54 / 54 / 13
Регистрация: 17.11.2012
Сообщений: 1,103
24.11.2013, 15:29     Определить сумму элементов в тех строках, которые содержат хотя бы один нулевой элемент. 2)Поменять местами четные строки... #24
PavelRT, вот код всей программы
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
#include <iostream> 
#include <locale>
#include <cstdlib>
#include <ctime>
 
using namespace std; 
 
int main()
{
    setlocale(LC_ALL, "RUS");
    srand(time(0));
 
    int aMatrix[6][6];
    int RowSum = 0;
    int aux = 0;
 
    cout << "Исходная матрица: " << endl;
    for (int i = 0; i < 6; i++)
    {
        for (int j = 0; j < 6; j++)
        {
            aMatrix[i][j] = rand()%10;
            cout << aMatrix[i][j] << "  ";
        }
 
        cout << endl;
    }
 
    for (int i = 0; i < 6; i++)
    {
        for (int j = 0; j < 6; j++)
        {
            if (aMatrix[i][j] == 0)
            {
                for (int n = 0; n < 6; n++)
                RowSum += aMatrix[i][n];
 
                cout << "Сумма " << i+1 << " строки равна: " << RowSum << endl;
                RowSum = 0;
                j = 6;
            }
        }  
    }
 
    for (int i = 1; i < 6; i += 2)
        for (int j = 0; j < 6; j++)
        {
            aux = aMatrix[i][j];
            aMatrix[i][j] = aMatrix[j][i];
            aMatrix[j][i] = aux; 
        }
 
    cout << endl << "Полученная матрица: " << endl;
    for (int i = 0; i < 6; i++)
    {
        for (int j = 0; j < 6; j++)
        {
            cout << aMatrix[i][j] << "  "; 
        }
 
        cout << endl;
    }
    
    return 0;
}
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
24.11.2013, 15:29     Определить сумму элементов в тех строках, которые содержат хотя бы один нулевой элемент. 2)Поменять местами четные строки... #25
sila_homki, а почему ты тогда обращаешься на форум с++?
Обращайся в раздел Си!!

Не по теме:

ты, наверное, даже не в курсе, какой язык изучаешь

sila_homki
0 / 0 / 0
Регистрация: 21.10.2013
Сообщений: 15
24.11.2013, 15:36     Определить сумму элементов в тех строках, которые содержат хотя бы один нулевой элемент. 2)Поменять местами четные строки... #26
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
sila_homki, а почему ты тогда обращаешься на форум с++?
Обращайся в раздел Си!!

Не по теме:

ты, наверное, даже не в курсе, какой язык изучаешь

В курсе

Просто похожее задание в поиске вбил.. и вот пошло поехало
katsidelin
 Аватар для katsidelin
60 / 21 / 2
Регистрация: 15.11.2013
Сообщений: 112
Записей в блоге: 3
24.11.2013, 15:39     Определить сумму элементов в тех строках, которые содержат хотя бы один нулевой элемент. 2)Поменять местами четные строки... #27
По топикстартеру.
Понимаю, что уже всё решено, но даю для размышления свой вариант:
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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
// [url]http://www.cyberforum.ru/cpp-beginners/[/url]
 
/*
 * Дана целочисленная квадратная матрица.
 * 1) Определить сумму элементов в тех строках, которые содержат хотя бы один нулевой элемент.
 * 2)Поменять местами четные строки и четные столбцы матрицы, например вторую строку со вторым столбцом,
 * четвертую строку с четвертым столбцом.
 */
 
#include <iostream>
 
using namespace std;
 
int main(int argc, char* argv[])
{
    int szMatrix_1[5] [5]; // Создаём целочисленную (int) матрицу.
    szMatrix_1[0] [0] = 7;
    szMatrix_1[0] [1] = -15;
    szMatrix_1[0] [2] = 2;
    szMatrix_1[0] [3] = 72;
    szMatrix_1[0] [4] = 13;
 
    szMatrix_1[1] [0] = 2;
    szMatrix_1[1] [1] = 4;
    szMatrix_1[1] [2] = 0;
    szMatrix_1[1] [3] = 9;
    szMatrix_1[1] [4] = 6;
 
    szMatrix_1[2] [0] = 8;
    szMatrix_1[2] [1] = 33;
    szMatrix_1[2] [2] = -2;
    szMatrix_1[2] [3] = 11;
    szMatrix_1[2] [4] = 12;
 
    szMatrix_1[3] [0] = 1;
    szMatrix_1[3] [1] = 0;
    szMatrix_1[3] [2] = 4;
    szMatrix_1[3] [3] = 63;
    szMatrix_1[3] [4] = -5;
 
    szMatrix_1[4] [0] = 2;
    szMatrix_1[4] [1] = 41;
    szMatrix_1[4] [2] = 8;
    szMatrix_1[4] [3] = 22;
    szMatrix_1[4] [4] = 15;
    // Конец тела матрицы.
    /*
    |  7 -15 2   72  13 |
    |  2 4   0   9   6  |
    |  8 33  -2  11  12 |
    |  1 0   4   63  -5 |
    |  2 41  8   22  15 |
      */
 
    // Приступаем к первому заданию.
    // Для начала создадим целочисленные переменные (int) для записи сумм строк.
    int szString_0, szString_1, szString_2, szString_3, szString_4; // Они не все понадобятся.
 
    // Проверяем первую строку.
    if ( szMatrix_1[0] [0] == 0 || szMatrix_1[0] [1] == 0 || szMatrix_1 [0] [2] == 0
         || szMatrix_1[0] [3] == 0 || szMatrix_1[0] [4] == 0)
    {
        szString_0 = szMatrix_1[0] [0] + szMatrix_1[0] [1] + szMatrix_1[0] [2] + szMatrix_1[0] [3] + szMatrix_1[0] [4];
        cout << "Первая строка содержит ноль. Сумма элементов равняется " << szString_0 << endl;
    }
    else
    {
        cout << "В первой строке нет нулей!" << endl;
    };
 
    // Проверяем вторую строку.
    if ( szMatrix_1[1] [0] == 0 || szMatrix_1[1] [1] == 0 || szMatrix_1 [1] [2] == 0
         || szMatrix_1[1] [3] == 0 || szMatrix_1[1] [4] == 0)
    {
        szString_1 = szMatrix_1[1] [0] + szMatrix_1[1] [1] + szMatrix_1[1] [2] + szMatrix_1[1] [3] + szMatrix_1[1] [4];
        cout << "Вторая строка содержит ноль. Сумма элементов равняется " << szString_1 << endl;
    }
    else
    {
        cout << "Во второй строке нет нулей!" << endl;
    };
 
    // Проверяем третью строку.
    if ( szMatrix_1[2] [0] == 0 || szMatrix_1[2] [1] == 0 || szMatrix_1 [2] [2] == 0
         || szMatrix_1[2] [3] == 0 || szMatrix_1[2] [4] == 0)
    {
        szString_2 = szMatrix_1[2] [0] + szMatrix_1[2] [1] + szMatrix_1[2] [2] + szMatrix_1[2] [3] + szMatrix_1[2] [4];
        cout << "Третья строка содержит ноль. Сумма элементов равняется " << szString_2 << endl;
    }
    else
    {
        cout << "В третьей строке нет нулей!" << endl;
    };
 
    // Проверяем четвёртую строку.
    if ( szMatrix_1[3] [0] == 0 || szMatrix_1[3] [1] == 0 || szMatrix_1 [3] [2] == 0
         || szMatrix_1[3] [3] == 0 || szMatrix_1[3] [4] == 0)
    {
        szString_3 = szMatrix_1[3] [0] + szMatrix_1[3] [1] + szMatrix_1[3] [2] + szMatrix_1[3] [3] + szMatrix_1[3] [4];
        cout << "Четвёртая строка содержит ноль. Сумма элементов равняется " << szString_3 << endl;
    }
    else
    {
        cout << "В четвёртой строке нет нулей!" << endl;
    };
 
    // Проверяем пятую строку.
    if ( szMatrix_1[4] [0] == 0 || szMatrix_1[4] [1] == 0 || szMatrix_1 [4] [2] == 0
         || szMatrix_1[4] [3] == 0 || szMatrix_1[4] [4] == 0)
    {
        szString_4 = szMatrix_1[4] [0] + szMatrix_1[4] [1] + szMatrix_1[4] [2] + szMatrix_1[4] [3] + szMatrix_1[4] [4];
        cout << "Пятая строка содержит ноль. Сумма элементов равняется " << szString_4 << endl;
    }
    else
    {
        cout << "В пятой строке нет нулей!" << endl;
    };
    // Конец первого задания.
 
    // Приступаем ко второму.
    // Для этой цели создадим копию матрицы, куда поместим изначальные данные, чтобы из них собирать сведения
    // о чётных строках и столбцах для их замены на друг друга.
 
    int szMatrix_2[5] [5];  // Вторая матрица - перезагрузка :)
    for (int x = 0; x < 5; x++)
    {
        for (int y = 0; y < 5; y++)
        {
            szMatrix_2[x] [y] = szMatrix_1[x] [y];  // Почленное копирование.
        };
    };
 
    // Меняем вторую строку на изначальный второй столбец.
    szMatrix_1 [1] [0] = szMatrix_2 [0] [1];
    szMatrix_1 [1] [1] = szMatrix_2 [1] [1];
    szMatrix_1 [1] [2] = szMatrix_2 [2] [1];
    szMatrix_1 [1] [3] = szMatrix_2 [3] [1];
    szMatrix_1 [1] [4] = szMatrix_2 [4] [1];
 
    // Меняем четвёртую строку на изначальный четвёртный столбец.
    szMatrix_1 [3] [0] = szMatrix_2 [0] [3];
    szMatrix_1 [3] [1] = szMatrix_2 [1] [3];
    szMatrix_1 [3] [2] = szMatrix_2 [2] [3];
    szMatrix_1 [3] [3] = szMatrix_2 [3] [3];
    szMatrix_1 [3] [4] = szMatrix_2 [4] [3];
 
    // Меняем второй столбец на изначальную вторую строку.
    szMatrix_1 [0] [1] = szMatrix_2 [1] [0];
    szMatrix_1 [1] [1] = szMatrix_2 [1] [1];
    szMatrix_1 [2] [1] = szMatrix_2 [1] [2];
    szMatrix_1 [3] [1] = szMatrix_2 [1] [3];
    szMatrix_1 [4] [1] = szMatrix_2 [1] [4];
 
    // Меняем четвёртый столбец на изначальную четвёртую строку.
    szMatrix_1 [0] [3] = szMatrix_2 [3] [0];
    szMatrix_1 [1] [3] = szMatrix_2 [3] [1];
    szMatrix_1 [2] [3] = szMatrix_2 [3] [2];
    szMatrix_1 [3] [3] = szMatrix_2 [3] [3];
    szMatrix_1 [4] [3] = szMatrix_2 [3] [4];
 
    /*
      Должно получиться нечто вроде этого:
      | 7   2   2   1   13  |
      | -15 4   33  0   41  |
      | 1   0   -2  4   12  |
      | 72  9   11  63  22  |
      | 2   6   8  -5   15  |
      */
    // Проверяем.
    for (int x = 0; x < 5; x++)
    {
        for (int y = 0; y < 5; y++)
        {
            cout << szMatrix_1 [x] [y] << '\t';  // Разделитель в строке между столбцами.
        };
        cout << endl;   // Разделитель между строками.
    };
 
 
    return 0;
}
Если кто-то чего-то не изучал - это ли оправдание?
Я сам до всего дошёл. Правда не очень далеко...
Открывайте в текствых редакторах загаловки библиотек в include к Вашим компиляторам и читайте их.
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
24.11.2013, 15:41     Определить сумму элементов в тех строках, которые содержат хотя бы один нулевой элемент. 2)Поменять местами четные строки... #28
Цитата Сообщение от katsidelin Посмотреть сообщение
// Проверяем первую строку.
...
// Проверяем вторую строку.
С матрицей 1000 на 1000 тоже так будем долбаться?
MicM
 Аватар для MicM
820 / 487 / 90
Регистрация: 29.12.2009
Сообщений: 1,097
Завершенные тесты: 1
24.11.2013, 15:44     Определить сумму элементов в тех строках, которые содержат хотя бы один нулевой элемент. 2)Поменять местами четные строки... #29
katsidelin, зачем же так страшно, а если будете работать с матрицей 10000х10000, тоже будете так писать

Не по теме:

опоздал)

PavelRT
0 / 0 / 0
Регистрация: 21.11.2013
Сообщений: 15
24.11.2013, 15:49  [ТС]     Определить сумму элементов в тех строках, которые содержат хотя бы один нулевой элемент. 2)Поменять местами четные строки... #30
Цитата Сообщение от MicM Посмотреть сообщение
katsidelin, зачем же так страшно, а если будете работать с матрицей 10000х10000, тоже будете так писать

Не по теме:

опоздал)

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
#include <iostream.h>
#include <iomanip.h>
void Vyvod (int**a, int m)
void Sum0 (int**a,int &Sum0);
void Sort (int**a, int m);
 main()
{
 int m, i, j, Sum0;
 cout<<"Введиnt размерность матрицы: ";
 cin>>m;
 int**a=new int*[m]
 for(i=0;i<m;i++)
 a[i]=new int[m];
 
 cout<<"Введите элементы матрицы: "<<endl;
 for(i=0; i<m; i++)
    for(j=0; j<m; i++)
        cin>>a[i][j];
        
cout<<"Матрица имеет вид: "<<endl;
Vyvod(a, m);
 
Sort(a, m);
cout<<"Измененная матрица: "<<endl;
Vyvod(a, m);
 
cout<<"Сумма элементов строки: "<<endl;
  Sum0(a,m);
  
  delete []a;
     cout<<"Нажмите любую клавишу... ";
     getch ();
     clrscr ();
Это код С(Си) ?
katsidelin
 Аватар для katsidelin
60 / 21 / 2
Регистрация: 15.11.2013
Сообщений: 112
Записей в блоге: 3
24.11.2013, 15:51     Определить сумму элементов в тех строках, которые содержат хотя бы один нулевой элемент. 2)Поменять местами четные строки... #31
Я для наглядности.
Про циклы знаю.
Если человек только учится, он должен знать что с чем складывается.
0x10
24.11.2013, 15:55
  #32

Не по теме:

Цитата Сообщение от katsidelin Посмотреть сообщение
Если человек только учится, он должен знать что с чем складывается.
Давайте без вредных советов. Чтобы знать что с чем складывается, есть отладочный вывод, а код писать надо нормально.

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.11.2013, 15:56     Определить сумму элементов в тех строках, которые содержат хотя бы один нулевой элемент. 2)Поменять местами четные строки...
Еще ссылки по теме:

Найти сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент C++
Массив: Количество отрицательных элементов в тех строках, которые содержат хотя бы один нулевой элемент C++
Найти произведение элементов в тех строках, которые содержат хотя бы один нулевой элемент C++

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

Или воспользуйтесь поиском по форуму:
MicM
 Аватар для MicM
820 / 487 / 90
Регистрация: 29.12.2009
Сообщений: 1,097
Завершенные тесты: 1
24.11.2013, 15:56     Определить сумму элементов в тех строках, которые содержат хотя бы один нулевой элемент. 2)Поменять местами четные строки... #33
Цитата Сообщение от PavelRT Посмотреть сообщение
#include <iostream.h>
#include <iomanip.h>
void Vyvod (int**a, int m)
void Sum0 (int**a,int &Sum0);
void Sort (int**a, int m);
main()
{
int m, i, j, Sum0;
cout<<"Введиnt размерность матрицы: ";
cin>>m;
int**a=new int*[m]
for(i=0;i<m;i++)
a[i]=new int[m];
cout<<"Введите элементы матрицы: "<<endl;
for(i=0; i<m; i++)
for(j=0; j<m; i++)
cin>>a[i][j];
cout<<"Матрица имеет вид: "<<endl;
Vyvod(a, m);
Sort(a, m);
cout<<"Измененная матрица: "<<endl;
Vyvod(a, m);
cout<<"Сумма элементов строки: "<<endl;
Sum0(a,m);
delete []a;
cout<<"Нажмите любую клавишу... ";
getch ();
clrscr ();
Выколите мне глаза...
Yandex
Объявления
24.11.2013, 15:56     Определить сумму элементов в тех строках, которые содержат хотя бы один нулевой элемент. 2)Поменять местами четные строки...
Ответ Создать тему
Опции темы

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