したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

プログラム貼り付け用

1魚雷:2005/10/25(火) 14:01:08
program turukame;

{$APPTYPE CONSOLE}

uses
SysUtils;

var a,b,c,d:integer;
begin
writeln('鶴亀算問題を解きます。');
writeln('頭の総数を入力してください。');
readln(a);
writeln('次に足の総数を入力してください。');
readln(b);
c:=(b-2*a) div 2;
d:=(4*a-b) div 2;
writeln('鶴の頭数は', c,'で、亀の総数は', d,'ですね、簡単ですよ。hahaha');

readln
end.

2tori:2005/10/25(火) 14:03:09
program sum;

{$APPTYPE CONSOLE}

uses
SysUtils;

var a, b, c ,d : integer;
begin
write('頭の数と足の数は?:');
readln(a,b);
c:=(b-2*a)div 2;
d:=(4*a-b)div 2;
writeln('鶴は',c,'羽、亀は',d,'匹です');
readln
end.

3ぎょ:2005/12/20(火) 13:01:16
3×3行列の逆行列を求めるプログラムを作成する。
プログラム中には,1)条件判定,2)繰り返し,3)配列の3つを必ず用いること。
実行画面は,
1 2 -1
1 1 2
2 4 -3

1 2 3
4 5 6
7 8 9
の2つの行列について示すこと。
提出期限は,2006年1月17日(授業時間中に提出)

4ぎょらい:2005/12/20(火) 14:15:11
とりあえず2行2列のやつを。

program gyouretu1;

{$APPTYPE CONSOLE}

uses
SysUtils;

var a,b:array[1..2,1..2] of real;
i,j:integer;
s:real;
begin
{第1部 行列aの入力}
for i:=1 to 2 do
for j:=1 to 2 do
begin
write('a[',i,',',j,']=');
readln(a[i,j]);
end;
{第2部 逆行列bの計算}
for i:=1 to 2 do
s:=a[1,1]*a[2,2]-a[1,2]*a[2,1];
if s=0 then
writeln('逆行列は存在しません')
else
b[1,1]:=a[2,2]/s;
b[1,2]:=-s*a[1,2]/s;
b[2,1]:=-s*a[2,1]/s;
b[2,2]:=s*a[1,1]/s;
readln;

{第3部 行列aの出力}
writeln('行列aは');
for i:=1 to 2 do
begin
for j:=1 to 2 do write(a[i,j]:10:1);
writeln;
end;
readln;
{第4部 行列bの出力}
writeln('逆行列bは');
for i:=1 to 2 do
begin
for j:=1 to 2 do write(b[i,j]:10:1);
writeln;
end;
readln;
end.

あってるかどうかはわかりません。

5名無しさん:2006/01/10(火) 13:22:18
http://www.cvl.iis.u-tokyo.ac.jp/~miyazaki/tech/tech23.html

6ギョラアアアア:2006/01/10(火) 13:50:32
作ったけど動かん。
動くようにして。

program gyouretu2;

{$APPTYPE CONSOLE}

uses
SysUtils;

var a,b,c:array[1..3,1..3] of real;
i,j,k:integer;
s:real;
begin
{第1部 行列aの入力}
for i:=1 to 3 do
for j:=1 to 3 do
for k:=1 to 3 do
begin
write('a[',i,',',j,',',k,']=');
readln(a[i,j,k]);
end;
{第2部 逆行列bの計算}
for i:=1 to 3 do
s:=a[1,1]*a[2,2]*a[3,3]+a[2,1]*a[3,2]*a[1,3]+a[3,1]*a[1,2]*a[2,3]
-a[3,1]*a[2,2]*a[1,3]-a[2,1]*a[1,2]*a[3,3]-a[1,1]*a[3,2]*a[2,3];
if s=0 then
writeln('逆行列は存在しません')
else

b[1,1]:=(a[2,2]*a[3,3]-a[2,3]*a[3,2])/s;
b[2,1]:=(a[1,3]*a[3,2]-a[1,2]*a[3,3])/s;
b[3,1]:=(a[1,2]*a[2,3]-a[1,3]*a[2,2])/s;
b[1,2]:=(a[2,3]*a[3,1]-a[2,1]*a[3,3])/s;
b[2,2]:=(a[1,1]*a[3,3]-a[1,3]*a[3,1])/s;
b[3,2]:=(a[1,3]*a[2,1]-a[1,1]*a[2,3])/s;
b[1,3]:=(a[2,1]*a[3,2]-a[2,2]*a[3,1])/s;
b[2,3]:=(a[1,2]*a[3,1]-a[1,1]*a[3,2])/s;
b[3,3]:=(a[1,1]*a[2,2]-a[1,2]*a[2,1])/s;

readln;

{第3部 行列aの出力}
writeln('行列aは');
for i:=1 to 3 do
begin
for j:=1 to 3 do
for k:=1 to 3 do write(a[i,j,k]:10:1);
writeln;
end;
readln;
{第4部 行列bの出力}
writeln('逆行列bは');
for i:=1 to 3 do
begin
for j:=1 to 3 do
for k:=1 to 3 do write(b[i,j,k]:10:1);
writeln;
end;
readln;

7さむそん:2006/01/10(火) 14:11:11
よく見たらkって必要なくない?

8ギョラアアアア:2006/01/10(火) 14:12:27
まじやん!!さむそんサンクス!

↓完全版↓
program gyouretu2;

{$APPTYPE CONSOLE}

uses
SysUtils;

var a,b:array[1..3,1..3] of real;
i,j,k:integer;
s:real;
begin
{第1部 行列aの入力}
for i:=1 to 3 do
for j:=1 to 3 do
begin
write('a[',i,',',j,']=');
readln(a[i,j]);
end;
{第2部 逆行列bの計算}
for i:=1 to 3 do
s:=a[1,1]*a[2,2]*a[3,3]+a[2,1]*a[3,2]*a[1,3]+a[3,1]*a[1,2]*a[2,3]
-a[3,1]*a[2,2]*a[1,3]-a[2,1]*a[1,2]*a[3,3]-a[1,1]*a[3,2]*a[2,3];
if s=0 then
writeln('逆行列は存在しません')
else

b[1,1]:=(a[2,2]*a[3,3]-a[2,3]*a[3,2])/s;
b[2,1]:=(a[1,3]*a[3,2]-a[1,2]*a[3,3])/s;
b[3,1]:=(a[1,2]*a[2,3]-a[1,3]*a[2,2])/s;
b[1,2]:=(a[2,3]*a[3,1]-a[2,1]*a[3,3])/s;
b[2,2]:=(a[1,1]*a[3,3]-a[1,3]*a[3,1])/s;
b[3,2]:=(a[1,3]*a[2,1]-a[1,1]*a[2,3])/s;
b[1,3]:=(a[2,1]*a[3,2]-a[2,2]*a[3,1])/s;
b[2,3]:=(a[1,2]*a[3,1]-a[1,1]*a[3,2])/s;
b[3,3]:=(a[1,1]*a[2,2]-a[1,2]*a[2,1])/s;

readln;

{第3部 行列aの出力}
writeln('行列aは');
for i:=1 to 3 do
begin
for j:=1 to 3 do write(a[i,j]:10:1);
writeln;
end;
readln;
{第4部 行列bの出力}
writeln('逆行列bは');
for i:=1 to 3 do
begin
for j:=1 to 3 do write(b[i,j]:10:1);
writeln;
end;
readln;
end.

9tori:2006/01/10(火) 14:12:48
自作自演乙


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板