0 / 0 / 0
Регистрация: 13.11.2017
Сообщений: 37
1

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

12.12.2017, 00:12. Показов 606. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Программа выдает ошибку времени выполнения: входная строка имела неверный формат(12-ая строка)
Помогите. Что не так?
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function f(a,b:integer):integer;
begin
if b<=a then f:=a
else f:=b*f(a,b-1);
end;
var a,b,c:integer;
begin
write('Введите целое число a=');
readln(a);
repeat
writeln('Введите диапазон для умножения b<c');
readln(b,c);
until b<c;
writeln('Произведение чисел от ',b,' до ',c,'=',f(b,c));
if f(b,c)=a then write('Число ',a,' можно представить произведением чисел от ',b,' до ',c)
else write('Число ',a,' нельзя представить произведением чисел от ',b,' до ',c)
 
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.12.2017, 00:12
Ответы с готовыми решениями:

Ошибка времени выполнения: Входная строка имела неверный формат
Всем привет. Помогите пожалуйста не могу понять в чем ошибка. Вот код: Var a,b:real; z:char;...

Ошибка времени выполнения: Входная строка имела неверный формат
Здравствуйте, я начинающий программист и изучаю Paskal ABC. У меня возникла проблема. Есть...

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

Ошибка времени выполнения: Входная строка имела неверный формат
Program n_11; var a, b, z : boolean; begin Write ('a='); Readln (a); Write...

7
5084 / 2655 / 2350
Регистрация: 10.12.2014
Сообщений: 10,041
12.12.2017, 07:04 2
Эта ошибка говорит о том, что вы неправильно ввели данные…
Если что ;–)
0
Status 418
Эксперт Python
4581 / 2348 / 602
Регистрация: 26.11.2017
Сообщений: 5,264
Записей в блоге: 3
12.12.2017, 07:47 3
Задание напишите. Что должна делать программа?
0
5084 / 2655 / 2350
Регистрация: 10.12.2014
Сообщений: 10,041
12.12.2017, 07:50 4
eaa, ТС, скорее всего, вводит не целочисленные значения.
0
0 / 0 / 0
Регистрация: 13.11.2017
Сообщений: 37
12.12.2017, 10:19  [ТС] 5
Вот само задание:

Ввести три целые числа a, b, c. Можно ли представить число a таким образом, чтобы

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
a=x[1]\cdot x[2]\cdot ...\cdot x[k]=\prod_{i=1}^{k}x[i],<br />

где b ≤ x[i] ≤ c; x[i] - целые.
0
5084 / 2655 / 2350
Регистрация: 10.12.2014
Сообщений: 10,041
12.12.2017, 10:49 6
madsitnik, чё вы там вводите тоже напишите уже!

Добавлено через 11 минут
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var s := '';
 
function f(a,b,c : Integer) : Boolean;
begin
  if b > c then
    Result := a = 1
  else 
    begin  
      while a mod b = 0 do
        begin
          s += (s.Length>0? ' x ' : '') + b;
          a := a div b;
        end;
      Result := f(a, b+1, c);
    end;
end;
 
begin
  var(a,b,c):=ReadInteger3;
  if f(a,b,c) then WriteLn('можно', NewLine, s) else WriteLn('нельзя');
end.
Вводил для проверки: 115920 3 50

Добавлено через 4 минуты
P.S. Эти данные „на ура“ съедает ваша программа… Без всяких ошибок!
Только ваша программа на то делает.
Она просто пытается найти произведение чисел от B до C, вместо поиска таких чисел, перемножив которые можно получить A и чтобы они были в диапазоне B…C.

Добавлено через 4 минуты
P.P.S. Рекурсия для данной задачи — не совсем правильный выбор.
Ибо, для большого промежутка B…C может возникнуть переполнение стека.
Здесь гораздо лучше подходит простой цикл:
Pascal
1
2
3
4
5
6
7
8
9
10
11
begin
  var(a,b,c):=ReadInteger3;
  var s := '';
  for var i := b to c do
    while a mod i = 0 do
      begin
        s += (s.Length>0? ' x ' : '') + i;
        a := a div i;
      end;
  if a = 1 then WriteLn('можно', NewLine, s) else WriteLn('нельзя');
end.
0
Status 418
Эксперт Python
4581 / 2348 / 602
Регистрация: 26.11.2017
Сообщений: 5,264
Записей в блоге: 3
12.12.2017, 14:19 7
а если b = 1 ?
0
5084 / 2655 / 2350
Регистрация: 10.12.2014
Сообщений: 10,041
13.12.2017, 06:42 8
Не учёл…

А ещё не стал учитывать разные другие проверки.
Потому, что ТС не всё задание привёл!
… Ну, или тот кто давал задание ТС, не всё сказал ;–)

Ответ „Не достаточно данных для окончательного ответа“ — не прокатит.
0
13.12.2017, 06:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.12.2017, 06:42
Помогаю со студенческими работами здесь

Ошибка времени выполнения: Входная строка имела неверный формат
В паскале ABC.NET выводит ошибку &quot;Входная строка имела неверный формат&quot; код снизу: var z,x:...

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

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

Ошибка времени выполнения: Входная строка имела неверный формат
Как исправить данную ошибку в коде : &quot;Ошибка времени выполнения: Входная строка имела неверный...

Ошибка времени выполнения: Входная строка имела неверный формат
Задача - A)Создать файл, содержащий сведения о телефонных абонентах. Должны быть фамилия, год...

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru