const N = 30;
var a : array[1..N] of integer;
i, j, x : integer;
Begin
for i := 1 to N do readln(a[i]);
readln(x);
for i := 1 to N do begin //перебираем элементы массива
if a[i] = x then begin //если находим элемент равный Х то
writeln('наименьший номер элемента равного X - ', i); //выводим сообщение
exit; //и завершаем программу не завершив перебор, т.к. нам нужен только наименьший номер
end;
end;
writeln('такого элемента нет'); //если перебрав весь массив не находим совпадений то выводим сообщение
end.
Объяснение:
объяснения в комментариях программы
проверено на PascalABC
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