Maksim Lokhov
?>

Program z2; var str: string; n: integer; b: byte; begin readln(str); for n: =1 to length(str) do begin b: =ordansi(str[n]); if (b< 192) and (b< > 32) then delete(str, n, 1); end; writeln(str); end. выдает: ошибка времени выполнения: индекс находился вне границ массива. подскажите, , что не так

Информатика

Ответы

Semenovt
"Не так" тут не понятый до конца механизм работы цикла for.
В соответствии с заголовком цикла for n:=1 to Length(str) значение
Length(str) вычисляется перед первым входом в цикл и в дальнейшем не перевычисляется. Вы же в теле цикла посредством delete(str,n,1); строку укорачиваете. Вполне естественно, что в какой-то момент параметр цикла i в str[n] будет указывать за пределы её текущей длины.
denchiklo2299667

Решения на фото в приложении.


Объяснение выбора(2 задание):

Для правильного выбора нужно идти методом исключения.

Флеш накопитель - внешняя память, доступный объем памяти больше 4500, удобная транспортировка.

Диск - в наилучшем случаем это DVD, максимальный объем памяти которого не превышает 4400 мб, для хранения нашего файла - сойдет.

ОЗУ - оперативная память, которая ВРЕМЕННО хранит данные, хоть и объемы ОЗУ тоже внушающие, но она не подходит.

Жесткий диск - доступная память в разы превышает вес реферата, не комфортная транспортировка, долгое подключение, еще и требует доп. питания - не подходит.

Вывод: ответ - флеш накопитель, диск.

МихайловнаLarisa1150
ПРОДУКТЫ                                             ИСКА                                                           ФАРШ                                                                                                                  ЯЙЦО                                                                                                                  СОЛЬ,ПЕРЕЦ                                                                                                    МУКА                                                                                                                                                              ПРИНАДЛЕЖНОСТИ                                              СКОВОРОДКА                                                                                                    МИСКА ДЛЯ ФАРША                                                                                           ДОСТОЧКА

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Program z2; var str: string; n: integer; b: byte; begin readln(str); for n: =1 to length(str) do begin b: =ordansi(str[n]); if (b< 192) and (b< > 32) then delete(str, n, 1); end; writeln(str); end. выдает: ошибка времени выполнения: индекс находился вне границ массива. подскажите, , что не так
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

yda659
zvanton
Александра_Наталья1417
zoosalon-hollywood5
andr77716
malgoblin2663
Bordo
shelep19789
Александр
notka19746
vis-lyubov8832
symkifm
Макаров1887
firsova5911
sergei641