前提・実現したいこと
ここに質問の内容を詳しく書いてください。
構造体配列を利用し,最も濃度の高い食塩水を計算・表示する,というプログラムを作りたい
水はは乱数で100500, 食塩は0水未満の値で初期化をする.
プログラムは書いたものの,浮動小数点例外(コアダンプ)とエラーが出てしまいます.
どこがおかしいのでしょうか?
発生している問題・エラーメッセージ
浮動小数点例外(コアダンプ)
該当のソースコード
#include<stdio.h> #include<stdlib.h> struct salt_solution { int water; int salt; }; int main(void){ int i; struct salt_solution list[10]; struct salt_solution max_salineCo = list[0]; int random_water = rand() % 500 + 100; int random_salt = rand() % random_water + 0; list[i].water = random_water; list[i].salt = random_salt; for(i = 0; i < 10; i++){ if((max_salineCo.salt / (max_salineCo.salt + max_salineCo.water))*100 < (list[i].salt / (list[i].salt + list[i].water))*100){ max_salineCo = list[i]; } } printf("最も濃度の高い食塩水は%dです。\n", max_salineCo); return 0; }
試したこと
色々変えたりしましたがなおりませんでした.
補足情報(FW/ツールのバージョンなど)
emacsを利用してます.
そもそもの問題の内容ですが、
> 最も濃度の高い食塩水を計算・表示する
水に食塩を溶かしていくと、一定量を超えると飽和してそれ以上は溶けなくなります。つまり、ある量以上はみな「食塩水の濃度」は一定になってしまうのですが、その量はどのように扱いますか?
それが与えられていないなら「解けない(溶けない?)問題」としてポイコットするという手も...