Я не могу получить длину массива через вложенный цикл while. Строки и столбцы могут иметь любое значение, но мне нужно убедиться, что они равны длине массива. длина массива = строки * столбцы
Вложенный цикл for мне не поможет, потому что я не знаю, какой длины может быть введенный массив.
void add(char arr[][SIZE], int rows, int cols, int val) {
int arrayStorage = 0;
int arrayStorage2 = 0;
while (arr[arrayStorage][arrayStorage2] != 0 && (isalpha(arr[arrayStorage][arrayStorage2]) || isdigit(arr[arrayStorage][arrayStorage2]) || arr[arrayStorage][arrayStorage2] == ' ') && (isprint(arr[arrayStorage][arrayStorage2]) || !(iscntrl(arr[arrayStorage][arrayStorage2]))))
{
arrayStorage2 = 0;
while (arr[arrayStorage][arrayStorage2] != 0 && (isalpha(arr[arrayStorage][arrayStorage2]) || isdigit(arr[arrayStorage][arrayStorage2]) || arr[arrayStorage][arrayStorage2] == ' ') && (isprint(arr[arrayStorage][arrayStorage2]) || !(iscntrl(arr[arrayStorage][arrayStorage2]))))
{
arrayStorage2++;
}
arrayStorage2--;
arrayStorage++;
}
int storage3 = (arrayStorage2) * arrayStorage;
cout << storage3;
char addVal = (char)val;
if (( storage3 == (rows * cols)) && rows > 0 && rows <= SIZE && cols > 0 && cols <= SIZE)
{
// do stuff
}
}
int main()
{
char arr4 [][SIZE] = {{'a','b','c',' ',' '}, {'d','e','f',' ',' '}, {'g','r','o','w','n'}, {'n','o','w',' ',' '}};
add(arr4,4,5,5);
return 0;
}
storage3 длина массива равна 5, когда предполагается, что она равна 20