
Pezhilil
4 год назад
Пожалуйста посчитайте решить задачу из учебника в с++

ОТВЕТЫ

Мартьян
Oct 24, 2020
#include <iostream>
using namespace std;
int main() {
int m=6;
int n=12;
int k=0;
char chars[m][n];
string st[m] = {
"###...??..+.",
"###.=.??..+.",
"###.......+.",
".....???....",
"???.......==",
"???...####.."
};
for (int i=0;i<m;i++){
for (int j=0; j<n; j++) {
chars[i][j] = st[i][j];
cout << chars[i][j];
}
cout << "n";
}
if (chars[0][0] != '.') k++;
for (int j=1; j<n; j++)
if ((chars[0][j] !='.')&&(chars[0][j-1] != chars[0][j])) k++;
for (int i=1;i<m;i++){
if ((chars[i][0] != '.')&&(chars[i-1][0] != chars[i][0])) k++;
for (int j=1; j<n; j++)
if ((chars[i][j] !='.')&&
(chars[i][j-1] != chars[i][j])&&
(chars[i-1][j] != chars[i][j])) k++;
}
cout << k;
return 0;
}
Результат (для данного примера):
###...??..+.
###.=.??..+.
###.......+.
.....???....
???.......==
???...####..
8
using namespace std;
int main() {
int m=6;
int n=12;
int k=0;
char chars[m][n];
string st[m] = {
"###...??..+.",
"###.=.??..+.",
"###.......+.",
".....???....",
"???.......==",
"???...####.."
};
for (int i=0;i<m;i++){
for (int j=0; j<n; j++) {
chars[i][j] = st[i][j];
cout << chars[i][j];
}
cout << "n";
}
if (chars[0][0] != '.') k++;
for (int j=1; j<n; j++)
if ((chars[0][j] !='.')&&(chars[0][j-1] != chars[0][j])) k++;
for (int i=1;i<m;i++){
if ((chars[i][0] != '.')&&(chars[i-1][0] != chars[i][0])) k++;
for (int j=1; j<n; j++)
if ((chars[i][j] !='.')&&
(chars[i][j-1] != chars[i][j])&&
(chars[i-1][j] != chars[i][j])) k++;
}
cout << k;
return 0;
}
Результат (для данного примера):
###...??..+.
###.=.??..+.
###.......+.
.....???....
???.......==
???...####..
8
91
Смежные вопросы: