---
# System prepended metadata

title: 情報処理実習 第7回 質問回答ページ

---

# 情報処理実習 第7回 質問回答ページ

## リンク

- [repl.it](https://repl.it/~)
- [webEx](https://aoyamagakuin.webex.com/aoyamagakuin/j.php?MTID=mb3a4a40d55ceacab3076ccc050c86e5a)

## 質問&回答について

# 出席に関する質問に答えることは出来ません

レポートにきちんと取り組み毎回提出しているのであれば，
1回欠席扱いになっただけで不可になることはありませんので安心してください．

### 質問内容に必ず書くこと
質問の際は，必ず下の4点を書いてください．
- どの課題に関する質問か
- わかっていること
- 試してこと 
- そのうえでわからないこと
 
「どうしたらいいか？」という質問に答えることは出来ません．
自身で原因を探って意図通りに動くようにするのが実習内容です．

殆どのエラーはググれば説明が出てきます．
わからないことが起きた時はGoogle等で検索することを推奨します．

質問の内容によっては，「もう少し自力で考えてほしい（教科書・配布資料をよく読んでほしい，試行錯誤しながら自分のコードを触ってほしい）」「回答を控える」マークを回答状況ページにつける場合があります．

「質問番号n」の形で見出しをつけます．
基本的には新しい回答ほど上位に表示されます．
回答状況ページで回答状況を確認後，
Ctrl+F，Cmd+Fで自分の質問番号をページ内検索してください．
ただし，回答状況のH列は「回答書き込み完了」ではなく「**今から回答を行います**」の印です．

質問量に依っては「重複した質問」欄の更新が止まる場合があります．
そのため，重複した質問は回答の場所を検索出来ないことがあります．
また，質問する前に必ずこのページを見て，**類似の質問がないことを確認**してからGoogleフォームで質問を投稿してください．

質問と回答の例は以下の通りです．

### 質問番号0

>hogeがhogehogeの場合，hogehogehogeはhogeですか？

<!--質問は引用の形で書いてください-->

```C: main.c
#include <stdio.h>

int main(void) {
  printf("Hello World\n");
  return 0;
}
```

<!--必要に応じてコードや，エラーメッセージを書いてください-->



XXXがYYYなのでZZZをAAAするとBBBがCCCです．
重複した質問：質問番号i, 質問番号j,質問番号k

<!--学生さんが検索しやすいように，
    「重複した質問」欄も「質問番号n」の形で
    質問番号を書いてください．-->

<!--回答の手間を省くため，回答者と「質問」「回答」の見出しは不要です-->

--- 

<!--他の教員・TAさんと回答が重複することは全く問題ありません．
    文量は多いに越したことないので，
    気にせず回答をガシガシ書いてください-->

<!--基本的にはFIFOで回答をお願いします-->

<!--新しい質問に回答した時だけでなく，
    「重複した質問」欄に質問番号を追加しただけの場合も，
    スプレッドシートの「回答者」欄にチェックを入れてください．-->

<!--同じ質問が複数の箇所で回答されていることに気づいた方は
    積極的にマージしていってください．-->

<!--回答を書き終わったタイミングではなく，
    回答に取り掛かる段階で「回答者」欄にチェックを入れてください．
    そちらの方が教員・TAにとって楽だと思います．-->

<!--古いものほど下位に表示されるよう，最新の回答を
    この下に書いてください-->
 
### 質問番号11
 
>行列の要素を入力する回数を行列の要素の数より小さいというように設定したのですが、エラーが出ていないにもかかわらず、うまく条件が作用しません。

while()文の仕様をもう一度確認してください．


### 質問番号13

> なぜこのような実行結果になるのかが分かりません

配列に対する何らかの計算を行った結果として極端に大きな値が出てくる時は、配列において初期化されていない（値が入っていない）インデックスにアクセスしている可能性があります。
もう一度、確認してみてください。

### 質問番号11

>奇数と偶数に分ける方法が分かりません

あなたのコードで奇数と偶数に分けられています

### 質問番号10

> プログラムは実行例と全く一緒じゃないといけないのでしょうか。あくまで例なだけで、結果表示が形式は違くても同じであればいいのでしょうか？ よろしくお願いします。

全く同じである必要はありません。ただし、形式が異なる場合はレポートを書くときに作ったプログラムの出力結果の説明を書く必要があります。



### 質問番号7

>scanfで入力した際、改行しないようにするにはどうしたらいいですか。

scanf()で値を渡した後は，必ず改行されます．
しかし，課題の実行例のような実行画面になるコードを書くことは出来ます．

ベクトルの長さは，各ベクトルの各要素を入力する時点で既知です．


### 質問番号6

> 配列において初めから変数の個数が決まっていない場合の対処ほうがわかりません。

こちらが今回の課題のキモとなるため、直接回答することはできません。

ヒントとして

- 配列は事前に長さを決める必要がある
- 人間が入力する数もある程度限界がある (1万個とか入力する人は少ないでしょう)

ということを踏まえてもう一度考えてみてください。

### 質問番号5

>プログラムを実行しようとすると「exited, segmentation fault」と出てきてしまうのですが、どのように対処すれば良いのでしょうか？

どこの箇所でエラーが出ているのかと，
それまでの箇所で自分の意図通りのコードが書けているのかを
1行ずつ確認するのが良いかと思います．


### 質問番号4
> int number[4]; としたら,number[0]~number[3]の4つの箱ができると思うのですが[　]内を1~4にしても数値を引き出せました．number[4]という変数は登録していないはずなのに何故でしょうか．

以下はこの授業では扱わない範囲の内容です．
ただし，このあたりが一番最初に勉強する言語にC言語やC++が推される理由（の1つ）だと思うので，興味がある方は皆さんぜひ色々触ってほしいです．

より近いイメージでいうと，何もないところにnumberが4つの箱を出すイメージではなく，
たくさんの箱自体は既にPC内にあって
その中の4つを取ってきてnumberが0,1,2,3と名付けて専有しているイメージです．

numberとしては，3の隣を勝手に「4」と呼んで自分のもののように値を格納していますが，他の変数からするとその箱が4であることは知らないので，
その後の処理によってnumberが勝手に「4」と呼んでいる場所に別の値が格納される場合があります．

初期化していない変数に意図せぬ値が入っているのも，
「箱自体は既にPC内にあって，必要に応じて箱に名前をつけて専有している」というのと同じイメージで，前にその箱を使った処理の残したゴミのようなイメージです．


### 質問番号3

> 課題3に関して、入力される数字は奇数と偶数あわせて7個という認識で良いでしょうか。

いいえ。
