ぼるじょあがC/C++の ..
[2ch|▼Menu]
49:デフォルトの名無しさん
07/06/08 22:56:31
[1] 授業単元:基本プログラミング
[2] 問題文(含コード&リンク):
関数f(x)は次式で与えられる。
f(x)=x+x*x/4+x*x*x/9+……+xのn乗/n*n+……
上式右辺の無限級数は、第n項(xのn乗/n*n)の絶対値が最初に0.000001より小さく
なる項までの和で打ち切っても近似的には問題ないものとする。
x=0.1, 0.2, 0.3, 0.4, …, 0,9, 1におけるf(x)の値を計算して表示するプログ
ラムをつくれ。
[実行例]
f(0.1)=0.202618
f(0.2)=0.411004
f(0.3)=0.626129
f(0.4)=0.849283


f(0.9)=2.19971
f(1)=2.64393

[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン: gcc 3.4
 [3.3] 言語: C++
[4] 期限:6月10日まで
[5] その他の制限:
do while文でお願いします。

50:デフォルトの名無しさん
07/06/08 23:00:32
>>49
マルチ(・A ・)イクナイ!

51:デフォルトの名無しさん
07/06/08 23:14:24
[3]宿題ってか
3つの引数使いたいんですが
visualC++で
error C2660: 'initFld' : 関数に 3 個の引数を指定できません。
てエラーが… パソコン全くダメなんでやヴぁいです(’д`)
死ぬ




52:デフォルトの名無しさん
07/06/08 23:19:11
(・3・)エェー 死ねYO

53:デフォルトの名無しさん
07/06/08 23:33:58
冷たい(◎д◎)!
教えて!

54:デフォルトの名無しさん
07/06/09 00:10:45
>>49

#include <cstdio>

double f(double x) {
double y=x,z=1,i=3,r=0,n;
do {
n=y/z;
r+=n;
z+=i;
i+=2;
y*=x;
} while(n>=0.000001);
return r;
}

int main(void) {
int i=1;
do {
printf("f(%.1f)=%f\n", i/10.0, f(i/10.0));
} while(++i<=10);
return 0;
}


55:デフォルトの名無しさん
07/06/09 00:34:00
[1] 授業単元:C言語によるプログラミング入門
[2] 問題文(含コード&リンク):
演習課題1:次の関数がどのような値を返すか確かめるプログラム(main関数)を作成し実行せよ。考察も書くこと。
int myreturn(){
return 0;
return 1;
}

演習課題2:次の二つの関数が同じ働きであることを理解させるプログラム(main関数)を作成し実行せよ。

int myfactorial1(int i){
int j,a;
if (i<0) return (0);
if (i<2) return (1);
a=1;
for(j=1;j<i+1;j++)
a=a*j;
return a;
}

int myfactorial2(int i){
if (i<0) return 0;
if (i<2) return 1;
return (i*myfactorial2(i-1));
}

[3] 環境
 [3.1] OS: Windows
 [3.2] Cygwin 1.5.24-2
 [3.3] 言語:C言語
[4] 期限:6月13日の水曜日まで
[5] その他の制限:今日はじめてreturn文を習いました。そのレベルでよろしくお願いします

56:54
07/06/09 10:48:28
しもた
using namaspace std;
を書き忘れた。

57:デフォルトの名無しさん
07/06/09 13:31:42
>>56
別にいらんやん

58:デフォルトの名無しさん
07/06/09 15:18:27
>>57
規格上は必要

59:デフォルトの名無しさん
07/06/09 15:36:26
>>58
は??
<cstdio>内を読んでみることをお勧め

60:デフォルトの名無しさん
07/06/09 16:44:11
>>56-59
規格が読み難い文章だけど>>56は誤りっぽいな

「JISX3014 附属書D(規定) 互換性」より抜粋

D.5 標準Cライブラリヘッダ
標準Cライブラリとの互換性のため、C++標準ライブラリは、表100に示す18個
の言語Cのヘッダを提供している。

表100 言語Cのヘッダ
<assert.h> <iso646.h> <setjmp.h> <stdio.h> <wchar.h>
<ctype.h> <limits.h> <signal.h> <stdlib.h> <wctype.h>
<errno.h> <locale.h> <stdarg.h> <string.h>
<float.h> <math.h> <stddef.h> <time.h>

それぞれのCヘッダは、その名前をnameとしたとき"name.h"の形式をしている。
それぞれに対応して、標準C++ライブラリの名前空間内に置かれた"cname"とい
うヘッダが、名前空間stdの名前空間有効範囲の中にも置かれ、その後に明示的
に《using指令》(7.3.3)が指定されているかのように振る舞う。


ヘッダ<cstdlib>は、名前空間stdの中に、その宣言及び定義を提供する。
ヘッダ<stdlib.h>は、C標準と同じく、これらを大域的名前空間でも利用
可能にする。

61: ◆wSaCDPDEl2
07/06/09 17:18:57
別のところが険悪ムードで少しまずいと思ったのでお答えいただけませんか/

[1] 授業単元: コンピュータ・C言語
[2] 問題文:
ファイルからデータを読み込み、pointが85以上、gpa<2,0のデータだけを表示しなさい。

続いて、(1)ファイルの内容を全て表示し、次に上記の条件に合致するデータだけを別ファイルに書き出し
さらにこのファイルを読み込んで表示せよ。

最後に、point、gpaの平均を計算して同じファイルのデータ後に書き出し、そのファイル内容を読み込み表示せよ。
(つまり2.3,4を表示)
x-file.tex↓

1 alice 48 3.6
2 bob 88 3.2
3 charlie 69 1.8
4 dick 100 3.9
5 bomb 3 0.4
[3] 環境
 [3.1] OS: Windows XP
 [3.2] コンパイラ: Visual Studio 2005またはgcc
 [3.3] 言語: C++
[4] 期限: 6/11 まで
[5] その他の制限: 配列でdefineで文字を定義して使うか、for loopで製作する

62:ぼるじょあ ◆hZ8e4Wjqvw
07/06/09 19:47:16
>>61
(・3・) エェー 「このファイル」っていうのは「ファイル」?「別ファイル」?
          「同じファイル」ってどのファイル?
          問題の意味がよく分からないYO!
          それぞれのファイルに名前をつけてくれYO!
          ファイルのフォーマットが分からないYO!
          point および gpa の取り得る値の範囲も分からないYO!

例)
ファイルA を読み込み、上記の条件に合致するデータだけを ファイルB に書き出す
ファイルB の内容を標準出力に出力する
ファイルA 中の point, gpa それぞれの平均値を計算して、ファイルA の最後に追記する
ファイルA の内容を標準出力に出力する

63:ぼるじょあ ◆hZ8e4Wjqvw
07/06/09 20:02:30
>>46
(・3・) エェー 期限過ぎてるから解いても無駄かNA?

64: ◆wSaCDPDEl2
07/06/09 20:17:20
すいません分けて書いたほうがよかったかもしれません
(問題1)X-fileを読み込んでpointが85以上、gpa<2,0のデータだけを表示しなさい。
(つまり2.3,4を表示するようにしなさい)というもので

(問題2)続いて、1・x-fileの内容を全て表示する。2・問題1の条件に当てはまるものを別のファイル(Bファイル)に書き込む。3・Bファイルを読みこんで表示する。

(問題3)X-FILEを読みこんでpointとgpaの平均を計算して同じファイルの元のデータの後に書き出し、さらにそのファイル内容を表示。
(x-fileに平均を書き、平均が追加されたx-fileを表示せよ)

x-file
1 alice 48 3.6
2 bob 88 3.2
3 charlie 69 1.8
4 dick 100 3.9
5 bomb 3 0.4

わかりにくくてすみませんでした。

65: ◆wSaCDPDEl2
07/06/09 20:19:27
書き忘れました。x-fileはメモ帳で適当に(先生が)作ったテキストファイル(.tex)です。

66:ぼるじょあ ◆hZ8e4Wjqvw
07/06/09 20:47:45
>>61
(・3・) エェー どれが point で どれが gpa なのか分からんYO!
          合致するデータっていうのは 1 行丸ごとかYO!
          なんで 5 が表示されないんだYO!

67: ◆wSaCDPDEl2
07/06/09 20:59:53
何度も言葉が足りずにすみません。
pointは(多分)名前の後のものでgpaは(多分)小数点ついてるやつです。
合致するデータは一行丸ごとだと思います。
5が表示されないのは・・・ミスでしょうか。2.3.4と書いてあるので適当に5を条件外の数値にしてみたのでそれでお願いします。

1 alice 48 3.6
2 bob 88 3.2
3 charlie 69 1.8
4 dick 100 3.9
5 bomb 3 2.4

つーか問題がわかりにくいですね。今度抗議してみます。すいませんでした。

68:ぼるじょあ ◆hZ8e4Wjqvw
07/06/09 21:57:33
>>61 (・3・) エェー CしかできないからC++っぽくするなら自分で書き換えてくれYO!
#include <cstdio>
void file_display(char *filename){
    FILE *fp;
    int moji;
    if((fp=fopen(filename, "r"))==NULL) return;
    while((moji=fgetc(fp))!=EOF) fputc(moji, stdout);
    fclose(fp);
}
int main(void){
    char one_line[1024], *fname_in="x-file", *fname_out="Bファイル";
    FILE *fp_in, *fp_out;
    double point, gpa, point_sum=0.0, gpa_sum=0.0;
    int num=0;
    file_display(fname_in); // q2 only
    if((fp_in=fopen(fname_in, "r+"))==NULL) return 1;
    if((fp_out=fopen(fname_out, "w"))==NULL) return 2; // q2 only
    while(fgets(one_line, sizeof(one_line), fp_in)){
        if(sscanf(one_line, "%*d %*s %lf %lf", &point, &gpa)!=2) continue;
        num++; point_sum+=point; gpa_sum+=gpa; // q3 only
        if(point>=85 || gpa<2.0){
            fputs(one_line, stdout); // q1 only
            fputs(one_line, fp_out); // q2 only
        }
    }
    if(num>0) fprintf(fp_in, "-1 average %f %f\n", point_sum/num, gpa_sum/num); // q3 only
    fclose(fp_in);
    fclose(fp_out); // q2 only
    file_display(fname_out); // q2 only
    file_display(fname_in);
    return 0;
}

69: ◆wSaCDPDEl2
07/06/10 00:10:22
問題1,2,33つともやっていただけたんですか。ありがとうございます!
ファイルが見つからないというエラーが出たんですが、同じフォルダ内に入れないとダメとかいう制限でもあるのでしょうか?

70:homoじょあ ◆5OLf4yFnuM
07/06/10 00:27:40
(・3・) エェー 新スレおつんつんん
          C++っぽくだとこんなんかNA?
#include <iostream>
#include <sstream>
#include <fstream>
#include <string>
using namespace std;

#define filename "x-file.txt"

int main(){
fstream file;
string str;
int point = 0;
double gpa = 0.0;
file.open( filename, ios::in );
while( !file.eof() ){
char buf[256];
getline(file, str);
istringstream is( str );
int p; double g;
is >> buf >> buf >> p >> g;
point += p;
gpa += g;
}
file.close();
file.open( filename, ios::app );
file << point /5 << " " << gpa /5 << endl;
file.close();
return 0;
}

71:デフォルトの名無しさん
07/06/10 01:30:40
[1] 授業単元: C言語
[2] 問題文(含コード&リンク):
(問題1)点1が79以上、または点2が20以下のものを行ごと表示しなさい
(問題2)点1、点2の平均を計算して表示しなさい

    点1  点2
1、A君 30  49
2、B君 90  69
3、C君 60  12 
4、D君100  88
5、E君 30  67
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン:visual studio 2005
 [3.3] 言語: C
[4] 期限: 6/12
[5] その他の制限:配列を使って行ってください。


72:デフォルトの名無しさん
07/06/10 01:32:30
ちょっと問題2の分が悪かったです。
点1の平均と点2の平均を出し、表示しなさいでした。すみません。

73:デフォルトの名無しさん
07/06/10 01:35:13
何度もすみません。私バカなんでなるべく簡単に書いてもらえないでしょうか?
スレ汚し失礼しました。配列は勉強済みです。

74:homoじょあ ◆5OLf4yFnuM
07/06/10 04:33:31
>>71
(・3・) エェー こんなんでいい?

#include <stdio.h>

int main( void ){
char name[5][4] = {"A君", "B君", "C君", "D君", "E君"};
int score[5][2] = {{30, 49}, {90, 69}, {60, 12}, {100, 88}, {30, 67}};
double ave1 = 0.0, ave2 = 0.0;
int i;
for(i=0; i<5; i++){
if( score[i][0] >= 79 || score[i][1] <= 20 ){
printf( "%d、%s %d点 %d点\n", i+1, name[i], score[i][0], score[i][1] );
}
ave1 = score[i][0];
ave2 = score[i][1];
}
printf( "点1の平均:%f 点2の平均:%f\n", ave1 /5, ave2 /5 );
return 0;
}

75:デフォルトの名無しさん
07/06/10 04:46:35
>>74
char name[5][4]←これはよろしくないんでないかい?

76:homoじょあ ◆5OLf4yFnuM
07/06/10 04:48:15
(・3・) アルェー ダメ・・・だっけ?

77:デフォルトの名無しさん
07/06/10 04:51:12
>>76
規格で+1まで保証されてたか忘れたけどいちお、char[5][5]がいいんじゃない?って思っただけ。

78:デフォルトの名無しさん
07/06/10 04:52:07
>>77
すまん、ABCDEが全角に見えたんだ・・・
スルーしてくれ・・・

79:homoじょあ ◆5OLf4yFnuM
07/06/10 04:53:53
(;・3・) エェー 文字列って2バイト余計に必要な場合あるのかYO

80:homoじょあ ◆5OLf4yFnuM
07/06/10 04:59:40
>>78
(・3・) エェー よかったびっくりしたYO

81:ぼるじょあ ◆hZ8e4Wjqvw
07/06/10 12:10:49
>>74
(・3・) エェー 実行してみたら平均点が低すぎるYO!

82:デフォルトの名無しさん
07/06/10 14:26:02
[1] 授業単元: C言語プログラミング
[2] 問題文(含コード&リンク):
ファイルからデータを読み込み、1が80以上、または2が20以下のデータだけを行ごと表示しなさい

Aファイル↓
      1  2
1、A 33  49
2、B 88  69
3、C 70  12 
4、D 99  88
5、E 55  67
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン:visual studio 2005
 [3.3] 言語: C
[4] 期限: 6/14
[5] その他の制限:上のほうに殆どそっくりな問題が出ているのですがわからないので・・



83:homoじょあ ◆5OLf4yFnuM
07/06/10 14:34:22
>>81
(・3・) エェー ave1 += のところが ave1 = になてたYO

84:デフォルトの名無しさん
07/06/10 14:37:20
すいません。参考文献を乗せるのを忘れました。

次のプログラムは、hairetu-filesと呼ばれるファイルに格納した
3つのデータを読み込んで合計した値を求めて出力しています。
#include<stdio.h>
#define N 3
int main(void){
FILE *fp;
int i,date,sum=0;

if((fp=fopen("hairetu-files","r"))==NULL){
puts("File Open Error"); return 0;}
for(i=0;i<N;i++){
fscanf(fp,"%d",&date);
sum+=data;
}
fprintf(stdout,"合計は%dです\n",sum);
fclose(fp);
return 0;
}

hairetu-files
121
232
341

この途中の部分を>>82の条件になるように書き換えれば出来るらしいですが・・・
どうかこれを参考にお願いします



85:homoじょあ ◆5OLf4yFnuM
07/06/10 20:07:50
(・3・) エェー まぁこんなんで
#include <stdio.h>
#define filename "A.txt"
#define N 5

int main( void ){
FILE *fp;
int i, sum1 = 0, sum2 = 0, data1, data2;
char buf[256];
if( (fp = fopen( filename, "r")) == NULL){
printf( "File Open Error");
return 0;
}
while( fgets( buf, 256, fp) != NULL){
sscanf( buf, "%*s %d %d", &data1, &data2);
sum1 = sum1 + data1;
sum2 = sum2 + data2;
if(data1 >= 80 || data2 <= 20){
printf( "%s", buf);
}
}
printf( "点1の平均:%d\n点2の平均:%d\n", sum1 /N, sum2 /N);
fclose( fp );
return 0;
}

86:デフォルトの名無しさん
07/06/10 20:30:00
>>82です。他の人のもこなしているのにわざわざありがとうございました。
データを読み込むことは出来たのですが実行した際全部出てきてしまい
条件の結果とは一致しませんでした・・・

87:homoじょあ ◆5OLf4yFnuM
07/06/10 20:46:45
(・3・) アルェー 読み込みファイルの中身はどんなん?

88:デフォルトの名無しさん
07/06/10 20:49:24
      1  2
1、A 33  49
2、B 88  69
3、C 70  12 
4、D 99  88
5、E 55  67

が読み込みファイルの中身です。これが全て表示されてしまうのです。

89:homoじょあ ◆5OLf4yFnuM
07/06/10 20:54:57
(・3・) アルェー 全角スペースですかYO

ファイルを・・
     1 2
1、A 33 49
2、B 88 69
3、C 70 12
4、D 99 88
5、E 55 67

にして見てくださいYO
ソースもちょい直すYO

90:homoじょあ ◆5OLf4yFnuM
07/06/10 20:55:51
#include <stdio.h>
#define filename "A.txt"
#define N 5

int main( void ){
FILE *fp;
int i, sum1 = 0, sum2 = 0, data1, data2;
char buf[256];
if( (fp = fopen( filename, "r")) == NULL){
printf( "File Open Error");
return 0;
}
if( (fgets( buf, 256, fp)) == NULL)return 0;
while( fgets( buf, 256, fp) != NULL){
sscanf( buf, "%*s %d %d", &data1, &data2);
sum1 = sum1 + data1;
sum2 = sum2 + data2;
if(data1 >= 80 || data2 <= 20){
printf( "%s", buf);
}
}
printf( "点1の平均:%d\n点2の平均:%d\n", sum1 /N, sum2 /N);
fclose( fp );
return 0;
}

91:デフォルトの名無しさん
07/06/10 21:04:36
ありがとうございます。半角にしてやってみたところやはりなぜか5番が表示されてしまうのです。
1番は消えました

92:デフォルトの名無しさん
07/06/10 21:31:31
できましたよおおおおおおおおおおhomoじょあさんありがとうございます!!

93:homoじょあ ◆5OLf4yFnuM
07/06/10 21:40:30
(・3・) エェー そりは良かったお
          結局なんで5番はでてたのかお

94:デフォルトの名無しさん
07/06/10 21:44:34
1、
2、
3、
4、
5、   を小文字のまま書いていたのが悪カッタっぽいです。データは自分で作ったものなんで大文字でかいたら
        おーけーでした。

95:デフォルトの名無しさん
07/06/10 21:45:22
適当すぎw

96:homoじょあ ◆5OLf4yFnuM
07/06/10 22:01:22
>>94
(・3・) エェー よくわからんけどそうゆうことかYO

>>95
(・3・) アルェー がっこの宿題こんなもん〜

97:デフォルトの名無しさん
07/06/11 19:39:09
【質問テンプレ】
[1] 授業単元:Cプログラミング実習
[2] 問題文(含コード&リンク):
オリジナルプログラムの作成
下記要綱を満たしていればどんなプログラムでも問題ありません
@文は最低50以上(;で終わる文のみカウント)
A2次元配列、マクロを使用
Bif,while,for文の使用
C自作関数又は引数を使用。戻り値は問いません
Dヘッダファイルを使用
E誰が見ても分かりやすいプログラムにすること(/*説明*/)


[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン:VB.NET2003
 [3.3] 言語: C
[4] 期限: 2007年6月15日
[5] その他の制限:ポインタ、リスト使用不可


98:デフォルトの名無しさん
07/06/11 19:48:55
>>97
マルチ乙

99:デフォルトの名無しさん
07/06/12 21:00:06
2次元配列[3][5]に0〜99の数のうちから15個の数字をランダムに選び(30は必ずどこかに入れる)次のプログラムを作れ
配列に格納された数値を
a,大きい順に並べる(バブルソートで)
b,小さい順に(バブルソートで)
c,30の場所を配列の行番号と列番号をprintfで出力せよ

お願いします。

100:82
07/06/12 21:58:35
[1] 授業単元: C言語プログラミング
[2] 問題文(含コード&リンク):
ファイルからデータを読み込み、まずファイルの内容を全て表示し、
1が80以上、または2が20以下のデータだけを別のファイルに書き出しなさい。(別ファイルは適当でよい)
そしてこのファイルを読みこんで表示しろ

Aファイル↓
      1  2
1、A 33  49
2、B 88  69
3、C 70  12 
4、D 99  88
5、E 55  67
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン:visual studio 2005
 [3.3] 言語: C
[4] 期限: 6/14
[5] その他の制限:上のほうに殆どそっくりな問題が出ているのですがわからないので・・

この前お世話になったものです。自分で解こうとしたけれどいくらやっても無理なので
知識豊富な皆様の力を分けてください。お願いします。

101:デフォルトの名無しさん
07/06/12 23:44:42
>>99
前に似たような問題が出てたから、それを改造すればいいんでない?
>>4>>12>>13を参照

102:デフォルトの名無しさん
07/06/13 20:57:16
[1] 授業単元:C++研究
[2] 問題文:
多次元配列を用いて自分の時間割を作成しコマンドプロンプトへ出力しなさい。
なお,履修データはプログラムに直接記述してよい。
また,時限名,曜日名のタイトルも出力すること。

配列などはいれてませんが出力すると、下記urlのcout文のような表示にするようです。
URLリンク(kansai2channeler.hp.infoseek.co.jp)

枠は手書きでも構わないみたいです。
枠や時間割りはすべては埋めてませんが、時間割の枠と全ての時間割り枠内に
科目名、担当の先生の名前、講義室の番号室の3つと
それプラス曜日名と時限名を多次元配列で出力表示します
[3] 環境
 [3.1] OS:Windows xp
 [3.2] コンパイラ名とバージョン:Visual studio.2005
 [3.3] 言語: C++
[4] 期限: ([2007年6月15日11:00まで]
[5] その他の制限:特になし
よろしくお願いします

103:デフォルトの名無しさん
07/06/14 01:03:47
[1] 授業単元:C++研究
[2] 問題文:

ボーリングのスコア計算をするプログラムを作成しなさい
(入力:スコア, 配列データ:スコア表, 出力:入力毎にスコア表を表示させる)

URLリンク(hmets.hp.infoseek.co.jp)
↑のように表を作成して表示するみたいです。10回戦目は3投、投げます
氏名の部分はいりません。

[3] 環境
 [3.1] OS:Windows xp
 [3.2] コンパイラ名とバージョン:Visual studio.2005
 [3.3] 言語: C++
[4] 期限: ([2007年6月16日11:00まで]
[5] その他の制限:特になし
よろしくお願いします

104:デフォルトの名無しさん
07/06/14 12:48:10
アップローダーのNo.4248に問題をアップしましたので、
よろしくお願いします。

105:デフォルトの名無しさん
07/06/14 13:29:46
[1] 授業単元:C言語
[2] 問題文: 次の条件を満たす関数を作りなさい。
1. 配列の要素p[n]とp[n+1]を比較し小さいほうを前にずらす。
2. 番兵-1が出たら処理を終了させる。
3. 1、2を要素の数だけ繰り返す。
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン:microsoft Visual C++ .NET 2005 , borland C++ compiler5.5 ほか
 [3.3] 言語: CまたはC++
[4] 期限: 2007年06月28日13:00まで
[5] その他の制限:メールでの提出も可。ただし、他人のコピーは不可。

106:デフォルトの名無しさん
07/06/14 15:57:37
授業単元:C言語
環境:if文・for文・while文・do〜while文・switch〜case文
OS:Windows
コンパイラ名とバージョン:borland
言語:C
テーマ:数値配列の操作
配列[8]に整数を入力し、以下のような表示をしなさい
実行画面
整数入力[0]==>4
整数入力[1]==>3
整数入力[2]==>8
整数入力[3]==>6
整数入力[4]==>1
整数入力[5]==>5
整数入力[6]==>2
整数入力[7]==>7



107:wauwau
07/06/14 18:41:47
演習課題1:次の関数がどのような値を返すか確かめるプログラム(main関数)を作成し実行せよ。考察も書くこと。

int myreturn(){
return 0;
return 1;
}

演習課題2:次の二つの関数が同じ働きであることを理解させるプログラム(main関数)を作成し実行せよ。

int myfactorial1(int i){
int j,a;
if (i<0) return (0);
if (i<2) return (1);
a=1;
for(j=1;j<i+1;j++)
a=a*j;
return a;

}


int myfactorial2(int i){
if (i<0) return 0;
if (i<2) return 1;
return (i*myfactorial2(i-1));
}



108:デフォルトの名無しさん
07/06/14 19:08:33
>>107

>>1くらい読めカス
URLリンク(kansai2channeler.hp.infoseek.co.jp)


109:wauwau
07/06/14 19:18:31
[1] 授業単元: C言語
[2] 問題文(含コード&リンク): 1:次の関数がどのような値を返すか確かめるプログラム(main関数)を作成し実行せよ。
[3] 環境            2:次の二つの関数が同じ働きであることを理解させるプログラム(main関数)を作成し実行せよ
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: (gcc 3.4 )
 [3.3] 言語: (C)
[4] 期限: ([2007年6月14日)
[5] その他の制限: 特になし

よろしくお願いします



110:wauwau
07/06/14 19:23:21
[1] 授業単元: C言語
[2] 問題文(含コード&リンク): 演習課題1:次の関数がどのような値を返すか確かめるプログラム(main関数)を作成し実行せよ。考察も書くこと
int myreturn(){
return 0;
return 1;
}
演習課題2:次の二つの関数が同じ働きであることを理解させるプログラム(main関数)を作成し実行せよ
int myfactorial1(int i){
int j,a;
if (i<0) return (0);
if (i<2) return (1);
a=1;
for(j=1;j<i+1;j++)
a=a*j;
return a;

}

int myfactorial2(int i){
if (i<0) return 0;
if (i<2) return 1;
return (i*myfactorial2(i-1));
}
[3] 環境            
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: (gcc 3.4 )
 [3.3] 言語: (C)
[4] 期限: ([2007年6月14日)
[5] その他の制限: 特になし
ごめんなさい ここに書き込むのが初めてで様式を知りませんでした。。
よろしくお願いします

111:デフォルトの名無しさん
07/06/14 19:27:29
>>110
>>108

112: ◆ba6YufWRwU
07/06/14 20:02:28
【質問テンプレ】
[1] 授業単元: C言語
[2] 問題文(含コード&リンク): int型配列データaに100,200,300,400の値を初期設定し、それらの
値の和WAを求めて、aのそれぞれの値と和WAを求めて出力するための
プログラムを作成せよ。

[3] 環境
 [3.1] OS:XP
 [3.2] コンパイラ名とバージョン: microsoft Visual C++ .NET 2005
 [3.3] 言語:C
[4] 期限: ([07年6月14日24時まで]
[5] その他の制限:特になし
よろしくお願いします



113:デフォルトの名無しさん
07/06/14 20:11:01
#include <stdio.h>
int main(void) {
int i,WA;
int a[4] = {100,200,300,400};
WA = 0;
for(i=0;i<4;i++) WA += a[i];
for(i=0;i<4;i++) printf("a[%d] = %d\n",i,a[i]);
printf("WA = %d\n",WA);
return 0;
}

114:デフォルトの名無しさん
07/06/14 20:45:17
[1] 授業単元: C言語演習
[2] 問題文(含コード&リンク):

URLリンク(kansai2channeler.hp.infoseek.co.jp)
上記プログラムの構造体Personに
性別(int,0(女),1(男))を追加しなさい。
例の性別は適当で良い。

[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン:VC++2005
 [3.3] 言語:C++
[4] 期限: 07年6月15日10時まで
[5] その他の制限:特になし

お願いします。


115:homoじょあ ◆5OLf4yFnuM
07/06/14 21:59:55
>>106
#include <stdio.h>

int main(void){
int num[8] = {4, 3, 8, 6, 1, 5, 2, 7};
int i;
for(i=0; i<8; i++){
printf("整数入力[%d]==>%d\n", i, num[i]);
}
return 0;
}

116:homoじょあ ◆5OLf4yFnuM
07/06/14 22:25:02
>>102
(・3・) 適当な上に汚い

URLリンク(kansai2channeler.hp.infoseek.co.jp)

117:デフォルトの名無しさん
07/06/14 22:47:00
>>105
#include<string.h>

void sub(char *p)
{
int i,n;
int LEN=strlen(p);
char temp;

for( i=0; p[i] != '0'; i++) {
for ( n=0; n<LEN-2; n++) {
if ( p[n] > p[n+1] )
{
temp = p[n];
p[n] = p[n+1];
p[n+1] = temp;
}
}
}

}



118:homoじょあ ◆5OLf4yFnuM
07/06/14 22:54:02
>>114
#include <stdio.h>
#define N 256+1
struct Person{
char name[N];
int age;
int sex;
};
void main(void){
struct Person P[]={{"花咲爺",64, 1},{"桃太郎", 5, 1},{"金太郎",12, 1},{"浦島太郎",41, 1}};
struct Person tmp;
int n=sizeof(P)/sizeof(P[0]);
for(int i=0; i<n; i++){
for(int j=n-1; j>i; j--){
if(P[j].age>P[j-1].age){
tmp=P[j];P[j]=P[j-1];P[j-1]=tmp;
}
}
}
printf("登場人物\n");
for(int i=0; i<n; i++) printf("名前=%s\t年齢=%3d\t性別=%s\n",P[i].name,P[i].age,P[i].sex == 0 ? "女" : "男");
}


119:デフォルトの名無しさん
07/06/15 02:01:25
>>99お願いします。>>4>>12>>13みてもわかんないんで…

120:デフォルトの名無しさん
07/06/15 02:10:21
誰が何をかいてもお前にはわかんないよ。

121:デフォルトの名無しさん
07/06/15 12:25:30
>>116 ありがとうございます、凄く助かりました。

122:デフォルトの名無しさん
07/06/15 12:54:32
URLリンク(park1.wakwak.com)
ボーリングのスコア計算の解説を見つけたので、一応貼り付けておきますね
よろしくお願いします。
>>103

123:デフォルトの名無しさん
07/06/15 13:01:47
URLリンク(next1.cc.it-hiroshima.ac.jp)
C++言語の解説を見つけたので、一応貼り付けておきますね
よろしくお願いします。
>>122

124:依頼者
07/06/16 19:10:03
[1] 授業単元: C言語演習
[2] 問題文(含コード&リンク):
(1)登録番号"int no"と名前"char *name"と"int age"を含む構造体person型の配列を定義し
初期化せよ。なお、最後のデーダの名前にはNULLを入れておく。登録番号は入力順に1,2,3,4,5
とする。配列の先頭アドレスを目指す構造体person型のポインタは引数として与え、データを年齢順に
並び替える関数を作成せよ

(2)登録番号"int no"と名前"char *name"と"int age"を含む構造体person型の配列を定義し
初期化せよ。なお、最後のデーダの名前にはNULLを入れておく。登録番号は入力順に1,2,3,4,5
とする。そして配列の先頭アドレスを目指す構造体person型のポインタと参照したい人の登録番号を引数として
その名前年齢を表示する関数を作成せよ


[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン:visual studio.net
 [3.3] 言語:C++
[4] 期限: 07年6月19日まで
[5] その他の制限:特になし

よろしくお願いします。

125:デフォルトの名無しさん
07/06/17 00:20:50
[1] 授業単元:C++
[2] 問題文:

新しい型(設計図)として,「人間」型と「動物」型を設計(新しい型(設計図)は,structでmain関数の外で記述すること,
要素は適時考えること)し,main関数で上記の型(設計図)の変数を配列で2つづつ宣言(生成)した後,
その変数の要素に適当な初期値を格納しなさい(関数を用いること)。最後に,
main関数で上記で生成した変数の要素をすべてコマンドプロンプトに出力しなさい(関数を用いること)。
[3] 環境
 [3.1] OS:Windows xp
 [3.2] コンパイラ名とバージョン:VISUALSTUDIO2003
 [3.3] 言語: C++
[4] 期限: ([2007年6月18日00:00まで]
[5] その他の制限:ないです

どうぞよろしくおねがいします



126: ◆qbNb6Ma0MY
07/06/17 00:21:14
[1] 授業単元:C言語解析
[2] 問題文:
「直列共振回路の周波数特性」 抵抗R、自己インダクタンスL、静電容量Cの直列回路に
起電力Eを加える時、電流I(正確にはIドット)が流れる。Eの周波数fを変化させて、
Iの大きさと位相の変化を調べよ
(注) 共進周波数をはさんで適当な範囲で周波数を変化させる。また、周波数の刻み幅も適切に選ぶこと。

URLリンク(kansai2channeler.hp.infoseek.co.jp)
の7レス目(ミスってしまった・・)は複素数の演算を行うプログラムである
ここの下のほうのint main(void)からを変化させてとくようにするといい。
[3] 環境
 [3.1] OS:Windows xp
 [3.2] コンパイラ名とバージョン:Visual studio.2005
 [3.3] 言語: C
[4] 期限: 6月20日
[5] その他の制限: 特になし
初カキコだけどよろしくお願いします

127:デフォルトの名無しさん
07/06/17 00:56:20
>>125
とりあえず名前だけ作った。
適当に関数追加するだけなんだし自分で作って。

#include <iostream>
struct Creature {
private:
    const char *name;
public:
    void setName(const char *name) {
        this->name = name;
    }
    const char *getName() const {
        return name;
    }
};
struct Animal : public Creature {};
struct Human : public Creature {};
int main() {
    Animal animal;
    animal.setName("動物");
    std::cout << animal.getName() << std::endl;
    Human human;
    human.setName("人間");
    std::cout << human.getName() << std::endl;
    return 0;
}


128:デフォルトの名無しさん
07/06/19 01:27:18
[1] 授業単元:C++
[2] 問題文:
野球のスコア計算をするプログラムを作成しなさい。
スコアを入力して、配列データにイニング表を、入力毎にスコア表を表示
最後に勝者を出力。
なお延長の場合も考えること(延長は15回までとする)

[3] 環境
 [3.1] OS:Windows xp
 [3.2] コンパイラ名とバージョン:Visual studio.2005
 [3.3] 言語: C++
[4] 期限: ([2007年6月19日00:00まで]
[5] その他の制限:特になし
どうかよろしくお願いします

129:匿名希望
07/06/19 11:38:25
[1] 授業単元:C言語
[2] 問題文:
俳優のデータベースについて次の各問いに答えよ。
1.名前、出身地、年齢、性別、登場作品を定義する構造体を宣言せよ。
2.年齢順に並び替える関数を作成せよ。
3.名前、出身地、年齢、性別、登場作品を表示せよ。
4.(発展)外部ファイルでの読み書きをできるようにせよ。
5.(発展)データを標準入力で追加できるようにせよ。
6.(自由)それを応用してオリジナルのプログラムを作成せよ。

[3] 環境
 [3.1] OS:制限なし
 [3.2] コンパイラ名とバージョン:制限なし
 [3.3] 言語:C言語
[4] 期限: ([2007年7月3日13:00まで])
[5] その他の制限:
動きましたといっただけでは正解になりませんので、説明すること。
発展および自由に関しては余力のある人のみでよい。
自由は評価の対象にならない。

130:鎌ゆう
07/06/19 12:17:36
[1] 授業単元:C言語
[2] 問題文: Randを使ってゲームを作る。一回遊んで終了でかまわない

[3] 環境
 [3.1] OS:Windows xp
 [3.2] コンパイラ名とバージョン:Visual studio.2005
 [3.3] 言語: C
[4] 期限: ([2007年6月20日00:00まで]
[5] その他の制限:特になし
どうかよろしくお願いします

131:デフォルトの名無しさん
07/06/19 14:53:29
1]C言語
[2]
double型実数Xのn乗x(xをn回掛けた値、nは正の整数)を返す関数powerを作成して、この関数powerを利用して、キーボードから実数aと整数mを読み込み、aのm乗aを求めるプログラムを作成しなさい
[3]
[3.1] OS: XP
[3.2] コンパイラ名とバージョン: visual studio 2005
[3.3] 言語: C

実行結果例
実数a;1,2
実数m;10
--------------
1,20の10乗=6,19

132:デフォルトの名無しさん
07/06/19 15:26:54
>>130
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(void)
{
    int a,b,n;
    srand(time(NULL));
    a=rand()%51;
    printf("数当てゲーム、秘密の値を当ててください。秘密の値は0〜50の整数です。\n");
    printf("チャンスは10回,0〜50以外の整数を入れると終了します。\n");
    for(n=1;n<=10;n++){
        if(n==10) printf("最後のチャンス:");
        else printf("%d回目:",n);
        scanf("%d",&b);
        if(b>50 || b<0){
            printf("ゲームを中止します");
            return 0;
        }else if(b==a){
            printf("あたり");
            break;
        }else if(b>a) printf("秘密の値より大きいよ");
        else printf("秘密の値より小さいよ");
    }
    printf("\n");
    if(n==11)printf("残念");
    else if(n<3) printf("%d回で当てましたね。エスパーさんですか?",n);
    else printf("%d回で当てました",n);
    return 0;
}

133:デフォルトの名無しさん
07/06/19 15:51:55
>>131
#include<stdio.h>
double power(double x, int n)
{
    double a=1;
    for(;n>0;n--) a*=x;
    return a;
}

int main(void)
{
    double a;int m;
    printf("実数a;");scanf("%lf",&a);
    printf("整数m;");scanf("%d",&m);
    printf("--------------\n");
    printf("%fの%d乗=%f\n",a,m,power(a,m));
        return 0;
}

134:デフォルトの名無しさん
07/06/19 16:30:40
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
 1.二次元配列、ランダム関数をつかったポーカー
 2.配られたカードがダブらないようにする
 3.カードは二回変えることができる。
 4.役は必要ありません。
[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン: bcc55
 [3.3] 言語:C
[4] 期限: ([2006年06月20日12:00まで]
[5] その他の制限:

135:デフォルトの名無しさん
07/06/20 00:45:51
>>134
URLリンク(kansai2channeler.hp.infoseek.co.jp)

136:デフォルトの名無しさん
07/06/21 01:58:16
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):
テキスト形式のファイルを読み込み, 読み込んだアルファベットで書かれた文章のうちa,i,u,e,o(母音)を'*'に置き換えて出力するプログラムを作成しなさい.
出力はファイル名test.outにすること.

[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限: 21日正午まで
[5] その他の制限: 特になし

実行結果
[home@*** ~/h1]% cat test.in
Mr.X is a gentleman.
[home@*** ~/h1]% ./test
filename: test.in
[home@*** ~/h1]% cat test.out
Mr.X *s * g*ntl*m*n.
[home@*** ~/h1]%

よろしくお願いします。

137:デフォルトの名無しさん
07/06/21 02:36:20
>>136
こんなんでいい?
URLリンク(kansai2channeler.hp.infoseek.co.jp)

138:デフォルトの名無しさん
07/06/21 15:31:48
授業単元:C言語
環境:if文・for文・while文・do〜while文・switch〜case文・
OS:Windows
コンパイラ名とバージョン:borland
言語:C
テーマ:文字配列の操作
問題1
文字型の配列変数mojiに設定されている文字数を答えなさい
char moji[] = "ABCDEFG";
実行画面
文字数:7
問題2:文字列を入力して偶数番目の要素数と奇数番目の要素を別の配列に格納し、文字列として表示しなさい
実行画面
文字列入力==>ABC123def
偶数要素:AC2df
奇数要素:B13e



139:デフォルトの名無しさん
07/06/21 16:04:55
>>138
問題1
printf("文字数:%d\n",strlen(moji));
問題2
#include <stdio.h>

int main(){
char tmp[128],str1[64],str2[64];
int i;

printf("文字列入力==>");
fgets(tmp,sizeof(tmp),stdin);

for(i=0;tmp[i]!='\0';i++){
i%2 ? (str2[i/2]=tmp[i]) : (str1[i/2]=tmp[i]);
}
str1[i/2] = str2[i/2] = '\0';
printf("偶数要素:%s\n",str1);
printf("奇数要素:%s",str2);

return 0;
}

140:デフォルトの名無しさん
07/06/21 16:25:14
i番目のフィボナッチ数を返す関数
long fibonacci(long n){/* */}を再帰を用いて定義せよ
という問題なんですが

実行例
整数を入力してください:0
Fibonacci(0)=1
整数を入力してください:1
Fibonacci(1)=1
整数を入力してください:2
Fibonacci(2)=2
整数を入力してください:6
Fibonacci(6)=13

となるようにしたいんですがお手上げ状態ですorz
よろしくお願いします



141:デフォルトの名無しさん
07/06/21 16:34:52
i番目のフィボナッチ数を返す関数
long fibonacci(long n){/* */}を再帰を用いて定義せよ
という問題なんですが

実行例
整数を入力してください:0
Fibonacci(0)=1
整数を入力してください:1
Fibonacci(1)=1
整数を入力してください:2
Fibonacci(2)=2
整数を入力してください:6
Fibonacci(6)=13

となるようにしたいんですがお手上げ状態ですorz
よろしくお願いします

142:homoじょあ ◆5OLf4yFnuM
07/06/21 22:14:27
>>129
#include <stdio.h>

typedef struct{
char name[128];
char home[128];
int age;
int sex;
char film[128];
}actor;

void sortage(actor*, int);
void show(actor);

int main(void){
return 0;
}

void sortage(actor *act, int cnt){
int i, k;
actor swap;

for(i=0; i< cnt -1; i++){
for(k=i+1; k<cnt; k++){
if(act[i].age > act[k].age){
swap = act[i];
act[i] = act[k];
act[k] = swap;
}
}
}
}

143:homoじょあ ◆5OLf4yFnuM
07/06/21 22:15:47
>>129
void show(actor act){
printf(
"名前:%s\n"
"出身地:%s\n"
"年齢:%d\n"
"性別:%s\n"
"登場作品:%s\n",
act.name, act.home, act.age,
act.sex == 0 ? "男" : "女",
act.film
);
}

(・3・) エェー mainの中身は知らないYO

144:homoじょあ ◆5OLf4yFnuM
07/06/21 22:16:56
>>141
#include <stdio.h>

long fibonacci(long n){
if(n == 0 || n == 1) return 1;
return fibonacci( n-1) + fibonacci( n-2);
}

int main(void){
long n;
printf( "整数を入力して下さい:");
scanf( "%ld", &n);
printf( "Fibonacci(%d) = %d\n", n, fibonacci(n));
return 0;
}


145:デフォルトの名無しさん
07/06/21 22:32:22
てst

146:デフォルトの名無しさん
07/06/21 22:43:49
再帰でフィボナッチで無駄が多すぎてダメな例だろ

147: ◆UoNQqijD4I
07/06/22 15:47:15
[1] 授業単元:プログラミング実習
[2] 問題文(含コード&リンク):4行3列の行列Aと3行4列の行列Bの異なる行列式のファイルを読み込み、
読み込んだ行列と、Aの転置行列、及びAの転置行列とBの行列との和を出力するプログラムを作成し、
ソースコードを提出すること。

注意)読み込むファイルはこちら側で用意しておきますので、
行列Aのファイル名を[kadai1.dat]、行列Bのファイル名を[kadai2.dat]という名前で提出すること。


[3] 環境
 [3.1] OS Linux
 [3.2] コンパイラ名とバージョン: gcc 3.4
 [3.3] 言語:C言語
[4] 期限: 今日の5時まで!
[5] その他の制限:バイナリファイル、ポインタまで習いました。もう1つのサイトにも書き込みましたが、
結構急ぎなので、できればこちらでもお願いします!!

148: ◆sLIzEFbWfc
07/06/23 11:49:23
>>147です!
期限過ぎましたが、とりあえずは提出したのでよろしくお願いします
ちなみにC言語は今年の春から初めて初心者です(;;)

149:デフォルトの名無しさん
07/06/23 12:23:53
提出したんならもういいじゃん

150:依頼者
07/06/23 16:40:46
1] 授業単元: C言語演習
[2] 問題文(含コード&リンク):
(1)変数xのyビット目を0にする関数int bit_clear(int x, int y)の作成。

(2)変数xのyビット目の値を返す関数int bit_test(int x,int y)の作成。


[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン:visual studio.net
 [3.3] 言語:C++
[4] 期限: 07年6月25日まで
[5] その他の制限:特になし

演算子の問題です。よろしくお願いします。

151:仕様がよく判らんから適当に書いた
07/06/23 16:50:35
int bit_clear(int x, int y) {return x & ~ (1 << y);}
nt bit_test(int x,int y) {return (x >> y) & 1;}

152: ◆DpMW3bRjps
07/06/23 18:55:52
内容:
>>148です
とりあえず提出し「た」いのでよろしくお願いします
脱字すみません↓↓ちなみに課題は>>147です。。。
#include <stdio.h>
#include <stdlib.h>
#define ROW 4
#define COLUMN 3
int main(void)
{ FILE *fp;
double a[ROW][COLUMN];
int i, j;
if ( (fp = fopen( "kadai1.dat", "r")) == NULL )
{ printf("ファイルが見つかりません : kadai.dat \n");
exit(1); }
printf("行列は次の通りです\n");
for( i = 0 ; i < ROW ; i++)
{ for( j =0 ; j < COLUMN ; j++)
{ fscanf(fp, "%lf", &a[i][j]);
printf("%5.2f\t", a[i][j]); }
printf("\n"); }
printf("転置行列は次の通りです\n");
for( j = 0 ; j < COLUMN ; j++)
{ for( i = 0 ; i < ROW ; i++)
{fscanf(fp, "%lf", &a[i][j]);
printf("%5.2f\t",a[i][j]); }
printf("\n"); }
fclose( fp );
return 0;
}

153:homoじょあ ◆5OLf4yFnuM
07/06/23 20:21:37
>>152
#include <stdio.h>

#define file1 "kadai1.dat"
#define file2 "kadai2.dat"

int main(void){
FILE *fp;
double A[3][4], B[4][3], TA[4][3];
int i, k;

printf("A:\n");
fp = fopen(file1, "r");
for(i=0; i<3; i++){
for(k=0; k<4; k++){
fscanf(fp, "%lf", &A[i][k]);
printf("%5.2f ", A[i][k]);
}
printf("\n");
}

printf("\nB:\n");
fp = fopen(file2, "r");
for(i=0; i<4; i++){
for(k=0; k<3; k++){
fscanf(fp, "%lf", &B[i][k]);
printf("%5.2f ", B[i][k]);
}
printf("\n");
}
fclose(fp);

154:homoじょあ ◆5OLf4yFnuM
07/06/23 20:23:01
printf("\nTA:\n");
for(i=0; i<4; i++){
for(k=0; k<3; k++){
TA[i][k] = A[k][i];
printf("%5.2f ", TA[i][k]);
}
printf("\n");
}

printf("\nB+TA:\n");
for(i=0; i<4; i++){
for(k=0; k<3; k++){
printf("%5.2f ", B[i][k] + TA[i][k]);
}
printf("\n");
}
return 0;
}


155: ◆DpMW3bRjps
07/06/23 20:35:24
>>152です
ありがとうございました!!


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4353日前に更新/401 KB
担当:undef