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
Uses GraphABC; var x, y: word; i: byte; begin SetBrushStyle(bsclear); SetWindowWidth(590); SetWindowHeight(390); Rectangle(5, 5, 585, 385); x := 25; y := 25; Circle(565, 25, 20); Circle(565, 365, 20); Circle(25, 365, 20); repeat Circle(x, y, 20); if (x < 565) and (y = 25) then x := x + 20; if (x = 565) and (y < 365) then y := y + 20; if (y = 365) and (x > 25) then x := x - 20; if (x = 25) and (y > 25) then y := y - 20; until (x = 25) and (y = 25);
Rectangle(50, 50, 540, 340); x := 115; for i := 1 to 8 do begin Circle(x, 210, 6); Circle(x, 210, 40); Circle(x, 210, 45); x := x + 51; end; x := 95; for i := 1 to 11 do begin y := 130; Line(x, y, x, y - 30); y := y - 30; Line(x, y, x + 30, y); x := x + 30; Line(x, y, x, y + 25); y := y + 25; Line(x, y, x - 20, y); x := x - 20; Line(x, y, x, y - 15); y := y - 15; Line(x, y, x + 10, y); x := x + 10; Line(x, y, x, y + 8); y := y + 8; Line(x, y, x - 3, y); x := x - 3; Line(x, y, x, y - 4); y := y - 4; Line(x, y, x - 3, y); x := x - 3; Line(x, y, x, y + 7); y := y + 7; Line(x, y, x + 10, y); x := x + 10; Line(x, y, x, y - 15); y := y - 15; Line(x, y, x - 18, y); x := x - 18; Line(x, y, x, y + 24); y := y + 24; Line(x, y, x + 30, y); x := x + 30; end; end.
111
Объяснение: