トップページ⇒tech
1001コメント402KB

C/C++の宿題を片付けます 77代目

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG?2BP(12)
あなたが解けない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++の宿題を片付けます 76代目
http://pc8.2ch.net/test/read.cgi/tech/1162771475/
【過去スレ一覧】
http://makimo.to/cgi-bin/search/search.cgi?q=C%2B%2B%82%CC%8Fh%91%E8&andor=AND&sf=2&H=&view=table&D=tech&shw=2000
0263デフォルトの名無しさん2006/11/25(土) 00:48:35
鬱にならないでください
もしなったらまた相談しにきてください。
0264デフォルトの名無しさん2006/11/25(土) 01:05:57
>>262
スレ違いでしたか・・・。どうもスイマセン。
誘導ありがとうございます。そちらで質問し直します。
0265 ◆bLCzllni4s 2006/11/25(土) 01:06:42
↑は自分です、失礼しました・・・
0266デフォルトの名無しさん2006/11/25(土) 01:18:41
>>242
漏れだったらこんな風にするが。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3031.c
0267デフォルトの名無しさん2006/11/25(土) 01:20:02
って、もう去ってたのか。
0268デフォルトの名無しさん2006/11/25(土) 01:42:19
>>266コレって一体何やってんの?
0269 ◆/FsopyQZxE 2006/11/25(土) 01:58:21
>>205
有難うございました!まだまだ勉強不足のようなので、
初めから勉強し直したいと思います!
0270デフォルトの名無しさん2006/11/25(土) 02:03:46
>>268
ファイル上に領域を確保してる。
MapViewOfFile (unix 系では mmap) を使うと、ファイルをメモリ上に対応付ける事ができ、
該当するメモリへの読み書きが直接ファイルに対する読み書きになる。
技術的にはスワップファイルと同じ仕組み。

free() する場合と違い、対応付けを解除しても内容はファイル上に保持されるので、アクセス
する必要のある配列を必要のある期間だけ対応付け、必要がなくなったら即対応付けを解除
することで、アドレス空間を節約できる。(なので一度に7配列アクセスしたら当然破綻する)

# ちなみにかつての 16bit Windows は同じような仕組みで少ない実メモリをやりくりしてた。
0271デフォルトの名無しさん2006/11/25(土) 02:21:15
何か質問したやつコッチ行ったみたいだからそのスレも見てやったら?
コピペも張られてるみたいだし
【初心者歓迎】C/C++室 Ver.33【環境依存OK】
http://pc8.2ch.net/test/read.cgi/tech/1164376287/
0272デフォルトの名無しさん2006/11/25(土) 05:12:21
[1] 授業単元: コンピューター実習
[2] 問題文:以下のサンプルを参考に、文字で cos カーブ、sin カーブを描くプログラムの作成
#include <stdio.h>
#include <math.h>
// cc -lm
#define PI 3.1415926
int main( void )
{int deg;
for (deg=0 ; deg <= 360; deg += 20)
printf("%3d: %6.3lf %6.3lf\n",deg ,cos( (double)deg * PI / 180.0 )
,sin( (double)deg * PI / 180.0 ));
}
0 * +
15 * +
30 * +
45 +
60 + *
75 + *
90 + *
105 + *
120 + *
135 + *
150 + *
165 + *
180 + *
195 + *
210 + *
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:11月29日
0273デフォルトの名無しさん2006/11/25(土) 05:29:34
>>272
/* cc -lm */
#include <stdio.h>
#include <string.h>
#include <math.h>
#define PI 3.1415926
int main(void){
    int deg;
    for (deg=0 ; deg <= 210; deg += 15){
        const int x1=(int)(sin(deg*PI/180.0)*25);
        const int x2=(int)(cos(deg*PI/180.0)*25);
        int i;
        printf("%3d ",deg);
        for(i=-25;i<=25;++i)
            putchar(i==x1?'*':i==x2?'+':' ');
        puts("");
    }
    return 0;
}
0274デフォルトの名無しさん2006/11/25(土) 10:48:07
[1] 授業単元: コンピューター実習 
[2] 問題文:入力した文字を元に、それを拡大したアスキーアートを描くプログラムの作成 
 [3.1] OS:Linux 
 [3.2] コンパイラ名とバージョン:gcc 
 [3.3] 言語:C 
[4] 期限:11月29日 
0275デフォルトの名無しさん2006/11/25(土) 10:54:01
>>274
AAは自前で用意すんの?
0276デフォルトの名無しさん2006/11/25(土) 12:25:21
[1] 授業単元:UNIXプロセス管理
[2] 問題文(含コード&リンク):
簡単なパイプを実現するシェルプログラムを作りなさい。

@ ls | more
. . .
@

のようにコマンドを'|'でつなげると、前のコマンドの
標準出力を後ろのコマンドの標準出力とします。
簡単のため、コマンドは2つだけとします。
パイプの実現にはpipeシステムコールを
使います。

int fds[2];

pipe(fds);

write(fds[1], . . . .);

read(fds[0], . . .);

[3] 環境
 [3.1] OS:UNIX
 [3.2] コンパイラ名とバージョン:gcc 3.4
 [3.3] 言語:C
[4] 期限:2006年11月25日23:00まで
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
ポインタ、構造体、システムコールなどは習いました。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3033.txt
授業でやった↑のサンプルを改造して作るらしいです。
0277デフォルトの名無しさん2006/11/25(土) 12:53:34
>>151
まず、サンプルの実行結果だけど、
-----
input the number of vertices n and the number of edges m
4 3
input tail and head of an edge m times
1 2
1 3
2 3

adjacency list
1: 1 2
2: 3
3:
4:

path: a tail head
1: 10 0 0
2: 1 1 2
3: 3 2 3
-----
隣接リスト(adjacency list)で1に対して1、2って正しいのか?
2、3が正しいと思うんだが、
それと最期のpath: と a って何? a[1]=10になってるしサンプルバグってね?
02782772006/11/25(土) 13:04:25
それから、無向グラフにした場合は隣接リスト表示するだけでOK?
02792772006/11/25(土) 13:24:07
>>276
#include <fcntl.h>
このファイルも自前だろ。晒せ。
0280デフォルトの名無しさん2006/11/25(土) 13:28:34
>>279はミス。無かった事にして。
02812412006/11/25(土) 14:21:31
>>243-244
レスありがとうございました。

#include <stdio.h>
#include <string.h>

#define COLSIZE 80

int main(int argc, char *argv[])
{
char buffer[COLSIZE + 1], new[COLSIZE + 1];
FILE *fp;

fgets(new, COLSIZE + 1, stdin);
a[strlen(new)] = '\0';

fp = fopen("new", "r");

fgets(buffer, COLSIZE + 1, fp);

while(fgets(buffer, COLSIZE + 1, fp) != NULL){
printf("%s", buffer);
}
fclose(fp);

return 0;
}

考えた結果こうなったのですが違ってますよね?
どこが違うのでしょうか?
0282デフォルトの名無しさん2006/11/25(土) 14:25:45
>>281
ところどころに出てくる
> COLSIZE + 1
には何か特別な意味があるのか?
0283デフォルトの名無しさん2006/11/25(土) 14:32:13
>>281
1.
>fp = fopen("new", "r");
"new" では、「newという内容の文字列」になってしまう。
指定したいのは new という「変数」。

2.
一番目の文字を指す時 new[ ? ] の ? に入る数字は?また長さ一の文字列の最後の文字はどこにある?
二番目の文字を指す時 new[ ? ] の ? に入る数字は?また長さ二の文字列の最後の文字はどこにある?
   ・
n 番目の文字を指す時 new[ ? ] の ? に入る数字は?また長さ n の文字列の最後の文字はどこにある?

02842822006/11/25(土) 14:42:56
ああ、COLSIZE+1は終端文字も含めてか
0285デフォルトの名無しさん2006/11/25(土) 14:44:25
>>281
>a[strlen(new)] = '\0';
new[strlen(new)] = '\0'; もしくは
new[strlen(new)-1] = '\0';

fopen() 直後のfgetは余計
0286デフォルトの名無しさん2006/11/25(土) 14:56:08
>>285
あんた馬鹿?
0287デフォルトの名無しさん2006/11/25(土) 15:13:23
[1] 授業単元:プログラミング
[2] 問題文:2つの最大40桁の自然数を読み込み、その和を返すプログラムを作れ。
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名: gcc
 [3.3] 言語: C
[4] 期限:来週の木曜日(11月30日)まで
[5] その他の制限:構造体、ポインタを軽くならったところです。
    入力は文字列で行い、それを型変換し計算するという流れになるかと思いますが、
  文字列の扱いに困っております。
0288デフォルトの名無しさん2006/11/25(土) 15:37:05
>>287
以前 fj に似たようなのが流れてたなぁと思って検索したら出てきた。
ttp://katsu.watanabe.name/ancientfj/article.php?mid=%3C784lk3%245t%241%40news1.dti.ne.jp%3E
0289デフォルトの名無しさん2006/11/25(土) 15:42:25
>>287
適当に書いてみた。
#include<stdio.h>
#include<string.h>
void std_reverse(char*begin,char*end){
    char c;while(begin != end && begin != --end)c=*begin,*begin++=*end,*end=c;
}
char*my_strrev(char*p){std_reverse(p,p+strlen(p));return p;}
int main(void){
    char a[41]={0},b[41],c,*p=a,*q=b;
    scanf("%s%s",a,b);
    my_strrev(a);my_strrev(b);
    for(c=0;*p||*q||c;c=*p > '9',*p++ -= c * 10)
        *p = (*p?*p:'0') + (*q?*q++-'0':0) + c;
    puts(my_strrev(a));
    return 0;
}
0290デフォルトの名無しさん2006/11/25(土) 15:46:24
>>286 はぁ?具体的に示してみろよ。
0291デフォルトの名無しさん2006/11/25(土) 16:10:21
>new[strlen(new)] = '\0'; もしくは
少なくともこれは全く無意味だな。
0292デフォルトの名無しさん2006/11/25(土) 16:12:14
もしくはの意味わかるか?
0293デフォルトの名無しさん2006/11/25(土) 16:18:22
>>292
もしかして、真偽値を確かめてから偽なら後を実行するというアレか!?
0294デフォルトの名無しさん2006/11/25(土) 16:18:59
実験まで強要するとは憎いやつじゃ
0295デフォルトの名無しさん2006/11/25(土) 16:39:42
>>292
その文脈でもしくはと書く以上、

:私にはどちらを依頼人が望んでいるかは分からないが、
:依頼人の望む動作は A と B のどちらかであるように私には思える。

と解釈するのが常識的であって、つまり本人は A にも B にも意味があると
思っていると判断されて当然では。

逆に、私はわざとやったとは考えてないが、もし本人が、一方は全くのハズレで
意味がないと重々承知した上でわざとこのように書いたのなら、その軽重は
別として、相手を混乱させてやろうといった意思があったことになるのでは。
0296デフォルトの名無しさん2006/11/25(土) 16:49:59
問題 「もしくは」を使って文章を作りなさい

回答 彼は頼もしくはない
0297デフォルトの名無しさん2006/11/25(土) 18:10:21
>>286
 オナニーはひとりで汁
0298デフォルトの名無しさん2006/11/25(土) 18:14:00
>>297
まぁ、みせっこもたまにはいいよね
0299デフォルトの名無しさん2006/11/25(土) 18:23:13
[1] 授業単元: 応用プログラミング
[2] 問題文(含コード&リンク): ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3036.txt
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C言語
[4] 期限: 2006年11月26日20時00分まで
[5] その他の制限: 問題で与えられたソースを元にせよという指示がありました。
よくわからない部分は全力で調べるのでよろしくお願いします
0300デフォルトの名無しさん2006/11/25(土) 18:27:52
[1] 授業単元: プログラミング�T
[2] 問題文:
文字列と数字を与え、文字列の長さが数字より大きいかどうかを判定し、
その後に文字列の長さがどれだけ数字より大きいかを求めて表示するようなプログラムを作成せよ。
文字列の長さの方が小さい場合は何もせず終了せよ。

[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名: gcc
 [3.3] 言語: C
[4] 期限: 11/29まで
[5] その他の制限: まだ始めたばっかなんで全然わかりません。
0301デフォルトの名無しさん2006/11/25(土) 18:32:14
ポインタがわからないんだが、どうすればいい?
スレ住人おすすめの本かサイトを教えてくれ。
0302デフォルトの名無しさん2006/11/25(土) 18:33:48
>>301
brainf*ckがいいんじゃないか?
ぐぐってみろ
0303デフォルトの名無しさん2006/11/25(土) 18:42:40
[2] 問題文:
受け取った引数xの全桁の合計値を返す関数
int sum_dgt(int x) {/* */} を作り実行しなさい。
例えばx=234のときは9となる。(正の整数とする)
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名: gcc
 [3.3] 言語: C
[4] 期限: 11/28まで

おねがいします
03042812006/11/25(土) 18:43:33
>>284
はい、そういうことです。

>>283氏と>>285氏のレスで解りました。
ありがとうございます。

ただ、>>285氏の
>fopen() 直後のfgetは余計
というので、なぜfopen() 直後のfgetが必要ないのかは、
いまいち解りませんが。
03051512006/11/25(土) 19:19:11
>>277
点数が4で
辺数が3のグラフって閉路がなくないですか?
0306デフォルトの名無しさん2006/11/25(土) 19:21:44
もう151は来るな
死んでくれ
03071512006/11/25(土) 19:23:17
暴言吐いていたのは自分じゃないですよ。それは信じて下さい
0308デフォルトの名無しさん2006/11/25(土) 19:24:06
>>307
わかっているさ
0309デフォルトの名無しさん2006/11/25(土) 19:24:11
どこ大?
俺より下だったら答えてあげる
03101512006/11/25(土) 19:29:11
慶應です。
0311デフォルトの名無しさん2006/11/25(土) 19:30:13
俺ポン大なんだよね
死ねよKO
03121512006/11/25(土) 19:31:58
310は自分じゃないです。あーなんでこんなに偽物が・・・
慶應ではないです
特定されると嫌なので書きたくないですが、慶應よりは下です
0313デフォルトの名無しさん2006/11/25(土) 19:32:29
俺は苦労してポン大しか入れなかったというのに
ボンボンというだけで慶應に入って
おまけに卒業に必要な単位は他人任せか
腐れ外道が
03141512006/11/25(土) 19:36:09
日大って猿でも受かるんじゃないんですか?
幼稚舎にいた頃、アルバイトで来ていた日大の学生さんを見て、日大はお猿さん養成所も同然だと母が言ってましたが。
0315デフォルトの名無しさん2006/11/25(土) 19:37:44
どれかひとつぐらいは
こっそり本人が書いたんじゃないかと思えてきたよw
0316デフォルトの名無しさん2006/11/25(土) 19:40:38
NG推奨名前:151
0317デフォルトの名無しさん2006/11/25(土) 19:42:29
>>312
信じてるよ
0318デフォルトの名無しさん2006/11/25(土) 19:43:37
>>317
俺も信じてるよ
0319デフォルトの名無しさん2006/11/25(土) 19:44:17
内容:
[1] 授業単元:情報処理工学1
[2] 問題文(含コード&リンク): 下記
[3] 環境
 [3.1] OS:XP
 [3.2] コンパイラ名とバージョン:VC++
 [3.3] 言語: C++
[4] 期限: 明日まで
[5] その他の制限:

class Vector{
public:
void f(){cout << "f()" << endl;}
};

int main(){
vector<Vector*> vec;
Vector *v;
for(int i = 0; i < 10; i++) { v = new Vector; vec.push_back(v); }
for(vector<Vector*>::Iterator i = vec.begin(); i < vec.end(); i++)
i.***->f();
}

というプログラムを作ってるんですが、動的にクラスを確保して、それを次々にvectorに格納して、最後に表示をするっていうふうにしたんです。
ですが、***の部分をどうやったらいいのか、わかりません。クラスではなく、整数であれば、i をそのまま使えばいいんですけど、クラスだとうまくいきません。
どうしたらいいでしょうか??
0320デフォルトの名無しさん2006/11/25(土) 19:44:26
どうでもいいがとりあえず今未解決の課題はどれだけあるんだ
前スレのは知らんがこのスレのを消化していこうぜ
下らん流れはさっさと断ち切るに限る
0321151 ◆nEYxVzEafI 2006/11/25(土) 19:46:59
今更遅いかもしんないっすけど、トリップつけます
0322デフォルトの名無しさん2006/11/25(土) 19:50:26
>>90
>>93
>>151
>>274
>>276
>>299
>>300
>>303
>>319

未解決課題
0323デフォルトの名無しさん 2006/11/25(土) 19:50:57
>>303
//受け取った引数xの全桁の合計値を返す関数
int sum_dgt(int x)
{
int digit = 1;
int sum = 0;
int i ;
int xx ;
int xxx = x;

for(i = 1; x > 1 ;i++){
x /=10;
digit *= 10;
}
for(;digit > 0; digit/=10){
xx = xxx;
xx /= digit;
sum += xx;
xxx-=xx*digit;
}
return sum;

}
0324151 ◆nEYxVzEafI 2006/11/25(土) 19:51:59
>>322
自分のも含めて頂いてありがとうございます。てっきりスルーされると思いました。
0325デフォルトの名無しさん2006/11/25(土) 19:53:32
>>90 (今日中)
>>151 (今日中)
>>274 (29日まで)
>>276 (今日の23時まで)
>>299 (明日の20時まで)
>>300 (29日まで)
>>319 (明日まで)

期限切れを消しといた
0326デフォルトの名無しさん2006/11/25(土) 19:54:32
みんな期限迫りすぎだろw
もっとゆとりを持って依頼に来てくれよw
0327151 ◆nEYxVzEafI 2006/11/25(土) 20:00:24
>>325
来週の水曜日までOKになりました
0328デフォルトの名無しさん2006/11/25(土) 20:02:12
↑>>276 (今日の23時まで)
│>>90 (今日中)
│>>299 (明日の20時まで)
│>>319 (明日まで)
↓>>151 >>274 >>300 (29日まで)

まあまったり待てや
0329デフォルトの名無しさん2006/11/25(土) 20:03:38
>>90はファイルがもうないから消していいと思われ
0330デフォルトの名無しさん 2006/11/25(土) 20:06:56
>>300
#include <stdio.h>
#include <string.h>
//'\0'は数えないものとする
void Compar(int x, char s[])
{
unsigned int len;

len = strlen(s);
if(x <= len)
printf("文字の長さと数値の差は%d \n",len - x);
else
return;
}
0331デフォルトの名無しさん2006/11/25(土) 20:09:00
↑>>276 (今日の23時まで)
│>>299 (明日の20時まで)
│>>319 (明日まで)
↓>>151 >>274 (29日まで)
0332323,3002006/11/25(土) 20:10:57
すぐ出来るやつだけやった。
0333名無しさん2006/11/25(土) 20:13:47
現在、WindowsXP Pro+ VS2005 Proを使って開発中です。

1を入力されるとIMEがONになって、'あ' と表示するプログラムの作成中です。
以下のコードではIMEがONになってくれなくて、'a' と表示されます。
ご指摘お願いします。

void fnConvert(MSG *pMsg)
{
static int iCnt= 1;

if( (pMsg->wParam == 0x31) && (pMsg->message == WM_KEYDOWN) )
{
pMsg->wParam= 0x41;
break;
}
}
0334デフォルトの名無しさん2006/11/25(土) 20:14:23
お疲れ。
俺は274でもやるか
本人降臨してほしいが
0335デフォルトの名無しさん2006/11/25(土) 20:17:01
C++ってインスタンスじゃなくクラスを確保するんだ
0336デフォルトの名無しさん2006/11/25(土) 20:18:32
>>326
しかし宿題出された瞬間にここに出されても萎えるという
0337デフォルトの名無しさん2006/11/25(土) 20:33:21
>>299
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3037.c
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3038.c
0338デフォルトの名無しさん2006/11/25(土) 21:03:07
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク): あるテキストファイルに含まれるA〜Zの個数をカウントするプログラムをつくれ。
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: lcc
 [3.3] 言語: C
[4] 期限: 11月28日まで
お願いします。どう検索すればいいかも分からないので教えていただきたいです。
答えがほしいですが、ヒントをいただければ自分でも努力はします。


0339デフォルトの名無しさん2006/11/25(土) 21:05:42
>>338
fgetc()を使ってEOFになるまで一文字ずつ読み込み、isalpha() && isupper()が
真になる時に配列count[26]のうち対応する文字のカウントを+1する。
0340デフォルトの名無しさん2006/11/25(土) 21:15:57
>>338
質問されても面倒なので答えを書いておく

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

int main(void)
{
int chr[26] = {0}, c, i;
FILE *fp;

if ((fp =fopen("count1.c", "r")) == NULL) /* ファイル名は適宜変更 */
exit(1);

while ((c = fgetc(fp)) != EOF)
if (isalpha(c) && isupper(c))
chr[c - 'A']++; /* Windows上で動かす事を前提とする */

for (i = 0; i < 26; i++)
printf("%c : %dcount(s)\n", i + 'A', chr[i]);

return 0;
}
0341デフォルトの名無しさん2006/11/25(土) 21:16:38
あ、最後にfclose(fp); してから return 0; しといてね
0342デフォルトの名無しさん2006/11/25(土) 21:23:57
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク): テキスト(英文)を読み込んで単語を全て取り出し、重複する単語は1つにまとめ、その単語がいくつあったかabc順に並べて表示するプログラムを書きなさい。(.,"などは含まない)
[3] 環境
 [3.1] OS:WindowsXP
 [3.2] lcc
 [3.3] 言語:C
[4] 期限:2006年11月26日24:00まで
プログラミング初心者です。申し訳ありませんがどなたかお願いします。
0343デフォルトの名無しさん2006/11/25(土) 21:26:08
>>340に補足
#include <stdio.h>
#include <ctype.h>
#define NUMBER 26
main(int argc, char **argv){FILE *fp; int i, c, chr[NUMBER]={0};
if((fp=fopen(argv[1],"r")) == NULL) puts("need 1 parameter");
else {
while ((c=fgetc(fp))!=EOF) if (isalpha(c)) chr[toupper(c)-'A']++;
fclose(fp);}

for (i=0; i<NUMBER; i++) printf("%c: %3d time%s\n",i+'A',chr[i], chr[i]>1?"s":"");
getchar();return 0;}
0344デフォルトの名無しさん2006/11/25(土) 21:26:55
>>342
ていうか、K&Rもんばっかだな
03452872006/11/25(土) 21:30:50
>>288
ありがとうございます。が、なんか文字化けしちゃって私の環境では見れませんね・・・
わざわざ張ってくださったのに申し訳ないです

>>289
これはこれは、わざわざ作ってくださってありがとうございます
しかし私のポインタの知識が未熟なせいか、今現在はまだ読み解けない部分がありますね
けれども、これはとても参考になります。ほんとにありがとうございました
0346デフォルトの名無しさん2006/11/25(土) 21:32:33
>>345
base64知らないのか
0347デフォルトの名無しさん2006/11/25(土) 21:41:19
ランディ・バースは44番
0348デフォルトの名無しさん2006/11/25(土) 21:50:50
聞いてねぇーよ
0349デフォルトの名無しさん2006/11/25(土) 21:54:34
ごめん俺が聞いたんだ。
ホント悪かった。
0350デフォルトの名無しさん2006/11/25(土) 21:55:31
↑>>276 (今日の23時まで)
│>>319 >>342 (明日まで)
↓>>151 >>274 (29日まで)

未解消
03512872006/11/25(土) 21:58:09
>>346
すみません知りませんでした
一応ググって復元してみたら無事プログラムソースを見ることができました
お手数かけまして申し訳ありません
0352デフォルトの名無しさん2006/11/25(土) 22:00:19
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
y=sin2x*cosx(0≦x≦π/4)をgnuplotで図示せよ。
gnuplotの関数表示機能は使わず、C言語でプログラムを組んで、その出力
データをgnuplotで読み込んで図示させること。刻み数は1000とする。
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C
[4] 期限: 来週の火曜日の20時までです。
[5] その他の制限:特になし。
出力データをファイルに書き込み、gnuplotでそのファイルを読み込み
グラフを表示させる、といことです。
よろしくお願いします。
0353デフォルトの名無しさん2006/11/25(土) 22:05:28
ところでいつか丸投げされてた遺伝的アルゴリズムの問題解こうと思うんだが
俺遺伝的アルゴリズムやったことないんだ

計算結果はdoubleで返すことを期待されてると思うんだが
double型にビット演算ってできないよな?
何か良いアイデア知ってる火といないかな
0354デフォルトの名無しさん2006/11/25(土) 22:07:25
>>319
class Vector {
public:
void f(){ std::cout << "f()" << std::endl; }
};

int main()
{
std::vector<Vector*> vec;
Vector *v;
for (int i = 0; i < 10; i++) {
v = new Vector;
vec.push_back(v);
}
for (std::vector<Vector*>::iterator i = vec.begin(); i < vec.end(); ++i)
(*i)->f();
}
0355デフォルトの名無しさん2006/11/26(日) 00:15:05
>>352
gnuplotに読み込ますデータの仕様くらい用意してから書き込めよ。
0356デフォルトの名無しさん2006/11/26(日) 00:16:38
>>353
つ union
0357デフォルトの名無しさん2006/11/26(日) 00:40:25
>>356
お こんな要素があったのか バッチリだな
ありがとう
03583522006/11/26(日) 00:55:37
>>355
すいません、
>gnuplotに読み込ますデータの仕様くらい用意してから書き込めよ。
というのは、出力データをどんな感じでファイルに書き込むか、という
ことですか?
xiとyiとしたら
0.0000 0.14356
0.0100 0.16344
. .
. .
. .
という感じです。
0359デフォルトの名無しさん2006/11/26(日) 01:05:49
>>352
#include<stdio.h>
#include<math.h>

#define N 1000

double f(double x){
return sin(2*x)*cos(x);
}

int main(void){
double x, dx=(M_PI/4)/N;
int i;

for(i=0;i<=N;i++){
x=i*dx;
printf("%f %f\n", x, f(x));
}

return 0;
}
0360デフォルトの名無しさん2006/11/26(日) 02:23:49
greeting all:

excuse me for writing in English, i haven't installed japanese IME
so i can't type in japanese

i'm working on my project in my computer science class and
found a very interesting result. that is recursive merge-sort
function is faster than non-recursive version.

i posted the same question on cprogramming.com so that
the details and my source code is provided at
http://cboard.cprogramming.com/showthread.php?p=612918#post612918
03613532006/11/26(日) 04:03:12
うん 出来たっぽい

さすがに人に見せられるレベルじゃないのでもう少し手を入れるが
もし締め切りが近かったらアレなので89はまだいたら締め切り示せ
03622282006/11/26(日) 06:42:23
>>228 訂正
コンパイラ名とバージョン:VC 6.0
で未解決なのでお願いします
■ このスレッドは過去ログ倉庫に格納されています