Тема: [C++] Замінити елемент масиву на 0
Доброго дня, допоможіть вирішити помилку в коді функції (dellmas), яка видаляє (замість вибраного числа записує 0).
Типу я розумію, що неправильний цикл, але не розумію як побудувати вірний, і чому не ініціалізує змінну int j{}, потрібно ставити {}.
#include <iostream>
#include <windows.h>
using namespace std;
void menu() {
cout << endl;
cout << "1 - Додати елементи масиву" << endl;
cout << "2 - Вивести масив" << endl;
cout << "3 - Видалити елементи масиву" << endl;
cout << "4 - Очистити пам'ять" << endl;
cout << "0 - Вихід" << endl;
cout << endl;
}
//додавання елементів
void input(int** array, int n, int k) {
for (int i = 0; i < n; i++) {
for (int j = 0; j < k; j++) {
cout << "Array[" << i << "][" << j << "] : ";
cin >> array[i][j];
}
}
}
//видалення елементів
void dellmas(int** array, int n, int k) {
cout << "Індекс елементу: ";
int pos;
cin >> pos;
int pos1;
int j{}, i;
cin >> pos1;
for (i = 0; i < pos; i++) {
array[i++][j] = 0;
for (j = 0; j < pos1; j++) {
array[i][j++] = 0;
}
}
cout << endl;
}
//вивід елементів
void print(int** array, int n, int k) {
for (int i = 0; i < n; i++) {
for (int j = 0; j < k; j++) {
cout << array[i][j] << ' ';
}
cout << endl;
}
}
//очищення пам'яті
void clear(int** array, int n) {
for (int i = 0; i < n; ++i)
delete[] array[i];
delete[] array;
cout << "\nМасив знищено." << endl;
}
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int** array_f;
int choose = -1;
int r_first, c_first;
cout << "|масив|" << endl;
cout << "Rows : ";
cin >> r_first;
cout << "Columns : ";
cin >> c_first;
cout << endl;
array_f = new int* [r_first];
for (int i = 0; i < r_first; i++) {
array_f[i] = new int[c_first];
}
while (choose != 0) {
menu();
cout << "Ваш вибір: ";
cin >> choose;
if (choose == 0) break;
while (choose != 1 && choose != 2 && choose != 3 && choose != 4) {
cout << "Невірно, виберіть іншу цифру : ";
cin >> choose;
}
switch (choose) {
case 1:
cout << endl;
input(array_f, r_first, c_first);
cout << endl;
break;
case 2: cout << endl;
cout << "Ваш масив: " << endl;
print(array_f, r_first, c_first);
cout << endl;
break;
case 3:
dellmas(array_f, r_first, c_first);
break;
case 4:
clear(array_f, r_first);
break;
}
}
return 0;
}