Другие языки программирования и технологии

визуал с++ помогите не могу понять что не правильно в коде

// 4.cpp: определяет точку входа для консольного приложения.
//
#include

using namespace std;
int main()
{
int n;
int a[7][7];
int b[2][2];
do {
cout << "Введите количество элементов массива не больше 7: ";
cin >> n;
if (n<1 || n>7)
cout << "Количество введено НЕВЕРНО!!! " << endl;
}
while (!(n>0 && n<=7));

for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
a[i][j]=rand()% 99;
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
if (a[i][j] mod 22)=0
{
for (int k=1;k<2;k++)
b[k][1]=i;
for (int k=1;k<2;k++)
b[k][2]=++a[i][j];
}
}
cout << endl << "Сформирован массив: ";
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
cout << b[i][j] << " ; ";
}

return 0;
}
if (a[i][j] % 22==0)В С++ нет mod и равенство проверяется не так ))Тогда скомпилируется. А вот что твой код делает - я ХЗ)). Лучше написать задание, как оно звучит.
Рустам Акбаров
Рустам Акбаров
35 996
Лучший ответ
Сергей Павлов я поменял как ты написал всё равно не работат
Рустам Акбаров while (!(n>0 && n<=7)); //ничего не делает
#include <iostream>
#include <iomanip>
#include <ctime>
using namespace std;
bool number(int);
int main() {
int n;
const int buffer = 7;
int a[buffer][buffer];
const int buf = 2;
int b[buffer][buf];
setlocale(LC_CTYPE, "Russian");
do {
cout << "Введите количество элементов массива не больше " << buffer << ": ";
cin >> n;
if (n < 1 || n > buffer) cout << "Количество введено НЕВЕРНО!!! " << endl;
else break;
} while (true);
srand(unsigned(time(0)));
for (int i = 0; i < n; ++i) for (int j = 0; j < n; ++j) a[i][j] = rand() % 99;
cout << endl;
for (int i = 0; i < n; ++i, cout << '\n') for (int j = 0; j < n; ++j) cout << setw(4) << a[i][j];
cout << endl;
int sum, count;
for (int j = 0; j < n; ++j) {
sum = count = 0;
for (int i = 0; i < n; ++i) {
if (number(a[i][j])) {
sum += a[i][j];
++count;
}
}
b[j][0] = count;
b[j][1] = sum;
}
for (int i = 0; i < n; ++i, cout << '\n') for (int j = 0; j < buf; ++j) cout << setw(4) << b[i][j];
cin.sync();
cin.get();
return 0;
}
bool number(int num) {
int temp[] = { 22, 44, 66, 88 };
for (auto &i : temp) if (i == num) return true;
return false;
}
Андрей Мичурин
Андрей Мичурин
75 879
if (a[i][j] % 22 ==0)
Сергей Павлов поменял всё равно не работает
вместо:
if (a[i][j] mod 22)=0
это:
if ((a[i][j]%22)==0)
просто равно - это знак присвоения
Сергей Павлов это я поменял но всё равно ошибка
вот код какой получился у меня
// 4.cpp: определяет точку входа для консольного приложения.
//
#include
#include "StdAfx.h"
using namespace std;
int main()
{
int n;
int a[7][7];
int b[2][2];

cout << "Введите количество элементов массива не больше 7: ";
cin >> n;
if (n<1 || n>7)
cout << "Количество введено НЕВЕРНО!!! " << endl;

for(int i=0;i<=n;i++)
{
for(int j=0;j<=n;j++)
a[i][j]=rand()% 99;
}
for(int i=0;i<=n;i++)
{
for(int j=0;j<=n;j++)
if ((a[i][j] % 22) ==0)
{
for (int k=0;k<2;k++)
b[k][1]=i;
for (int k=0;k<2;k++)
b[k][2]=++a[i][j];
}
}
cout << endl << "Сформирован массив: ";
for(int i=0;i<=n;i++)
{
for(int j=0;j<=n;j++)
cout << b[i][j] << " ; ";
}

return 0;
}

Похожие вопросы