Read |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Read |
sheka |
Сообщение
#1
|
Я. Группа: Пользователи Сообщений: 809 Пол: Мужской Реальное имя: Саша Репутация: 11 |
Заполнить массив так, чтобы вводимые элементы располагались на одной строчке экрана.
Всегда пользовался Readln, т.к. он работает почему-то так же как и Read. Препод рассказывает, что типо не так. Как это можно осуществить без СRT? Добавлено через 14 мин. Ну строку разделять на числа - тоже не вариант Сообщение отредактировано: sheka - |
volvo |
Сообщение
#2
|
Гость |
Цитата Всегда пользовался Readln, т.к. он работает почему-то так же как и Read. Неправда. Они работают по-разному. Read не переходит к следующей строке входного файла после прочтения данных.varчитает столько чисел, сколько есть, до конца строки. Главное - чтоб не вылететь за границы массива. |
sheka |
Сообщение
#3
|
Я. Группа: Пользователи Сообщений: 809 Пол: Мужской Реальное имя: Саша Репутация: 11 |
С файлами вопросов нет (Обманул, именно в этих целях пользовался ).
Меня интересует именно экран при вводе данных. for i := 1 to 2 do read(a[i]) ничем не отличается от for i := 1 to 2 do readln(a[i]) |
Lapp |
Сообщение
#4
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Заполнить массив так, чтобы введеные элементы располагались на одной строчке экрана. Sheka, "введенные" или "вводимые"?В смысле - ввод в одной строке? Ты все же ставь задачу точнее. Я не придираюсь. Тут было как-то хоть ясно из контекста, в другой задаче может и не быть. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
sheka |
Сообщение
#5
|
Я. Группа: Пользователи Сообщений: 809 Пол: Мужской Реальное имя: Саша Репутация: 11 |
Понял. Исправил.
|
volvo |
Сообщение
#6
|
Гость |
Цитата for i := 1 to 2 do read(a[i]) ничем не отличается от for i := 1 to 2 do readln(a[i]) Следи за руками: вариант №2 - "вводим строку 4<пробел><пробел><пробел>8 и жмем на ввод". Что имеешь? А ничего. Цикл от 1 до 2? Значит, должно быть 2 символа конца строки. Первое число (4) занесено в a[1], второе - проигнорировано, от тебя ожидается ввод еще одного числа вместе с Enter-ом. Вариант №1 - "вводим строку 4<пробел><пробел><пробел>8 и жмем на ввод". Что имеем? Все прекрасно, цикл закончился, и a[1] и a[2] содержат новые значения. Правда вот буфер клавиатуры почистить не мешает, там остался символ #13, и если ты еще что-то будешь читать, то велика вероятность, что это "что-то" прочитается не совсем так, как ты задумывал, в особенности если это будет строка или символ. То есть, поведение двух вышеозначенных кусков кода СОВЕРШЕННО разное, одинаковым его даже при очень бурной фантазии нельзя назвать... |
Lapp |
Сообщение
#7
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
for i := 1 to 2 do read(a[i]) ничем не отличается от for i := 1 to 2 do readln(a[i]) К словам volvo добавить особенно нечего, но я пишу, чтобы сказать: понимание именно таких нюансов выводит тебя на уровень "не новичка". Постарайся покрутить это все и разобраться до конца. Особенно, кстати, насчет непочищенного буфера - очень частая ошибка. Сколько тут было вопросов типа: "я поставил ReadLn для задержки, а она не задерживается!" И ставят по десять ReadLn'ов, и честят компилятор за "глюки".. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
sheka |
Сообщение
#8
|
Я. Группа: Пользователи Сообщений: 809 Пол: Мужской Реальное имя: Саша Репутация: 11 |
Да, действительно.
Чистить буфер так? Цитата MemW[Seg0040:$1C]:=MemW[Seg0040:$1A];{уравнять адреса начала и конца буфера} или так while keypressed do readkey; А если я пишу в Делфи, что тогда делать? |
TarasBer |
Сообщение
#9
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
> MemW[Seg0040:$1C]:=MemW[Seg0040:$1A];
Вай, зачем так сложно?
-------------------- |
Текстовая версия | 23.12.2024 21:55 |