配列2

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
みー
記事: 4
登録日時: 3ヶ月前

配列2

#1

投稿記事 by みー » 3ヶ月前

goukeiは、どの場所に置けば良いのですか。
添付ファイル
E5F8EA2D-3C2C-42B3-A3D3-82DD54B2D48A.jpeg

アバター
みけCAT
記事: 6134
登録日時: 8年前
住所: 千葉県
連絡を取る:

Re: 配列2

#2

投稿記事 by みけCAT » 3ヶ月前

goukeiの要素数は十分小さくなりそうなので、
ヒープでもスタックでも静的変数の領域(.dataセクションか.bssセクション?)でも、
好きな場所に置けば良いと思います。

採点する先生の好みやこだわりなどによっては、
それに反する場所に置くと怒られたり不正解や減点になったりする可能性も考えられますが、
こちらではそこまではわかりません。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

Math

Re: 配列2

#3

投稿記事 by Math » 3ヶ月前

このようにすれば良いでしょう。

[ VS2017Community 開発者コマンドプロンプト(x64)]

main.c

コード:

#include <stdio.h>

int main(void)
{
	int a[5]={75,20,45,12,63};
	int b[5]={68,43,70,53,44};

	int goukei[5];

	int i;
	int j;
	int tmp;

	for(i=0;i<5;i++){
		
		goukei[i]=a[i]+b[i]; /* 合計 */
	}
	
	/* ソート::並べ替え */

	for(i=5-1; i>0; i--){

		for(j=0; j<i; j++){

			if(goukei[j] < goukei[j+1]){


				tmp=goukei[j]; goukei[j]=goukei[j+1]; goukei[j+1]=tmp;

			}

		}

	}


	for(i=0;i<5;i++){
		
		printf("%d\n",goukei[i]);
	}

	return 0;
}
 
c.bat

コード:

cl /TC main.c

dir main.exe

main.exe

pause

実行する。
http://www2.koyoen.birdview.co.jp/~abcx ... -15-a-.PNG

かずま

Re: 配列2

#4

投稿記事 by かずま » 3ヶ月前

問題文では「昇順に表示するプログラム」となっているのに、
「出力結果が降順になっている」のはおかしくないですか?
出題者に確認してください。

分からないのは、goukeiの置き場所だけですか?
分からないことをすべて書いてください。
分かる部分のプログラムを書いてください。
フォーラム(掲示板)ルールにしたがって質問してください。

Math

Re: 配列2

#5

投稿記事 by Math » 3ヶ月前

「学習用C言語開発環境 Ver 0.0.9.0」を使用してもそのまま実行出来ますよ

http://www2.koyoen.birdview.co.jp/~abcx ... -15-b-.PNG


(参照)
viewtopic.php?f=3&t=20575

Math

Re: 配列2

#6

投稿記事 by Math » 3ヶ月前

昇順、降順は

if(goukei[j] > goukei[j+1]){

の不等号の向きをかえるだけでいいですよ。

”大きいものを左にもっていく”

”小さいものを左にもっていく”

だからね。

http://www2.koyoen.birdview.co.jp/~abcx ... -15-c-.PNG

アバター
みけCAT
記事: 6134
登録日時: 8年前
住所: 千葉県
連絡を取る:

Re: 配列2

#7

投稿記事 by みけCAT » 3ヶ月前

オフトピック
問題の出力結果、よく見たら右揃えなんですね…
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

Math

Re: 配列2

#8

投稿記事 by Math » 3ヶ月前

viewtopic.php?f=3&t=20577

といい

出題者のセンスを疑うね(^^;

返信

“C言語何でも質問掲示板” へ戻る