Форум программистов, компьютерный форум, киберфорум
Наши страницы

Pascal ABC

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 34, средняя оценка - 4.71
nokados
27 / 27 / 5
Регистрация: 30.04.2012
Сообщений: 132
#1

Некорректно работает read - Ошибка времени выполнения: Входная строка имела неверный формат - Pascal ABC

25.10.2013, 17:52. Просмотров 6396. Ответов 4
Метки нет (Все метки)

Вот код:
Объявление переменных:
Pascal
1
2
3
4
5
6
7
8
const N=30;
type student = record
  fio:string[15];
  notes:array[1..15] of integer;
  mid:real;
 end;
 var s,i,j:integer;
     people:array[1..N] of student;
Ввод
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
for i:=1 to N do
  begin
    read(people[i].fio);
    s:=0;
    for j:=1 to 15 do
    begin
      read(people[i].notes[j]);
      s:=s+people[i].notes[j];
    end;
    people[i].mid:=s/15;
    writeln();
  end;
Выдает ошибку в строке
Pascal
1
read(people[i].notes[j]);
Как исправить?

Вводил вот так:
Код
орвап 1 2 2 3 3 5 5 5 5 5 5 5 5 5 5
ool 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 
Ошибка времени выполнения: System.FormatException: Входная строка имела неверный формат.
Стек:
   в PABCSystem.PABCSystem.read(Int32& x)
   в notes.Program.$Main() в C:\Users\Никита\Desktop\notes.pas:строка 17
   в notes.Program.Main()
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.10.2013, 17:52
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Некорректно работает read - Ошибка времени выполнения: Входная строка имела неверный формат (Pascal ABC):

Ошибка времени выполнения:входная строка имела неверный формат - Pascal ABC
ПОМОГИТЕ НАЙТИ ОШИБКУ В ПРОГРАММЕ, ПОЖАЛУЙСТА!!! Type Test=record Fam: string; Name: string; Score1:byte; Score2:byte; End; ...

Ошибка времени выполнения: Входная строка имела неверный формат - Pascal ABC
const m=4; n=3; var f1,f2:text; a:array of integer; i,j,m1,m2:integer; begin assign(f1,'1.txt'); reset(f1); ...

Ошибка времени выполнения: System.FormatException: Входная строка имела неверный формат - Pascal ABC
Возникает ошибка В данном месте - read(t, L); procedure Res(var d:doroga; t:text); var k: byte; begin for k := 21 to 40 do...

Почему выдает ошибку:Ошибка времени выполнения: Входная строка имела неверный формат - Pascal
При попытки заполнить массив из файла выдает ошибку: Ошибка времени выполнения: Входная строка имела неверный формат.Текст программы var...

Входная строка имела неверный формат - Pascal
Здравствуйте. Небольшая загвоздочка вышла, не понятная мне. Не мог бы кто-нибудь подсказать в чем дело, пожалуйста? В программе с...

Входная строка имеет неверный формат - Pascal
program lab234; {$apptype console} const nmax=20; var dat,res:text; i,n:integer; mx,mn,sr:real; x,y,z:arrayof...

4
chizz
982 / 499 / 54
Регистрация: 19.03.2013
Сообщений: 3,095
Записей в блоге: 18
Завершенные тесты: 1
25.10.2013, 17:58 #2
мб из-за того что fio:string[15];

и читает из орвап 1 2 2 3 3 5 5 5 5 5 5 5 5 5 5 в орвап 1 2 2 3 3

Хотя хз
0
nokados
27 / 27 / 5
Регистрация: 30.04.2012
Сообщений: 132
25.10.2013, 17:59  [ТС] #3
а как тогда сделать, чтобы до пробела читалось?
0
chizz
982 / 499 / 54
Регистрация: 19.03.2013
Сообщений: 3,095
Записей в блоге: 18
Завершенные тесты: 1
25.10.2013, 18:01 #4
а зачем в одной строке всё. Почему бы не разбить на два ввода.

1. Читаем и сохраняем строку
2. читаем и сохраняем числовой массив
0
nokados
27 / 27 / 5
Регистрация: 30.04.2012
Сообщений: 132
25.10.2013, 18:25  [ТС] #5
Для наглядности. Или Pascal и эстетичность никак не пересекаются?

Добавлено через 14 минут
Проблему решил, написав такую функцию:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
function tospace():string;
var c:char;
    s:string;
begin
  c:='-';
  while c<>' ' do
  begin
    s:=s+c;
    read(c);
  end;
  tospace:=s;
end;
и заменив
Pascal
1
read(people[i].fio);
на
Pascal
1
people[i].fio:=tospace();
0
25.10.2013, 18:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.10.2013, 18:25
Привет! Вот еще темы с ответами:

Ошибка времени выполнения unable to read beyond the end of stream - Pascal ABC
uses graphabc; var a, b, c:integer; i:file of integer; begin SetWindowWidth(500); SetWindowHeight(500); ...

Ошибка — неверный числовой формат - Pascal ABC
uses crt; const n=3; type tel=record; nom:string; dolg:integer; imya:string; klass:string; end; var...

Ошибка времени выполнения - Pascal ABC
выдаёт ошибку времени выполнения, но если взять другую функцию то выводит график что с этим делать? program grafik; uses graphABC; ...

Ошибка времени выполнения - Pascal ABC
Во время выполнения программы пишет такую ошибку: Ошибка времени выполнения: Object reference not set to an instance of an object....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru