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

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

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

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

2回答

496閲覧

多次元配列プログラミングでちゃんとした出力が出来ない

524016

総合スコア0

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

0クリップ

投稿2020/07/16 02:15

前提・実現したいこと

多次元配列プログラミングでちゃんとした出力が出来ない

発生している問題・エラーメッセージ

実行結果で、不要なJ列が一つ発生している
実行結果に、値がはまらない

エラーメッセージ

該当のソースコード

#include<stdio.h>

int main(void)

{

int taizyu,sinryo,i,j; int t[2][1]; for(i=0;i<2;i++) { for(j=0;j<1;j++) { printf("学生%d",i+1); printf("%d:\n",j+1); scanf("患者%dの体重%s(kg)と身長%s(cm)を入力(カンマ区切り)",&t[i][j]); } } for(i=0;i<2;i++) t[i][1]=0; for(j=0;j<1;j++) t[1][j]=0; i=0; while(i<2) { j=0; while(j<1) { t[i][2]+=t[i][j]; t[1][j]+=t[i][j]; j++; } i++; } printf("\t 体重 \t 身長\n"); for(i=0;i<3;i++) printf("患者%d \t%d \t%d \t%d\n",i+1,t[i][0],t[i][1]); printf("%d \t%d\n",t[2][0],t[1][0]);

}

ソースコード ```C ### 試したこと ここに問題に対して試したことを記載してください。 []の中の数字を変えてみたりしたのですが解決できず ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。

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

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

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

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

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

DreamTheater

2020/07/16 02:22

・コードをインデントする。 ・マークダウンの<CODE>で記述する。 先ずは上記を行いましょう。 人にコードを読んでもらうのなら最低限のマナーですよ。
guest

回答2

0

配列の要素数と実際に参照している要素の数が一致していない。

t[2] と定義すれば、使える要素は t[0] t[1] の2つです。
t[2][1] の定義も、t[0][0] t[1][0] の2つです。

以上のことから、

t[i][2]+=t[i][j];

t[i][2] は存在しない要素。

for(i=0;i<3;i++) printf("患者%d \t%d \t%d \t%d\n",i+1,t[i][0],t[i][1]);

t[0][1] t[1][1] t[2][0] t[2][1] は存在しない要素

printf("%d \t%d\n",t[2][0],t[1][0]);

t[2][0] は存在しない要素。

全体的に見直しを。

投稿2020/07/16 04:36

ttyp03

総合スコア16998

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

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

524016

2020/07/16 05:19

ご指摘ありがとうございます。 頑張って修正していきます。
guest

0

t[i][2]+=t[i][j];

配列の範囲を超えてます。
不正アクセスですね

投稿2020/07/16 02:21

y_waiwai

総合スコア87774

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

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

524016

2020/07/16 05:19

ご指摘ありがとうございます。 頑張って修正していきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問