Най-задълбочената програма по софтуерно инженерство в България
Loading...
+ Нов въпрос
HristoAlovski avatar HristoAlovski 0 Точки

Проблем с "TypeError: input.shift is not a function"

Код: https://pastebin.com/Ukc7GGPV

Условие: https://judge.softuni.bg/Contests/Compete/Index/1207#0

Малко ме е срам да питам за първата задача от преговора, но получавам грешката  "TypeError: input.shift is not a function" в judge, както и да си реструктурирам кода. И преди ми се е случвало същото, да получавам 100% от отговорите, но judge да ми дава runtime error на всичко. Също така debug-a не ми дава същата грешка. Предполагам съм забравил нещо фундаментално през ваканцията, защото в такава проста задача няма много какво да счупя освен ако не вкарам данните по грешен начин или не ги пратя на judge по грешен начин.

 

 

Тагове:
0
JavaScript Fundamentals
krasizorbov avatar krasizorbov 395 Точки

Здравей,

Много е лесно. Както виждаш входните данни са цели числа!

Input

Output

20

adult

1

baby

100

elder

В случая получаваш грешка защото подаваш на функцията  масив [0],  а judge очаква цяло число както се вижда от таблицата по горе. Ето в примера подаваш цяло число на функцията age() и няма нужда от shift и конвертиране с Number().

function age(num) {
  if (num >= 0 && num <= 2) {
    console.log("baby");
  } else if (num >= 3 && num <= 13) {
    console.log("child");
  } else if (num >= 14 && num <= 19) {
    console.log("teenager");
  } else if (num >= 20 && num <= 65) {
    console.log("adult");
  } else if (num >= 66) {
    console.log("elder");
  } else {
    console.log("out of bounds");
  }
}

age(0)

Внимавай с входните данни! В бейсик са ви подавали на входа само масиви но сега за всяка задача ще имаш различен вход.

0
21/05/2020 04:03:46
HristoAlovski avatar HristoAlovski 0 Точки

Разбрах идеята зад грешката и ще трябва да се разровя в масивите. Понеже в бейсик гледахме само нещата под function, сега се чудя каква е целта на X във "function solution(X)". Как се нарича този параметър  Х в началото на английски, че да си намеря някаква информация за него(или просто ключови думи за google). Мерси много за полезната насока иначе.

0
krasizorbov avatar krasizorbov 395 Точки

Например може да имаш функция която събира 2 числа и получения сбор го умножава с трето число. Нека числата са a, b, c

Тогава функцията ще приема 3 числа на входа например:

function someFunctionName(a,b,c) {

let sum = a + b;

let result = sum * c;

console.log(result);

}

sumFunctionName(1,2,3) => получаваме 9: В случая а = 1, b = 2, c = 3

0
MariqnK1 avatar MariqnK1 55 Точки

 

За да видиш какъв вход ще ти подаде съдията напиши кода по-долу, изпрати го и ще видиш какво ще ти пусне съдията като входни данни. cool

function s(s) {

console.log(s)

}

0
21/05/2020 09:34:30