質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

Q&A

解決済

2回答

8086閲覧

二次元配列の入出力

ristori

総合スコア17

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

0グッド

0クリップ

投稿2015/01/02 13:16

度々すいません。二次元配列入出力についての質問です。
n(任意)人の身長と体重をキーボードから読み込み、2次元配列に蓄えたうえで、その内容を入力順に出力するプログラムを作りたいのですが次のソースコードではうまく動きません。改良すべき点を教えて下さい。言語はC++です。

lang

1#include <iostream> 2#include <math.h> 3 4using namespace std; 5int main() { 6 int nofc=100; 7 double imm[nofc][2]; 8 int i=0; 9 while(cin>>imm[nofc][2]){ 10 cin>>imm[i][0]; 11 cin>>imm[i][1]; 12 i++; 13 } 14 15 16 int j= sizeof(imm) / sizeof(imm[0]); 17 for (int k = 0; k < j; k++) { 18 cout<<imm[k][0] << endl; 19 cout<<imm[k][1] << endl; 20 } 21}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

lang

1#include <iostream> 2#include <math.h> 3 4using namespace std; 5int main() { 6 int nofc = 100; 7 double imm[nofc][2]; 8 9 int i = 0; 10 while (i < nofc) { 11 cout << "身長と体重は? (0 なら 入力終了)\n"; 12 cin >> imm[i][0]; 13 if (cin.eof() || imm[i][0] == 0) { 14 break; 15 } 16 cin >> imm[i][1]; 17 18 i++; 19 } 20 21 cout << "データ内容の出力" << endl; 22 for (int k = 0; k < i; k++) { 23 cout << k << ": " << imm[k][0] << ", " << imm[k][1] << endl; 24 } 25}

実行例

$ g++ array2.c++ $ ./a.out 身長と体重は? (0 なら 入力終了) 180 80 身長と体重は? (0 なら 入力終了) 150 55 身長と体重は? (0 なら 入力終了) 0 データ内容の出力 0: 180, 80 1: 150, 55

投稿2015/01/02 18:39

katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ristori

2015/01/03 14:05

非常に読みやすいです。ありがとうございました。これを元にもう一度コードを書いてみます。
guest

0

while(cin>>imm[nofc][2]){
cin>>imm[i][0];
cin>>imm[i][1];
i++;
}
どういう処理をしたいのか詳しくわかりませんが
この文のwhileの条件式をかえれば良いと思います。
例えば
while ( i < nofc )
とか

投稿2015/01/02 15:31

juncoin

総合スコア31

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ristori

2015/01/03 14:07

入力がある限り配列に入力するループを続けるという意味でwhile(cin>>imm[nofc][2])としていました。ここの表記を変えてもう一度書き直してみます。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問