1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
Заполнить массив так, чтобы вводимые элементы располагались на одной строчке экрана. Всегда пользовался Readln, т.к. он работает почему-то так же как и Read. Препод рассказывает, что типо не так. Как это можно осуществить без СRT?
Добавлено через 14 мин. Ну строку разделять на числа - тоже не вариант
Всегда пользовался Readln, т.к. он работает почему-то так же как и Read.
Неправда. Они работают по-разному. Read не переходит к следующей строке входного файла после прочтения данных.
var
a: array[1 .. 10] of integer;
x: integer;
i, j: integer;
begin
i := 0;
whilenot eoln dobegin
read(X);
inc(i);
a[i] := X;
end;
for j := 1to i do
write(a[j]:4);
writeln;
end.
читает столько чисел, сколько есть, до конца строки. Главное - чтоб не вылететь за границы массива.
Заполнить массив так, чтобы введеные элементы располагались на одной строчке экрана.
Sheka, "введенные" или "вводимые"? В смысле - ввод в одной строке? Ты все же ставь задачу точнее. Я не придираюсь. Тут было как-то хоть ясно из контекста, в другой задаче может и не быть.
--------------------
я - ветер, я северный холодный ветер я час расставанья, я год возвращенья домой
Следи за руками: вариант №2 - "вводим строку 4<пробел><пробел><пробел>8 и жмем на ввод". Что имеешь? А ничего. Цикл от 1 до 2? Значит, должно быть 2 символа конца строки. Первое число (4) занесено в a[1], второе - проигнорировано, от тебя ожидается ввод еще одного числа вместе с Enter-ом.
Вариант №1 - "вводим строку 4<пробел><пробел><пробел>8 и жмем на ввод". Что имеем? Все прекрасно, цикл закончился, и a[1] и a[2] содержат новые значения. Правда вот буфер клавиатуры почистить не мешает, там остался символ #13, и если ты еще что-то будешь читать, то велика вероятность, что это "что-то" прочитается не совсем так, как ты задумывал, в особенности если это будет строка или символ.
То есть, поведение двух вышеозначенных кусков кода СОВЕРШЕННО разное, одинаковым его даже при очень бурной фантазии нельзя назвать...
Да, Sheka, это ты лажанулся.. К словам volvo добавить особенно нечего, но я пишу, чтобы сказать: понимание именно таких нюансов выводит тебя на уровень "не новичка". Постарайся покрутить это все и разобраться до конца. Особенно, кстати, насчет непочищенного буфера - очень частая ошибка. Сколько тут было вопросов типа: "я поставил ReadLn для задержки, а она не задерживается!" И ставят по десять ReadLn'ов, и честят компилятор за "глюки"..
--------------------
я - ветер, я северный холодный ветер я час расставанья, я год возвращенья домой