総合問題
総合問題
1. プログラム例(最大値検索)
<?php
header("Content-Type: text/plain; charset=X-SJIS");
$fp = fopen("sample.txt", "r");
$num = 0;
while(fscanf($fp, "%d %d %f", $name[$num], $popu[$num], $area[$num]) > 0) {
printf ("%d\t%5d\t%12.1f\n", $name[$num], $popu[$num], $area[$num]);
$num ++;
}
printf ("\nnum = %d\n", $num);
fclose($fp);
$pmax = $popu[0];
for($i=1; $i<$num; $i++) {
if($pmax < $popu[$i]) {
$pmax = $popu[$i];
$maxnum = $i;
}
}
printf ("Max = %d\t%5d\t%5.1f\n", $name[$maxnum], $popu[$maxnum], $area[$maxnum]);
?>
2. プログラム例(並べ替え)
<?php
header("Content-Type: text/plain; charset=X-SJIS");
$fp = fopen("sample.txt", "r");
$num = 0;
while(fscanf($fp, "%d %d %f", $name[$num], $popu[$num], $area[$num]) > 0) {
printf ("%d\t%5d\t%12.1f\n", $name[$num], $popu[$num], $area[$num]);
$num ++;
}
printf ("\nnum = %d\n", $num);
fclose($fp);
for($j=0; $j<$num; $j++) {
$pmax = $popu[$j];
for($i=$j+1; $i<$num; $i++) {
if($pmax < $popu[$i]) {
$pmax = $popu[$i];
$popu[$i] = $popu[$j];
$popu[$j] = $pmax;
}
}
}
for($i=0; $i<$num; $i++) {
printf ("%5d\n", $popu[$i]);
}
?>
並べ替えのアルゴリズムは,他にもたくさんある.今回は最大値検索のアルゴリズムを応用して作ったものだが,他のアルゴリズムについても勉強して欲しい.
例題を改良し,人口密度の大きい順に県の番号,人口,人口密度を出力プログラムを作成しなさい.
出力は,県の番号,人口,人口密度の順で出力されるものとする.
変更したプログラムは,"p08.php"という名前で保存しなさい.
保存場所は,~/local_html/Program/p08.php
このプログラムをWebブラウザで確認しなさい
課題