1 / 1 / 0
Регистрация: 12.10.2018
Сообщений: 24
|
||||||
1 | ||||||
Индекс находится вне границ массива19.10.2018, 18:16. Показов 3268. Ответов 5
Метки нет Все метки)
(
Суть программы: считывание из файла и вывод на экран английского текста, заменяя первую букву слов, начинающихся с гласных, верхним регистром. Компилятор выдает исключение "Индекс находится вне границ массива" при сверке первой буквы(строка 27).
0
|
|
19.10.2018, 18:16 | |
Ответы с готовыми решениями:
5
Индекс находится вне границ массива
Индекс находится вне границ массива |
Модератор
![]() |
|||||||||||||||||||||||||||||||
19.10.2018, 19:06 | 2 | ||||||||||||||||||||||||||||||
![]() Решение
Компилятор или при исполнении?
Добавлено через 11 минут Проверил - всё нормально компилируется и исполняется. Возможно у Вас пустой файл "C:/Users/1/source/repos/Lab7/Lab7/test.txt" и из=за этого возникает ошибка.Добавлено через 10 минут И ещё рекомендация вместо подобной конструкции
Split в большинстве случаев (в том числе и Вашем) надо учитывать наличие переносов строк и исключать пустые элементы
Внутренний цикл for... со строки 25 проверяет только наличие символа в заданном массиве. Для этого можно использовать метод (Array.IndexOf в результате тело внешнего цикла сократится до 3 строк
Внешний цикл у Вас перебирает слова больше у него нет функций поэтому логичнее его заменить на foreach... при этом переместив объявление переменной string str; в цикл. Весь код, с учётом вышесказанного, сократится до
1
|
1 / 1 / 0
Регистрация: 12.10.2018
Сообщений: 24
|
|
19.10.2018, 19:52 [ТС] | 3 |
Спасибо огромное! Однако не совсем понятна строчка:
0
|
![]() 6485 / 3896 / 2005
Регистрация: 14.06.2018
Сообщений: 6,781
|
||||||
19.10.2018, 20:09 | 4 | |||||
![]() Решение
С регулярными выражениями задача естественнее смотрится. Они как раз и были созданы для работы с текстом.
1
|
Модератор
![]() |
||||||
19.10.2018, 21:14 | 5 | |||||
![]() Решение
Метод
Array.IndexOf ищет в массиве указанном в первом параметре, значение указанное во втором параметре.Если находит, то возвращает индекс найденного элемента. Если такого элемента нет - возвращает -1. Проверяя по условию >= 0, фактически мы проверяем был ли найден такой элемент. Так как в массиве vow у нас все гласные, то получается это проверка первого символа строки str[0] - относится он к гласным или нет.Добавлено через 2 минуты В коде ещё и лишние скобки стоят - можно убрать
1
|
1 / 1 / 0
Регистрация: 12.10.2018
Сообщений: 24
|
|
19.10.2018, 21:19 [ТС] | 6 |
Спасибо Вам большое!
1
|
19.10.2018, 21:19 | |
19.10.2018, 21:19 | |
Помогаю со студенческими работами здесь
6
Индекс находится вне границ массива Индекс находится вне границ массива Индекс находится вне границ массива Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |