Добавить в класс для работы с двухмерным массивом целых чисел
|
|
Среда, 03 Марта 2021 г. 13:16
+ в цитатник
hoh1l2020: Добрый день , помогите решить несколько задач.
• операции ++ (--): одновременно увеличивает (уменьшает) значение всех элементов массива на 1;
• констант true и false: обращение к экземпляру класса дает значение true, если двумерный массив является квадратным;
• операции бинарный +: позволяющей сложить два массива соответсвующих размерностей;
• преобразования класса массив в двумерный массив (и наоборот).
Ниже код:
#include
using namespace std;
class DMassiv
{
public:
int **IntArray;
int n;
int b,a,r,l,p;
DMassiv()
{
IntArray=0;
n=0;
}
int setVvod()
{
cout<<"Введите n:";
cin>>n;
cout<<"Введите массив:"<div>
IntArray=new int*[n];
for (int i = 0; i < n; i++)
{
IntArray[i]=new int[n];
for (int j = 0; j < n; j++)
{
cin>>IntArray[i][j];
}
}
return 1;
}
void getVivod()
{
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
cout<< "\t" <div>
}
cout<div>
}
}
int summa(int l)
{
int s=0;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
if (l>n)cout<<"Невозможно выполнить"<div>
if (j==l) s+=IntArray[i][j];
}
}
return s;
}
void poisk()
{
cout<<"Введите номер солбца: \n";
cin>>a;
cout<<"Номер строки: \n";
cin>>r;
for (int i = 0; i < n; i++)
{
for (int j = 0; j div>
{
if(i==r-1 && j==a-1) p=IntArray[i][j];
}
}
cout<<"Элемент:"<< p << endl;
}
int GetSnull()
{
{
int b=0;
for(int i=0;idiv>
{
for(int j=0;jdiv>
{
if(IntArray[i][j]==0)b++;
}
}
return b;
}
}
};
int main()
{
int l;
DMassiv mas;
mas.setVvod();
mas.getVivod();
mas.poisk();
std::cout<div>
cout<<"Номер столбца:\n";
cin>>l;
std::cout<div>
system("PAUSE");
return 0;
}
https://forum.sources.ru/index.php?showtopic=421233&view=findpost&p=3845171
Метки:
C/C++:
Общие вопросы
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-