ForNext
Only Do What Only You Can Do
047. 配列の受け渡し
VBScript
JScript
Perl
更新日 : 2010.10.18
$NINSU = 5; sub max_of { (@vc) = @_; $no = $vc[0]; $max = $vc[1]; for (2..$no + 1) { $max = $vc[$_] if ($vc[$_] > $max); } return $max; } print "$NINSU人の点数を入力してください。\n"; for (0..$NINSU - 1) { printf("[%d] 英語:", $_ + 1); chomp($eng[$_] = <>); printf(" 数学:"); chomp($mat[$_] = <>); } $max_e = &max_of($NINSU, @eng); $max_m = &max_of($NINSU, @mat); printf("英語の最高点%d\n", $max_e); printf("数学の最高点%d\n", $max_m);
L:\>perl lesson_06_047.pl 5人の点数を入力してください。 [1] 英語:53 数学:82 [2] 英語:49 数学:35 [3] 英語:21 数学:72 [4] 英語:91 数学:35 [5] 英語:77 数学:12 英語の最高点91 数学の最高点82
PHP
更新日 : 2010.11.03
<?php $NINSU = 5; function max_of($no, $vc) { $max = $vc[0]; for ($i = 0; $i < $no; $i++) { if ($vc[$i] > $max) $max = $vc[$i]; } return $max; } print "$NINSU 人の点数を入力してください。\n"; $fp = fopen("php://stdin", "r"); for ($i = 0; $i < $NINSU; $i++) { printf("[%d] 英語:", $i + 1); $eng[$i] = rtrim(fgets($fp), "\n\r"); printf(" 数学:"); $mat[$i] = rtrim(fgets($fp), "\n\r"); } fclose($fp); $max_e = max_of($NINSU, $eng); $max_m = max_of($NINSU, $mat); printf("英語の最高点%d\n", $max_e); printf("数学の最高点%d\n", $max_m); ?>
L:\>php lesson_06_047.php 5 人の点数を入力してください。 [1] 英語:53 数学:82 [2] 英語:49 数学:35 [3] 英語:21 数学:72 [4] 英語:91 数学:35 [5] 英語:77 数学:12 英語の最高点91 数学の最高点82
Python
更新日 : 2010.11.17
# coding: Shift_JIS NINSU = 5 def max_of(no, vc): max = vc[0] for i in range(0, no, 1): if (vc[i] > max): max = vc[i] return max print "%d人の点数を入力してください。" % NINSU eng = [] mat = [] for i in range(0, NINSU, 1): print "[%d] 英語:" % (i + 1), eng.append(int(raw_input())) print " 数学:", mat.append(int(raw_input())) max_e = max_of(NINSU, eng) max_m = max_of(NINSU, mat) print "英語の最高点%d" % max_e print "数学の最高点%d" % max_m
N:\>python lesson_06_047.py 5人の点数を入力してください。 [1] 英語: 53 数学: 82 [2] 英語: 49 数学: 35 [3] 英語: 21 数学: 72 [4] 英語: 91 数学: 35 [5] 英語: 77 数学: 12 英語の最高点91 数学の最高点82
Ruby
更新日 : 2010.11.01
NINSU = 5 def max_of(no, vc) max = vc[0] for i in 1..(no - 1) max = vc[i] if (vc[i] > max) end return max end print "#{NINSU}人の点数を入力してください。\n" eng = [] mat = [] for i in 0..(NINSU - 1) printf("[%d] 英語:", i + 1) eng[i] = STDIN.gets.chomp.to_i printf(" 数学:") mat[i] = STDIN.gets.chomp.to_i end max_e = max_of(NINSU, eng) max_m = max_of(NINSU, mat) printf("英語の最高点%d\n", max_e) printf("数学の最高点%d\n", max_m)
L:\>ruby l:\lesson_06_047.rb 5人の点数を入力してください。 [1] 英語:53 数学:82 [2] 英語:49 数学:35 [3] 英語:21 数学:72 [4] 英語:91 数学:35 [5] 英語:77 数学:12 英語の最高点91 数学の最高点82
PowerShell
Scala
F#
C
更新日 : 2010.10.08
#include <stdio.h> #define NINSU 5 int max_of(int vc[], int no) { int i; int max = vc[0]; for (i = 1; i < no; i++) if (vc[i] > max) max = vc[i]; return max; } int main(int argc, char* argv[]) { int i; int eng[NINSU]; int mat[NINSU]; int max_e, max_m; printf("%d人の点数を入力してください。\n", NINSU); for (i = 0; i < NINSU; i++) { printf("[%d] 英語:", i + 1); scanf("%d", &eng[i]); printf(" 数学:"); scanf("%d", &mat[i]); } max_e = max_of(eng, NINSU); max_m = max_of(mat, NINSU); printf("英語の最高点%d\n", max_e); printf("数学の最高点%d\n", max_m); return 0; }
R:\>lesson047\project1.exe 5人の点数を入力してください。 [1] 英語:53 数学:82 [2] 英語:49 数学:35 [3] 英語:21 数学:72 [4] 英語:91 数学:35 [5] 英語:77 数学:12 英語の最高点91 数学の最高点82
C++
C++Builder
VC++
C#
Java
更新日 : 2010.11.05
import java.util.Scanner; class Lesson047 { static final int NINSU = 5; public static void main(String[] args) { int[] eng = new int [NINSU]; int[] mat = new int [NINSU]; System.out.printf("%d人の点数を入力してください。\n", NINSU); Scanner stdIn = new Scanner(System.in); for (int i = 0; i < NINSU; i++) { System.out.printf("[%d] 英語:", i + 1); eng[i] = stdIn.nextInt(); System.out.printf(" 数学:"); mat[i] = stdIn.nextInt(); } int max_e = max_of(eng, NINSU); int max_m = max_of(mat, NINSU); System.out.printf("英語の最高点%d\n", max_e); System.out.printf("数学の最高点%d\n", max_m); } static int max_of(int vc[], int no) { int max = vc[0]; for (int i = 1; i < no; i++) if (vc[i] > max) max = vc[i]; return max; } }
L:\>java Lesson047 5人の点数を入力してください。 [1] 英語:53 数学:82 [2] 英語:49 数学:35 [3] 英語:21 数学:72 [4] 英語:91 数学:35 [5] 英語:77 数学:12 英語の最高点91 数学の最高点82
Objective-C
D
VB
VB.NET
Delphi
更新日 : 2010.09.24
program Project1; {$APPTYPE CONSOLE} uses SysUtils; function max_of(vc:array of Integer): Integer; var i: Integer; begin result := vc[0]; for i := Low(vc) to High(vc) do if vc[i] > result then result := vc[i]; end; const NINSU = 5; var i: Integer; eng: array[1..NINSU] of Integer; mat: array[1..NINSU] of Integer; max_e, max_m: Integer; begin writeln(format('%d人の点数を入力してください。', [NINSU])); for i := 1 to NINSU do begin write(format('[%d] 英語:', [i])); read(eng[i]); write(' 数学:'); read(mat[i]); end; max_e := max_of(eng); max_m := max_of(mat); writeln(format('英語の最高点%d', [max_e])); writeln(format('数学の最高点%d', [max_m])); end.
S:\>lesson047\project1.exe 5人の点数を入力してください。 [1] 英語:53 数学:82 [2] 英語:49 数学:35 [3] 英語:21 数学:72 [4] 英語:91 数学:35 [5] 英語:77 数学:12 英語の最高点91 数学の最高点82