массивы

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Ответить
Nick245
новенький
Сообщения: 10
Зарегистрирован: 21.01.2017 23:31:07

массивы

Сообщение Nick245 »

Есть 2 массива, один string другой integer.Почему надо вводить вначале string а потом integer, а не наоборот ?

Код: Выделить всё

type
 
 arr1=array[1..5] of string;
 arr2=array[1..5] of integer;
 
var
  a:arr1;
  b:arr2;
Begin
 
  For i:=1 to 5 do 
    begin
      writeln('write your  name and grade ');
      readln(a[i],b[i])
      end;
ElectroGuard
новенький
Сообщения: 71
Зарегистрирован: 03.06.2016 11:10:22

Сообщение ElectroGuard »

потому что у нас стиль письма такой - слева направо: a[i],b[i], были бы мы арабами - вводилось бы наоборот :) шутка.
Аватара пользователя
Снег Север
долгожитель
Сообщения: 3071
Зарегистрирован: 27.11.2007 15:14:47
Контактная информация:

Сообщение Снег Север »

Потому, что в запросе "write your name and grade" просят сначала ввести имя, а потом оценку, а не наоборот.
Nick245
новенький
Сообщения: 10
Зарегистрирован: 21.01.2017 23:31:07

Сообщение Nick245 »

Снег Север писал(а):Потому, что в запросе "write your name and grade" просят сначала ввести имя, а потом оценку, а не наоборот

Издеваешься, да ?
Deimos
постоялец
Сообщения: 174
Зарегистрирован: 16.01.2010 23:31:30

Сообщение Deimos »

Nick245 писал(а):Издеваешься, да ?

Код: Выделить всё

readln(b[i],a[i])


в чем смысл спича? Вот тебе ввод сначала стринг, потом инт.

P.S. В листинге ошибка, насколько я вижу )) Компилятор подскажет )))
SSerge
энтузиаст
Сообщения: 971
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Сообщение SSerge »

Deimos писал(а):Вот тебе ввод сначала стринг, потом инт.


А введёт ли?
В строковую переменную, ЕМНИП, должно попасть всё содержимое ввода до символа перевода строки, а что в такой форме попадет в переменную integer? Содержимое следующей введенной строки? :D
В си, спецификация "%s" на вводе принимает порцию информации, ограниченную любыми непечат(ающимися) символами, что делает методику непригодной для ввода строк, содержащих пробелы
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

SSerge писал(а):А введёт ли?
В строковую переменную, ЕМНИП, должно попасть всё содержимое ввода до символа перевода строки, а что в такой форме попадет в переменную integer?

тут просто идут последовательные команды ввода, разделенные, при наборе, переводом каретки (клавишей "Enter")... так что действительно
SSerge писал(а):Содержимое следующей введенной строки? :D


В паскале пробел, по умолчанию, печатаемый символ. То, что его не видно совсем другая проблема.
SSerge писал(а):В си, спецификация "%s" на вводе принимает порцию информации, ограниченную любыми непечат(ающимися) символами, что делает методику непригодной для ввода строк, содержащих пробелы


Не используйте спецификацию %s, если такое поведение не нужно :D :D :D
Ответить