Fabulous-girl
У тебя неправильно будет работать, потому что во внутренних циклах делаются очень странные вещи (в переменную накапливается всё время последняя цифра числа из массива). Дело в том, что деление на 10 (div 10) нужно делать в том же цикле, где берётся остаток, чтобы перейти к следующей цифре. Для этого нужно использовать составной оператор (begin end;), иначе к циклу относится только один оператор после заголовка цикла.
Очень советую тебе понять и прислушаться к некоторым советам по написанию кода, которые помогут тебе допускать меньше ошибок, лучше понимать свой код и делать его понятным для остальных. Сейчас, мягко говоря, код непонятный.
1) Никогда не называй переменные буквами, аббревиатурами или шифрами. Имя переменной должно лучше документации отражать то, для чего предназначена эта переменная. Я надеюсь, что ты хоть немного учила английский язык. Если мало слов знаешь, смотри в словарь при необходимости. И называй переменные так: если это массив чисел, то назови его array_of_number, если в этой переменной будет храниться минимум, то назови её minimum, если сумма, то sum, если цифра, то digit, если индекс массива, то index. Неужели тебе самой понятны твои имена: y,i,x,g,d,s,a,q,b? Наверняка завтра не вспомнишь уже, что означает какая-то буква.
2) Делай в программе отступы. Программа состоит из блоков begin end; Внутри каждого блока все операторы должны быть сдвинуты вправо например на два пробела. Если внутри есть вложенный блок, то внутри него ещё на два пробела вправо. Посмотри на мой код в постах выше для примера. Тогда одним взглядом на код, видно, что где происходит. А у тебя по коду это не видно.
3) Чтобы не путаться, как ты сделала с циклами, всегда делай блоки begin end;, даже если внутри один оператор (то есть блок было делать необязательно). Тогда ты сама себе докажешь, что этот блок написан правильно, или хотя бы задумаешься, а правильно ли тебя поймёт компилятор.
4) Для ещё большего удобства чтения кода, очень советую ставить пробелы после запятой и пробелы с двух сторон от остальных бинарных операторов (операторов, у которых два операнда: слева один и справа другой: например =, >, < , :=, +, -, *, / и другие).
Попробуй, тебе должно понравиться. А через небольшое время, ты поймёшь, что тебе же самой так удобнее. И меньше ошибок будешь делать.
Жду исправленный код (читаемый и правильно работающий) на проверку. Выкладывай, обсудим.