![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
5×5の行列で〇がまわり4方向の値を4で割った値になる下のようなプログラムを書きたいです。
300 300 300 300 300
300 〇 〇 〇 300
300 〇 1200 〇 300
300 〇 〇 〇 300
300 300 300 300 300
実際に書いた結果
300 300 300 300 300
300 150 412 253 300
300 412 1200 438 300
300 253 438 369 300
300 300 300 300 300 という結果になりました。
正しくは
300 300 300 300 300
300 450 600 450 300
300 600 1200 600 300
300 450 600 450 300
300 300 300 300 300という値になるはずなのですが
反復計算が足りないと思うんですが、どのように変更したら反復回数を設定することができますか?
実際に書いたプログラムは
#include <stdio.h>
#define M 5
#define N 5
int main(void) {
/* 4行5列の行列 */
int mat[5][5];
int y, x;
for(y=0;y<5;y++){
for(x=0;x<5;x++){
mat[y][x]=0;
}
}
for(y=2;y<3;y++){
for(x=2;x<3;x++){
mat[y][x]=1200;
}
}
for(y=0;y<5;y++){
for(x=0;x<5;x++){
mat[y][x]=0;
if(x==0 || x == 4 || y==0 || y==4 ){
mat[y][x]=300;
}
}
}
for(y=0;y<5;y++){
for(x=0;x<5;x++){
}
}
for(y=0;y<5;y++){
for(x=0;x<5;x++){
mat[y][x]=0;
if( x==0 || x == 4 || y==0 || y==4 ){
mat[y][x]=300;
}
}
}
for(y=0;y<5;y++){
for(x=0;x<5;x++){
if(x==2&&y==2){
mat[y][x]=1200;
}
}
}
for(y=0;y<5;y++){
for(x=0;x<5;x++){
if( x!=0 && x != 4 && y!=0 && y!=4 ){
mat[y][x]=(mat[y-1][x]+mat[y+1][x]+mat[y][x-1]+mat[y][x+1])/4;
}
if(x==2&&y==2){
mat[y][x]=1200;
}
}
}
for(y=0;y<5;y++){
for(x=0;x<5;x++){
printf( "%3d ", mat[y][x]);
}
printf("\n");
}
return 0;
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- C言語・C++・C# 並列プログラミングのπ計算について 1 2022/07/16 22:30
- C言語・C++・C# LU分解法のピボッティングについて(C言語/gcc-9) 3 2022/07/11 23:10
- C言語・C++・C# LU分解法のピボット選択機能実装について(C言語・gcc-9) 1 2022/07/22 15:20
- C言語・C++・C# C 言語の Gauss Jordan 法について 2 2022/12/28 11:16
- C言語・C++・C# 10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、以下のプログラムをどう直せ 1 2022/07/09 22:16
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- C言語・C++・C# プログラミング実行後に表示される値を答えよ #include <stdio.h> void main 4 2022/05/28 10:20
- その他(プログラミング・Web制作) 十進BASICでの再帰についての質問です。 2 2022/11/18 09:17
このQ&Aを見た人はこんなQ&Aも見ています
-
「どうして捨てられないの?」前妻の物を捨てられない男性の心理って?
前妻の物を捨てられない理由に加え、捨てるための手段はあるのかを専門家に聞いてみた!
-
c言語
C言語・C++・C#
-
これなにがちがうんですか??
C言語・C++・C#
-
プログラミング言語の制作方法について
C言語・C++・C#
-
-
4
VisualStudio2022でC言語プログラムで全角文字を使用すると不明なエラーが表示される
C言語・C++・C#
-
5
c言語
C言語・C++・C#
-
6
gccを行ってもexeファイルが生成されない
C言語・C++・C#
-
7
こんなことてしますか??
C言語・C++・C#
-
8
mallocについて
C言語・C++・C#
-
9
[C言語]fputsとfprintfの違い
C言語・C++・C#
-
10
C言語って古いですか?
C言語・C++・C#
-
11
chatgptでつくってもらったコードとかって頭のいい人はみるとわかりますか?
C言語・C++・C#
-
12
Int('1234') で、strをかんたんに整数で扱えちゃうパイソンはどうなってるんですか?
C言語・C++・C#
-
13
どなたかこのプログラミングを完成させて欲しいです。 ヒントはこちらです↓ 青色:ゲームプログラムのル
C言語・C++・C#
-
14
卒業研究でよく分からないところがあるので教えて欲しいです。 インバータ用組み込みソフトウェア開発シス
C言語・C++・C#
-
15
C言語 列挙型(enum型)変数について
C言語・C++・C#
-
16
C言語の関数と配列に関する質問
C言語・C++・C#
-
17
Stuck
C言語・C++・C#
-
18
C言語 配列と関数の練習問題
C言語・C++・C#
-
19
C言語をコンパイルするとコンピュータ上でどう動くかというコードになるみたいな説明をよく聞くのですがこ
C言語・C++・C#
-
20
プログラミングについて。 1つのループで Aという計算と Bという計算をするのと これらを分けて2つ
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「指定されたキャストは有効で...
-
C言語での引数の省略方法
-
#define _CRT_SECURE_NO_WARNIN...
-
複数桁10進数の*桁目だけを抽出...
-
市松模様
-
数字列を3桁ごとにカンマで区切...
-
PowerShellがうまくいかない
-
C言語初心者です、、、お助けく...
-
C言語 エラーの原因がわからな...
-
c言語の配列を使ってサイコロを...
-
因数分解を行うプログラムについて
-
(マルチスレッド)_beginthrea...
-
acceptをalarmでタイムアウトさ...
-
【C++】関数ポインタの使い方
-
windows-findstrの正規表現を使...
-
このプログラミング誰か教えて...
-
質問項目をランダムで選択する...
-
エラー 添字が付けられた値が、...
-
並列プログラミングのπ計算につ...
-
c言語 プログラムのエラー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「指定されたキャストは有効で...
-
C言語での引数の省略方法
-
#define _CRT_SECURE_NO_WARNIN...
-
複数桁10進数の*桁目だけを抽出...
-
【C++】関数ポインタの使い方
-
C言語 エラーの原因がわからな...
-
c++でテンプレートのコードでわ...
-
(int *)の意味
-
ラップ関数とはどんなものですか?
-
数字列を3桁ごとにカンマで区切...
-
c言語のリダイレクトによる円...
-
比較回数と交換回数表示について
-
実数の整数部,小数部の取得
-
if と配列の組み合わせ
-
構造体の勉強中です 合計点の高...
-
PowerShellがうまくいかない
-
c言語の配列を使ってサイコロを...
-
課題でつまってます・・・
-
C言語のサイコロシミュレート
-
エラー 添字が付けられた値が、...
おすすめ情報