С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/36: Рейтинг темы: голосов - 36, средняя оценка - 4.83
nokados
27 / 27 / 9
Регистрация: 30.04.2012
Сообщений: 132
1

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

25.10.2013, 17:52. Просмотров 6840. Ответов 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
Ответы с готовыми решениями:

Ошибка времени выполнения: Входная строка имела неверный формат
const m=4; n=3; var f1,f2:text; a:array of integer; ...

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

Ошибка времени выполнения: Входная строка имела неверный формат
type s = set of 0..50; var a:s; n:integer; function sum(mass:s ): integer;...

Ошибка времени выполнения: System.FormatException: Входная строка имела неверный формат
Возникает ошибка В данном месте - read(t, L); procedure Res(var...

Ошибка: "Ошибка времени выполнения, входная строка имела неверный формат"
При запуске программы при вводе второго имени выдает ошибку: "Ошибка времени...

4
chizz
983 / 502 / 102
Регистрация: 19.03.2013
Сообщений: 3,109
Записей в блоге: 19
Завершенные тесты: 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 / 9
Регистрация: 30.04.2012
Сообщений: 132
25.10.2013, 17:59  [ТС] 3
а как тогда сделать, чтобы до пробела читалось?
0
chizz
983 / 502 / 102
Регистрация: 19.03.2013
Сообщений: 3,109
Записей в блоге: 19
Завершенные тесты: 1
25.10.2013, 18:01 4
а зачем в одной строке всё. Почему бы не разбить на два ввода.

1. Читаем и сохраняем строку
2. читаем и сохраняем числовой массив
0
nokados
27 / 27 / 9
Регистрация: 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

Ошибка времени выполнения: Входная строка имела неверный формат
Здравствуйте, столкнулся с такой проблемой Задача:Заполнить квадратный массив...

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

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


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

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

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