Если число произвольное, то оно может содержать произвольное количество цифр, большее нуля. Число считается натуральным, поэтому наложим на ввод ограничения: вводить нужно только цифры, а остальные знаки будут игнорироваться. В этом случае количество цифр в числе будет равно количеству введенных цифр. Число вводим, как символьную строку, а затем при подсчете цифр пропускаем все нецифровые символы.
const digits=['0','1','2','3','4','5','6','7','8','9']; var s:string; i,k:integer; begin Write('Введите произвольное натуральное число: '); Readln(s); k:=0; for i:=1 to Length(s) do if s[i] in digits then Inc(k); Writeln('Количество цифр в числе равно ',k) end.
Тестовые решения:
Введите произвольное натуральное число: -43546543235.08754 Количество цифр в числе равно 16
Введите произвольное натуральное число: 96435034623 Количество цифр в числе равно 11
Введите произвольное натуральное число: И даже так: -43 323 453.657 4 посчитает! Количество цифр в числе равно 12
===== С++ 17 =====
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int n = 5;
int a[n][n];
srand(time(NULL));
for(int i = 0; i < n; i++)
{
for(int j = 0; j < n; j++)
{
a[i][j] = rand() % 199 - 99;
cout << setw(4) << a[i][j] << " ";
}
cout << endl;
}
// матрица готова к работе
int min = 1000;
for(int i = 0; i < n; i++)
if (a[i][n - i - 1] < min)
min = a[i][n - i - 1];
cout << "\nMin = " << min;
return 0;
}