ぼるじょあがC/C++の宿題を片づけますYO! 67代目
■ このスレッドは過去ログ倉庫に格納されています
0001ぼるじょあ ◆yBEncckFOU
2006/12/10(日) 11:33:41わからない宿題を片づけますYO!
あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他や発言はスルーの方向で。
【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。
・問題文は、出題されたまま全文を書いてください。
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはやめましょう。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して
投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。
【質問テンプレ】
[1] 授業単元:
[2] 問題文(含コード&リンク):
[3] 環境
[3.1] OS: (Windows/Linux/等々)
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
[3.3] 言語: (C/C++/どちらでも可 のいずれか)
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
【C 関数検索 man on WWW】
http://www.linux.or.jp/JM/index.html
【前スレ】
ぼるじょあがC/C++の宿題を片づけますYO! 66代目
http://pc8.2ch.net/test/read.cgi/tech/1149349035/
0357ぼるじょあ ◆hZ8e4Wjqvw
2007/01/18(木) 16:06:22#include<stdio.h>
#include<string.h>
#define ONE_LINE_MAX 1024
int main(int argc, char *argv[]){
char *filename, one_line[ONE_LINE_MAX], word[ONE_LINE_MAX];
long line_count;
int is_word_found;
FILE *fp;
filename=argv[1];
fp=fopen(filename, "r");
if(fp==NULL){
fprintf(stderr, "\nError: %s file cannot open.\n", filename);
return 1;
}
while(1){
printf("検索する文字列を入力して下さい :");
scanf("%s", word);
fseek(fp, 0L, SEEK_SET);
line_count=0;is_word_found=0;
while(fgets(one_line, sizeof(one_line), fp)!=NULL){
line_count++;
if(strstr(one_line, word)!=NULL){
printf("%s は %ld 行目にあります\n", word, line_count);
is_word_found=1;
}
}
if(!is_word_found) printf("%s は見つかりませんでした\n", word);
}
fclose(fp);
return 0;
}
if((p=malloc(strlen(s)))){strcpy(p,s);}
0359ぼるじょあ ◆hZ8e4Wjqvw
2007/01/18(木) 16:18:10(・3・) エェー insert関数とdel関数は適当に作ったYO!
#include<stdio.h>
#define NITEM(array) (sizeof(array)/sizeof(array[0]))
void insert(int array[], int array_size, int index, int value){
int i;
for(i=array_size-2;i>=index;i--)
array[i+1]=array[i];
array[index]=value;
}
void del(int array[], int array_size, int index){
int i;
for(i=index;i<array_size-1;i++)
array[i]=array[i+1];
array[i]=0;
}
void disp(int array[], int array_size){
int i;
for(i=0;i<array_size;i++)
printf(" %d", array[i]);
printf("\n");
}
int main(void){
int data[]={1,3,5,7,9,0,2,4,6,8};
disp(data, NITEM(data));
del(data, NITEM(data), 4-1);
disp(data, NITEM(data));
insert(data, NITEM(data), 7-1, 10);
disp(data, NITEM(data));
return 0;
}
0361デフォルトの名無しさん
2007/01/18(木) 16:36:322次元配列の中の文字列をクリアするにはどうすればいいんでしょうか?
if((p=malloc(strlen(s)+1))){strcpy(p,s);}
0363デフォルトの名無しさん
2007/01/18(木) 17:21:200365デフォルトの名無しさん
2007/01/18(木) 18:26:11if(ch=='.') putchar('\n');
0366homoじょあ ◆5OLf4yFnuM
2007/01/18(木) 21:45:480367デフォルトの名無しさん
2007/01/18(木) 21:57:130368ぼるじょあ ◆yBEncckFOU
2007/01/18(木) 23:29:20hZ8e4Wjqvw氏が全部回答してくれたから出番なしだったお
いや嫌味を言ってるんじゃなくてhZ8e4Wjqvw氏も幅広い知識を持った
なかなか賢い人だと感じたお
0369ぼるじょあ ◆yBEncckFOU
2007/01/18(木) 23:30:31もいらはhomoじょあとかアナルじょあと呼ばれてるからたぶん本物じゃないお
0370ぼるじょあ ◆yBEncckFOU
2007/01/18(木) 23:32:21大沢あかねたんが好きだお
大沢あかねたんと結婚または愛人になってくれるなら
全財産なげうっていいお
0371ぼるじょあ ◆yBEncckFOU
2007/01/18(木) 23:34:373日間アナ○三昧なら500万までなら出せるお
0372デフォルトの名無しさん
2007/01/19(金) 00:28:22ありがとうございます!!
あと実行時に、何語で検索するか→1語ならそのまま検索、1語以上ならand検索かor検索か
とか言う流れにしたいのですが・・・
0373ぼるじょあ ◆hZ8e4Wjqvw
2007/01/19(金) 04:23:41(・3・) エェー notファイルはもうお腹いっぱいだYO!
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3457.c
0374デフォルトの名無しさん
2007/01/19(金) 14:47:58[2] 問題文(含コード&リンク):
UNIX システムコールを利用して、以下の仕様を満たすプログラムを書いてください。
コマンドライン引数がない場合は、標準入力を標準出力へコピー
コマンドライン引数が 1 つある場合は、第 1 引数のファイルの内容を標準出力へコピー
コマンドライン引数が 2 つある場合は、第 1 引数のファイルの内容を第 2 引数のファイルにコピー
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: (gcc)
[3.3] 言語: (C++)
[4] 期限: 明後日
[5] その他の制限:
#include<stdio.h>
int main(int argc,char* argv[]){FILE* src=stdin;FILE* dst=stdout;int c;
if(argc>=2)src=fopen(argv[1],"r");if(argc==3)dst=fopen(argv[2],"w");
if(argc<4)while((c=fgetc(src))!=EOF)fputc(c,dst);return 0;}
0376デフォルトの名無しさん
2007/01/19(金) 16:10:37[2] 問題文(含コード&リンク):アルゴリズムの説明をせよ
#include<stdio.h>
#include<stdlib.h>
//int main(int argc, char **argv){ //argvはコマンドライン引数のこと
int main(void){
int i,j,m,n,k1,k2;
int blank;
int hint[4];
int total;
[3] 環境
[3.1] OS: (Windows/Linux/等々) linux
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) gcc
[3.3] 言語: C言語
[4] 期限: ([yyyy年mm月dd日hh:mmまで] 2007年1月23日まで
[5] その他の制限:なしです。お願いします
0377376
2007/01/19(金) 16:12:55int initial[4][4];
if((data = fopen("prob4-1.txt", "r"))==NULL) {
printf("ファイルを開くことはできません\n");
exit(1);}
for(i=0;i<4;i++){
for(j=0;j<4;j++){
fscanf(data,"%d",&initial[i][j]);}
blank=0;
}
for(i=0;i<4;i++){
for(j=0;j<4;j++)
printf("%4d",initial[i][j]);
printf("\n");} printf("\n");
for(i=0;i<4;i++){
for(j=0;j<4;j++){
if(initial[i][j]==0)
blank++;}}
printf("initial\n");
for(i=0;i<4;i++){
for(j=0;j<4;j++)
{
printf("%2d" ,initial[i][j]);}
printf("\n");}
0378376
2007/01/19(金) 16:15:59for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(initial[i][j]==0){
for(m=0;m<5;m++)
hint[m]=0;
for(n=0;n<4;n++){
if(initial[i][n]!=0)
hint[initial[i][n]]=1;}
for(n=0;n<4;n++){
if(initial[n][j]!=0)
hint[initial[n][j]]=1;}
k1=i/2;
k1*=2;
k2=j/2;
k2*=2;
for(m=k1;m<k1+2;m++)
for(n=k2;n<k2+2;n++){
if(initial[m][n]!=0)
hint[initial[m][n]]=1;}
total=(hint[1]+hint[2]+hint[3]+hint[4]);
for(m=1;m<5;m++)
if(total==3&&hint[m]==0){
initial[i][j]=m;
blank--;}}}
printf("result\n");
for(i=0;i<4;i++){
for(j=0;j<4;j++)
printf("%4d",initial[i][j]);
printf("\n"); }
fclose(data);
return 0;}書ききれなかったので追加します。すみません
0379デフォルトの名無しさん
2007/01/19(金) 16:27:03and検索or検索の機能の追加お願いします。
これできないと単位もらえないので焦ってます;
実行後、いくつの後で検索するかを決めて、その後andかor検索にするか決めて、
andの場合は「○○と○○を含む行は○行目」
orの場合は「○○を含むのは○行目、○○を含むのは○行目」
と表示させるようにしたいんです!
色々やって途中までできたものをうpしとくので、よろしくお願いします!!
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3463.c
0380ニケ
2007/01/19(金) 17:05:48[2] 問題文(含コード&リンク):
banana melon orange appleなどと代入して、
辞書式のリスト構造を作り、それを出力する
プログラムを作りなさい
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:VC 6.0
[3.3] 言語:C++
[4] 期限:できれば今日中がいいです。
[5] 2分探索木を最後に習いました。
ぼるじょあさん留年がかかってるのでお願いします。
0381ぼるじょあ ◆yBEncckFOU
2007/01/19(金) 17:08:270382デフォルトの名無しさん
2007/01/19(金) 17:12:44UNIXのシステムコールを使っとらんがな
0383デフォルトの名無しさん
2007/01/19(金) 17:20:21C言語なら俺に聞け(入門篇) Part 6
http://pc10.2ch.net/test/read.cgi/tech/1167325490/549
せっかく答えたのに無視ですか
氏ねよお前
0384デフォルトの名無しさん
2007/01/19(金) 17:25:35申し訳ないです…用事で出かけてました。
でも、ありがとうございました!!!
0385ニケ
2007/01/19(金) 17:40:22そう言わずにお願いしますYO!
ぼるじょあさぁん!!
0386ミケ
2007/01/19(金) 17:59:560387ニケ
2007/01/19(金) 18:04:44留年なんて言わなきゃ良かった…。
ホントに誰かお願いします!
0388ぼるじょあ ◆yBEncckFOU
2007/01/19(金) 20:00:21(・3・) エェー そんな曖昧な仕様の宿題なのかYO!
都合が悪いところは勝手に直してくれYO!
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3465.c
0389ぼるじょあ ◆yBEncckFOU
2007/01/19(金) 20:03:06(・3・) あらためて>>380を読み返すとユーザーに入力させるんじゃなくて代入なのかYO!
しかも辞書式のリスト構造ってなんだYO!
とりあえず>>388は2分木だYO!
0390デフォルトの名無しさん
2007/01/19(金) 23:25:32[2] 適当な英文ファイルを読み込んで, アルファベット a 〜 z の各文字の出現回数をファイル frequency.txt に出力するプログラムを作成せよ.
ただし, 大文字と小文字は区別しないものとする.
※ fgets で文字列にデータを一行づつ読み込み, 文字列中の文字を一文字づつ調べて出現回数を配列に記録することにより数えよ. 例えば,
配列を int count[26] とすると, 'a' の個数を count[0] で, 'b' の個数を count[1] で, …, 'z' の個数を count[25] で数えるようにすればよい.
[3] 環境
[3.1] windows
[3.2] cygwin
[3.3] C
[4] 期限: 2007/1/21
[5] なるべく問題文に忠実に、難しすぎる書き方無しでお願いします。
0391ぼるじょあ ◆hZ8e4Wjqvw
2007/01/19(金) 23:45:00(・3・) エェー isalpha tolower は使ってもいいのかNA?
#include<stdio.h>
#include<ctype.h>
int main(void){
char *filename_in="適当な英文ファイル";
char *filename_out="frequency.txt";
FILE *fp_in, *fp_out;
char buf[256];
int i, count[26]={};
fp_in=fopen(filename_in, "r");
if(fp_in==NULL){
fprintf(stderr, "\nError: %s file cannot open.\n", filename_in);
return 1;
}
while(fgets(buf, sizeof(buf), fp_in)!=NULL){
for(i=0;buf[i]!='\0';i++)
if(isalpha(buf[i]))
count[tolower(buf[i])-'a']++;
}
fclose(fp_in);
fp_out=fopen(filename_out, "w");
if(fp_out==NULL){
fprintf(stderr, "\nError: %s file cannot open.\n", filename_out);
return 1;
}
for(i=0;i<26;i++)
fprintf(fp_out, "%c:%d\n", 'a'+i, count[i]);
fclose(fp_out);
return 0;
}
0392ニケ
2007/01/19(金) 23:47:32バイトで返事できなくてすみません。
ユーザーに打ってもらうのでこれで
大丈夫です。
ありがとうございました!
0393デフォルトの名無しさん
2007/01/20(土) 01:17:20ありがとうございます。使っていいのかどうか分かりませんけど
手伝ってもらったって感じで出すからそれでおkです。
0394デフォルトの名無しさん
2007/01/20(土) 08:38:260395ぼるじょあ ◆yBEncckFOU
2007/01/20(土) 08:39:010396ぼるじょあ ◆yBEncckFOU
2007/01/20(土) 08:39:500397デフォルトの名無しさん
2007/01/20(土) 10:20:34static int abc = 0;
abc++;
printf("%d,",abc);
}
呼び出した時にabcは
毎回ゼロ初期化されるのでしょうか?
それとも1,2,3,4,5・・・となるのでしょうか?
0399デフォルトの名無しさん
2007/01/20(土) 11:22:56[2] 問題文(含コード&リンク):
次のような構造体 node と変数 head があり、head は連結リストの先頭を指しています。 この関数 average は、ノードがない場合は 0 を返すものとします。
/* node 構造体と変数 head */
struct node {
char name[32]; /* 名前 */
int height; /* 身長 */
struct node *next; /* 次のノードへのポインタ */
};
struct node *head; /* 常に連結リストの先頭を指す変数 */
変数 head から順にすべてのノードを調べ、平均身長を返す関数 average
を完成させてください。
int average(void){
[3] 環境
[3.1] OS: (Windows)
[3.2] コンパイラ名とバージョン: (gcc 3.4)
[3.3] 言語: (C)
[4] 期限: [無期限]
[5] その他の制限: お願いいたします
0400ぼるじょあ ◆hZ8e4Wjqvw
2007/01/20(土) 11:54:38(・3・) エェー これでいいかNA?
int average(void){
struct node *member;
long height_sum=0L;
int node_num, ret=0;
member=head;
for(node_num=0;member!=NULL;node_num++){
height_sum+=member->height;
member=member->next;
}
if(node_num>0) ret=height_sum/node_num;
return ret;
}
0401デフォルトの名無しさん
2007/01/20(土) 13:41:410402デフォルトの名無しさん
2007/01/20(土) 13:47:300403ぼるじょあ ◆yBEncckFOU
2007/01/20(土) 19:28:38(・3・) エェー ぼるじょあは自身をぼるじょあと認識した存在の総称だからぼるじょあの中には無数のペルソナがあって特定のお仕事や履歴ってものは無いんだYO!
強いて言えば宿題を片付けるのがお仕事だYO!
0404ぼるじょあ ◆yBEncckFOU
2007/01/20(土) 19:53:070405ぼるじょあ ◆yBEncckFOU
2007/01/20(土) 20:44:290406デフォルトの名無しさん
2007/01/20(土) 20:46:16アナゴさんについて詳しく教えて下さい!!><
0407ぼるじょあ ◆hZ8e4Wjqvw
2007/01/20(土) 22:25:20(・3・) エェー 本当に知りたいなら自分がどういう立場で、どういう理由で知りたいかを
真実っぽく書けば教えてくれるかも知れないYO!
多分君が期待していると思われる回答が返ってくると思うYO!
事実ではなくて欲しい答えが…
0408ぼるじょあ ◆yBEncckFOU
2007/01/20(土) 22:47:17(・3・) エェー くちぼるの厚さは最大部分で13.4�_、色はどどめ色、下唇の中央からちょい右に小さいほくろがあるお
臭いは腐った下痢便のにおいがするお
て、ちゃうわボケ!もいらは○ナルに詳しいんだお
大人の事情で1文字だけ伏せさせて貰ってるお
0409デフォルトの名無しさん
2007/01/21(日) 00:13:24ノリツッコミ下手やなぁw
0410ノリ
2007/01/21(日) 00:16:43うちはボケ専門だ
0411デフォルトの名無しさん
2007/01/21(日) 02:10:12未定義だったり処理系定義だったりする場合があるから、その答えはまずい。
今回の例では問題ないけど。
0412デフォルトの名無しさん
2007/01/21(日) 12:54:33[2] 問題文(含コード&リンク):
buildheap 関数を参考にして、親 >= 子を満たすヒープ構造
(根に最大値を持つヒープ構造)を構成する buildheap2 関数を作ってください。
/*
親の位置 p、配列の要素数 n、配列 heap を引数に取り、
p から下のヒープ構造を構成する関数 buildheap2
*/
void buildheap2(int p, int n, int heap[]){
[3] 環境
[3.1] OS: (Windows)
[3.2] コンパイラ名とバージョン: (gcc 3.4)
[3.3] 言語: (どちらでも可)
[4] 期限: (無期限)
[5] その他の制限:
0413デフォルトの名無しさん
2007/01/21(日) 14:15:15[2] 問題文(含コード&リンク):キーボードから3つの線分(整数)を入力し、
その3つの線分で三角形を描くことができるなら"CAN MAKE A TRIANGLE"
描けないなら"CAN'T MAKE A TRIANGLE"と表示する。
[3] 環境
[3.1] OS: (Linux)
[3.2] コンパイラ名とバージョン: (gcc 3.4)
[3.3] 言語: (C言語)
[4] 期限: (無期限)
[5] その他の制限: (制御構造、論理演算子)
0414ぼるじょあ ◆hZ8e4Wjqvw
2007/01/21(日) 14:27:10(・3・) エェー 「3つの線分(整数)を入力し、」の部分があやしいけど
これでいいのかお?
#include<stdio.h>
int main(void){
int a, b, c;
printf("三角形の三辺の長さを入力して下さい :");
scanf("%d %d %d", &a, &b, &c);
if(a>0 && b>0 && c>0 && (-a+b+c)*(a-b+c)*(a+b-c)>0)
printf("\"CAN MAKE A TRIANGLE\"");
else
printf("\"CAN'T MAKE A TRIANGLE\"");
return 0;
}
0415デフォルトの名無しさん
2007/01/21(日) 14:46:08僕は大学の一年で、応用化学を専攻しています。教養の科目でプログラミングを取りました。
コンピュータの素晴らしさや、プログラミングの面白さを知りました。
そんな、プログラミングを軽々やっちゃうぼるじょあさんのことが知りたいので
いろいろ聞きました。ぼるじょあさん達のこと教えてください。
いつもありがとう
0416デフォルトの名無しさん
2007/01/21(日) 14:59:37/ ヽ_ .\
( ●)( ●) | ____
(__人__) | / \
l` ⌒´ | / ─ ─ \
. { |/ (●) ( ●) \
{ / | (__人__) |
,-、 ヽ ノ、\ ` ⌒´ ,/_
/ ノ/ ̄/ ` ー ─ '/>< ` ー─ ' ┌、 ヽ ヽ,
/ L_  ̄ / _l__( { r-、 .ト
_,,二) / ・ ・ 〔― ‐} Ll | l) )
>_,フ / }二 コ\ Li‐'
__,,,i‐ノ l × └―イ ヽ |
l i ヽl
0417デフォルトの名無しさん
2007/01/21(日) 16:11:32[2] 問題文(含コード&リンク):画面に「*」を用いて底辺が6文字分の長さ
を持つ直角三角形を表示する。for文を使用すること
実行イメージ
*
**
***
****
*****
******
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc 3.4
[3.3] 言語: C言語
[4] 期限: 無期限
[5] その他の制限:お願いします
0418デフォルトの名無しさん
2007/01/21(日) 16:18:37int main(void){
char*p="\0******" + 6;
for(;*p;--p){
puts(p);
}
return 0;
}
0419デフォルトの名無しさん
2007/01/21(日) 17:13:26#include <stdio.h>
int main(void) {
static const int n = 6;
int i, j;
for (i = 0; i < n; i++) {
for (j = 0; j < i + 1; j++)
printf("*");
printf("\n");
}
return 0;
}
0420デフォルトの名無しさん
2007/01/21(日) 17:58:510421デフォルトの名無しさん
2007/01/21(日) 18:00:42buildheapって何だよ?
0422デフォルトの名無しさん
2007/01/21(日) 18:28:14ま、いいや。どちらでも可ってことだし、とりあえずC++で。
#include <algorithm>
void buildheap2(int p, int n, int heap[]) {
std::make_heap(heap + p, heap + p + n);
}
0423デフォルトの名無しさん
2007/01/21(日) 20:25:40[2] 問題文(含コード&リンク): 整数a,bを与えた時、a,bの
最大公約数(a,b),及びax+by=(a,b)を満たすx,y∈Z
を一組求めるプログラムを作れ。
(Zは整数全体の集合とする)
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: gcc 3.4
[3.3] 言語: どちらでも可
[4] 期限: 2007年1月22日
[5] その他の制限: 問題に、実行結果をいくつか添付することと書いて
あります。
お願いします。
0424デフォルトの名無しさん
2007/01/21(日) 20:39:36よろしくお願いします。
n 個のデータをキーボードから入力し,その平均と標準偏差を求めるプ
ログラムを作成せよ。データの個数n もキーボードから入力できるようにす
ること。
※例えば,5個のデータ50,60,70,80,90 の平均は70, 標準偏差は15.8である。
(テストデータとして入力し,結果を確認せよ)
0425デフォルトの名無しさん
2007/01/21(日) 20:55:55#include <stdio.h>
void extended_gcd(int a, int b, int *x, int *y, int *g) {
int tx = 0, lastx = 1, ty = 1, lasty = 0, temp, quotient;
while (b != 0) {
temp = b; quotient = a / b; b = a % b; a = temp;
temp = tx; tx = lastx - quotient * tx; lastx = temp;
temp = ty; ty = lasty - quotient * ty; lasty = temp;
}
*x = lastx; *y = lasty; *g = a;
}
int main(void) {
int i, a[] = {88, 84, 87, 84, 92, 78, 28, 90, 96, 54}, b[] = {70, 86, 81, 74, 96, 63, 50, 35, 14, 69}, x, y, g;
for (i = 0; i < sizeof(a) / sizeof(a[0]); i++) {
extended_gcd(a[i], b[i], &x, &y, &g);
printf("%d*%d+%d*%d=%d\n", a[i], x, b[i], y, g);
}
return 0;
}
【実行例】
88*4+70*-5=2
84*-1+86*1=2
87*-13+81*14=3
84*15+74*-17=2
92*-1+96*1=4
78*-4+63*5=3
28*9+50*-5=2
90*2+35*-5=5
96*-1+14*7=2
54*9+69*-7=3
0426デフォルトの名無しさん
2007/01/21(日) 21:02:09#include <stdio.h>
#include <math.h>
int main()
{
float input_data[99], heikin, hensa, sum_heikin=0, sum_hensa=0;
int i, n;
scanf("%d", &n);
for (i=0 ; i<n ; i++)
{
scanf("%f", &input_data[i]);
sum_heikin+=input_data[i];
printf("%f\n", sum_heikin);
}
heikin=(float)sum_heikin/n;
for (i=0 ; i<n ; i++)
{
sum_hensa= sum_hensa+(input_data[i]-heikin)*(input_data[i]-heikin);
}
hensa=sqrtf(sum_hensa/n);
printf("%f\n%f\n", heikin, hensa);
return 0;
}
0427423
2007/01/21(日) 21:03:56ありがとうございます!本当に助かりました!!
0428デフォルトの名無しさん
2007/01/21(日) 21:09:10#include<stdio.h>
#include<math.h>
int main(void){
double sum,input,heikin,hensa,sum2;
int n;
printf("入力されたデータの平均と標準偏差を求めます。\n");
printf("入力を終わらせたい時は000と入力して下さい。\n\n");
printf("データを入力して下さい\n");
n=0;
sum=0;
sum2=0;
while(input!=000){
n++;
printf("%d番目のデータ:",n);
scanf("%lf",&input);
sum=sum+input;
sum2=sum2+input*input;
}
heikin=sum/(n-1);
hensa=sqrt((sum2/n-1)-(heikin*heikin));
printf("平均:%lf\n",heikin);
printf("標準偏差:%lf\n",hensa);
return(0);
}
0429ぼるじょあ ◆hZ8e4Wjqvw
2007/01/21(日) 21:21:10(・3・) エェー n-1を括弧で括ってないから間違ってるYO!
あと、質問テンプレの標準偏差の数値は不偏分散の二乗根みたいだYO!
0430デフォルトの名無しさん
2007/01/21(日) 21:47:02[2] 問題文(含コード&リンク):相手にメールを送り、受け取った人がそれを開くと
自動的にドレミファソラシドの音を繰り返すプログラムを作成せよ。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C/C++どちらでも可
[4] 期限:2007/2/4
[5] その他の制限:音階は特に気にしなくていいです
0431デフォルトの名無しさん
2007/01/21(日) 22:14:170432デフォルトの名無しさん
2007/01/21(日) 22:51:02です。書き忘れ。
0433デフォルトの名無しさん
2007/01/21(日) 23:48:28>自動的にドレミファソラシドの音を繰り返す
この部分はメーラー依存になるな
VBSでいいのか?
0434デフォルトの名無しさん
2007/01/22(月) 00:11:010435デフォルトの名無しさん
2007/01/22(月) 10:10:38[2] 問題文(含コード&リンク):
中心の要素は a[(left+right)/2] で求めることができます。
この要素を左側の要素と交換すれば、同じプログラムを利用できます。
クイックソートの軸として、中心の要素の値を使うことが一般的です。
quicksort 関数を変更してください。
[3] 環境
[3.1] OS: (Windows)
[3.2] コンパイラ名とバージョン: (gcc 3.4)
[3.3] 言語: (C)
[4] 期限: (明後日)
[5] その他の制限:
0437デフォルトの名無しさん
2007/01/22(月) 20:38:010438デフォルトの名無しさん
2007/01/22(月) 20:38:240439ぼるじょあ ◆hZ8e4Wjqvw
2007/01/22(月) 20:43:10(・3・) エェー もいらはギブアップだYO! 他のぼるじょあさんと名無しさんが頼りだNE!
ちなみに、メールを受信した側のPCで音を鳴らすの?
それとも、メール送信した側で開封通知メールの機能を使って送信した側で音を鳴らすの?
0440デフォルトの名無しさん
2007/01/22(月) 20:47:100441440
2007/01/22(月) 20:52:430443デフォルトの名無しさん
2007/01/22(月) 20:55:460444デフォルトの名無しさん
2007/01/22(月) 23:08:320445デフォルトの名無しさん
2007/01/23(火) 11:14:25できるけど今は他のやってるから。
終わったらやろうか?
0446デフォルトの名無しさん
2007/01/23(火) 11:16:260447デフォルトの名無しさん
2007/01/23(火) 19:08:36[2] 問題文
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main(int argc, char *argv[]){
int c;
FILE *src; /* 読み出し側 */
FILE *dst; /* 書き込み側 */
char ifilename[128]; /* 読み出しファイル名 */
char ofilename[128]; /* 書き込みファイル名 */
if(argc != 2){
[ 空欄 1 ](stderr, "利用方法: %s filename\n", argv[0]);
return 1; }
/* ifilename に argv[1] をコピー */
[ 空欄 2 ](ifilename, argv[1]);
/* ofilename に ifilename に .tmp を付けたものを出力 */
[ 空欄 3 ](ofilename, "%s.tmp", ifilename
src = [ 空欄 4 ](ifilename, "r");
if(src == NULL) {
printf("ファイル%sのオープンに失敗しました\n", ifilename);
return 1; }
dst = [ 空欄 4 ](ofilename, "w");
if(dst == NULL) {
printf("ファイル%sのオープンに失敗しました\n", ofilename);
return 1; }
/* EOF でないかぎり、src から 1 文字読み出し */
while((c = fgetc(src)) != EOF){
if(isupper(c))
0448デフォルトの名無しさん
2007/01/23(火) 19:09:16else if([ 空欄 6 ](c))
c = toupper(c); /* 小文字は大文字に変換 */
/* dst に 1 文字書き込み */
[ 空欄 7 ](c, dst);
}
/* ファイルを閉じる */
[ 空欄 8 ](src);
[ 空欄 8 ](dst);
/* ifilename を削除 */
if([ 空欄 9 ](ifilename) != 0){
[ 空欄1 ](stderr, "ファイル%sを削除できませんでした。\n",
ifilename);
return 1;
}
/* 出力したファイルの名前を、ofilename から ifilename に変更 */
if([ 空欄 10 ](ofilename, ifilename) != 0){
[ 空欄 1 ](stderr, "ファイル%sの名前を変更できませんでした\n",
ofilename);
return 1;
}
return 0;
}
0449デフォルトの名無しさん
2007/01/23(火) 19:09:590450デフォルトの名無しさん
2007/01/23(火) 19:11:15コマンドの引数としてコマンドラインに指定されたファイル名のファイルを開き、
その内容についてアルファベットの小文字を大文字に、大文字を小文字に変換し
(それ以外はそのまま)、いったん別名のファイルに出力します。最後に元の
ファイルを削除して、仮に出力したファイルの名前を、元のファイル名(引数のファイル名)
に変更します。
0451デフォルトの名無しさん
2007/01/23(火) 19:25:410452デフォルトの名無しさん
2007/01/23(火) 19:58:27>>430やってくれてるのかなぁ・・・
0453ぼるじょあ ◆yBEncckFOU
2007/01/23(火) 20:53:45linuxはどんなメーラーでも受け取ったメールが音を鳴らす仕組みがあるのかお?
もしかして安易に実行可能ファイルを実行できたりもするのかお?
てそんなわけないか
0454デフォルトの名無しさん
2007/01/23(火) 21:57:03[2] 問題文(含コード&リンク): 一単語一行の入力テキストを、指定された桁数(70)以内で、
できるだけ少ない行数に納まるように調整して出力する。
ただし、単語の途中で改行してはいけない。
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: わかりませんが、Visual Studio 2005
を使っています
[3.3] 言語:C++
[4] 期限:1月25日
[5] その他の制限: 特に指定されていません。
よろしくお願いします。
0455デフォルトの名無しさん
2007/01/23(火) 22:00:400456デフォルトの名無しさん
2007/01/23(火) 22:06:23■ このスレッドは過去ログ倉庫に格納されています