最高値の求め方が分かりません

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ぽんちょ

最高値の求め方が分かりません

#1

投稿記事 by ぽんちょ » 15年前

初めて質問させていただきます。
今年の4月からプログラミングを習い始めました。
現在はプログラミング初級を学んでいます。

最高気温を表示させるというプログラムなのですが
実行した時に最高気温が0.0と表示されてしまいます。
エラーは出ていないのですが出来ないので質問させていただきました。
BCC Developerを使って学んでいます。


OS:Vista
コンパイラ:bcc32


初投稿なので至らない部分があるかもしれませんがよろしくお願いします。

#include	<stdio.h>

float get_max(float *tblp, int cnt);

main(void)
{
	float kion[31]={22.9, 27.1, 30.0, 26.3, 24.9, 35.0, 33.7,  
    		  28.5, 30.1, 32.4, 28.9, 29.0, 29.9, 32.6, 
                    30.5, 30.8, 31.7, 29.3, 30.8, 28.1, 29.7,  
                    31.1, 34.6, 34.9, 31.9, 25.3, 27.8, 30.3, 
                    32.2, 32.9, 27.1 };
	int max_indx;
	
	max_indx=get_max(kion,31);
	printf("最高気温は%3.1fです\n",max_indx);
}

float get_max(float *tblp, int cnt)
{
	int i,max_i;
	float *wp;
	
	wp=tblp;
	max_i=0;
	
	for(i=0;i!=cnt;i++){
		if(*tblp>=*wp){
			wp=tblp;
			max_i=i;
		}
	tblp++;
	}
	return max_i;

}


get_max部が間違っているのではないかと思うのですが
よく解らないので教えてください。

よろしくお願いします!

kazuoni

Re:最高値の求め方が分かりません

#2

投稿記事 by kazuoni » 15年前

printf("最高気温は%3.1fです\n",kion[max_indx]);
ですね^^;

box

Re:最高値の求め方が分かりません

#3

投稿記事 by box » 15年前

提示されたソースをそのままコンパイルすると、

>	float kion[31]={22.9, 27.1, 30.0, 26.3, 24.9, 35.0, 33.7

この行の最後にカンマがないため、コンパイルエラーが出ます。
よって、

>実行した時に最高気温が0.0と表示されてしまいます。

このようにはなりません。
実行したときに最高気温を0.0と表示するソースを、
そのままコピー&ペーストして提示してください。

ぽんちょ

Re:最高値の求め方が分かりません

#4

投稿記事 by ぽんちょ » 15年前

>kazuoniさん
おかげで出来ました。
よく考えてみると返している値はiの部分だけだったんですね。
納得しました!
ありがとうございました!

>boxさん
コピー&ペーストはしたのですが、
打っている時に消してしまったみたいです^^;
すみませんでした。
ありがとうございました!

閉鎖

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