前提・実現したいこと
paizaのレベルアップ問題集を解いています。
1行目でN人の従業員数を標準入力で取得し、2〜N+1行目でそれぞれの従業員の名前と、昨年の年齢を取得します。
期待される出力は、「従業員名 今年の年齢(昨年の年齢+1)」を全員分です。
発生している問題・エラーメッセージ
実行結果ステータス:Runtime error 実行時エラーメッセージ: PHP Notice: Undefined offset: 1 in /workspace/Main.php on line 8 PHP Notice: Undefined offset: 1 in /workspace/Main.php on line 8 PHP Notice: Undefined offset: 1 in /workspace/Main.php on line 8 … が繰り替えされる 実行結果:Yamada 31 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 … 1が繰り返される。
該当のソースコード
PHP
1 $N = fgets(STDIN); 2 for ($i = 1; $i = $N; $i++) { 3 $employee_{$i} = explode(" ", fgets(STDIN)); 4 $age_{$i} = (int)$employee_{$i}[1] + 1; 5 echo $employee_{$i}[0]." ".$age_{$i}; 6 break; 7 }
試したこと
先日教えていただいた(int)を使って、解決できるかと思ったのですが、うまくいきませんでした。
また年齢は足されているのに、その後1が文字列として結合されているのでbreak;で止めれば良いのかと思ったのですが、3行目以降の出力も止まってしまいます。
また超初心者的な内容で申し訳ないですが、ぜひよろしくお願いいたします。
補足
追記以来でご指摘いただいた点を補足します。
こちらの問題はpaizaというサイトのpaizaラーニングにある、レベルアップ問題集のものです。
レベルアップ問題集を開くと、トップに
「このコーナーでは、プログラミングスキルを伸ばしたい方向けに問題セットを用意しました。
プログラムを書けるようになるための一番の近道はたくさんコードを書くことです。
自分の実力や目的に合わせて問題を選び、レベルアップを目指しましょう。
なお、このコーナー内の問題については、ユーザー同士で解答を教え合ったり、コードを公開したりするのは自由としています。
授業や研修にもご利用いただけますので、ぜひ教材などにもお使いください。」
(以下URL↓)
https://paiza.jp/works/mondai
とありますので、paizaで有名なスキルチェックとは性質が異なることがわかります。
SNS等の質問は大丈夫です。
ぜひご回答お願いします!!
回答1件
あなたの回答
tips
プレビュー