var a,n,i,j,s:integer; begin writeln('Введите количество цифр в числе'); readln(n); for i:=1 to n do begin writeln('Введите ',i,' цифру из ',n); readln(a); for j:=1 to n-i do a:=a*10; s:=s+a; end; writeln('Натуральное число: ',s); end.
Тестовое решение
Введите количество цифр в числе 5 Введите 1 цифру из 5 9 Введите 2 цифру из 5 2 Введите 3 цифру из 5 7 Введите 4 цифру из 5 3 Введите 5 цифру из 5 1 Натуральное число: 92731
Решение №2 Если очень надо использовать массив (хотя на мой взгляд совсем не нужно)
//PascalABC.NET (версия 3.1, сборка 1198) var a,n,i,j,s:integer; mas:array[1..10]of integer; begin writeln('Введите количество цифр в числе'); readln(n); for i:=1 to n do begin writeln('Введите ',i,' цифру из ',n); readln(mas[i]); a:=mas[i]; for j:=1 to n-i do a:=a*10; s:=s+a; end; writeln('Натуральное число: ',s); end.
Тестовое решение
Введите количество цифр в числе 5 Введите 1 цифру из 5 5 Введите 2 цифру из 5 4 Введите 3 цифру из 5 3 Введите 4 цифру из 5 2 Введите 5 цифру из 5 2 Натуральное число: 54322
Const n=10; var a:array[1..n] of integer; i,s,min:integer; begin writeln('Исходный массив:'); for i:=1 to n do begin a[i]:=random(21)-10; write(a[i]:4); end; writeln; s:=0; min:=a[1]; for i:=1 to n do begin if a[i]>0 then s:=s+a[i]; if a[i]<min then min:=a[i]; end; writeln('s = ',s,' min = ',min); for i:=1 to n do if a[i]>0 then a[i]:=s else if a[i]<0 then a[i]:=a[i]-min; writeln('Измененный массив:'); for i:=1 to n do write(a[i]:4); writeln; end.
Переводим целую часть 20410 в 7-ую систему последовательным делением на 7:
204/7 = 29, остаток: 1
29/7 = 4, остаток: 1
4/7 = 0, остаток: 4
20410 = 4117