Статистика
Всего в нашей базе более 4 327 664 вопросов и 6 445 978 ответов!

Почему на этапе ввода последней ступени (т.е. задали х=5 и вводим 5 ступень) паскаль выкидывает ошибку: "Индекс находился вне границ массива", ведь al[x]

10-11 класс

это его последний элемент, разве нет?
Код:

program s1;
var x, i:integer;
al, tl: array of real;
begin
writeln ('Введите количество ступеней ракеты'); read (x);
setlength (al, x);
setlength (tl, x);
for i:=1 to x do begin
writeln ('Введите ускорение ', i, ' ступени'); read (al[i]);
writeln ('Введите время работы ', i, ' ступени'); read (tl[i]);
end;
end.
P.S.: Переписать массив в статический не предлагать, нужен именно переменной длины. Заранее спасибо.

Lianna150197 08 апр. 2014 г., 0:51:22 (10 лет назад)
Рейтинг
+ 0 -
0 Жалоба
+ 0 -
24zlata
08 апр. 2014 г., 2:00:02 (10 лет назад)

Потому что  в команда setlength (al, x) х задает длину массива, а не его наибольший номер. Так, если х=5, то создается массив из 5 элементов, но с индексами от 0 до 4! По умолчанию нумерация индексов идет не от 1, а от 0.

Ответить

Другие вопросы из категории

751 перевести в римскую систему
Запись

некоторого натурального числа X в шестнадцатеричной системе счисления имеет
ровно три значащих разряда. Это число увеличили в два раза, и оказалось, что
запись получившегося числа Y в шестнадцатеричной системе также имеет ровно три
значащих разряда, причем сумма цифр шестнадцатеричной записи исходного числа X
равна сумме цифр шестнадцатеричной записи полученного числа Y. Сколько
существует таких чисел X, которые удовлетворяют указанным условиям и при этом
содержат хотя бы одну цифру 2 в своей шестнадцатеричной записи? В ответе
укажите целое число.
Нужно составить программу, которая автоматически переберет все числа от 100 до FFF

файл это:?????????????помогите

Читайте также

1) Вводится 4 числа. Вывести на экран наибольшую из первых цифр заданных чисел. Например, если a=46, b=831, c=2996, d=486, то напечатать число 8.

Использовать процедуру. - Написать на Паскале.

2) Дан массив A(10,5). Поменять местами элементы первого столбца с элементами столбца, в котором находится максимальный элемент массива. - Написать на Паскале.

3) Вводятся значения трех переменных. Переставить значения. Дополнительные переменные не использовать.
Составить алгоритм.

Решите кроссворд.

Единица измерения количества информации.(3 буквы)
Одна из тригонометрических функций.(5 букв)
Один из первых языков программирования высокого уровня(7 букв)
Операнд операции сложения.( 9 букв)
Язык программирования (7 букв)
Совокупность точек графического изображения на этапе монитора.(5 букв)
Жаргонное название микросхемы.(3 буквы)

Пожалуйста,помогите

Спецификация программного продукта..
1.создается заказчиком
2.описывается на этапе разработки программного продукта
3.описывает внутреннюю организацию данного продукта
4.описывает внешнее поведение программного продукта

Система команд исполнителя Ластик имеет вид:

(Умножение на 2),(Стереть последнюю цифру)
A) числа 7 из числа 361:
Б) числа 14 из числа 457:



Вы находитесь на странице вопроса "Почему на этапе ввода последней ступени (т.е. задали х=5 и вводим 5 ступень) паскаль выкидывает ошибку: "Индекс находился вне границ массива", ведь al[x]", категории "информатика". Данный вопрос относится к разделу "10-11" классов. Здесь вы сможете получить ответ, а также обсудить вопрос с посетителями сайта. Автоматический умный поиск поможет найти похожие вопросы в категории "информатика". Если ваш вопрос отличается или ответы не подходят, вы можете задать новый вопрос, воспользовавшись кнопкой в верхней части сайта.