ぼるじょあがC/C++の宿題を片づけますYO! 68代目at TECH
ぼるじょあがC/C++の宿題を片づけますYO! 68代目 - 暇つぶし2ch400: ◆lIN/ESgxWw
07/07/14 00:22:48
[1]単元:プログラミング
[2]問題文:URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3]環境
  コンパイラ:cc
OS:リナックス
  言語:C
[4]期限:7月19日
 よろしく頼みます。

401:デフォルトの名無しさん
07/07/14 00:42:49
[1] 授業単元:情報科学Ⅱ
[2] 問題文(含コード&リンク):URLリンク(brain.is.kyushu-u.ac.jp) の課題11
[3] 環境
 [3.1] OS: Windows
 [3.2] 普段はcygwinつかっているのでgcc 3.4 だとおもいます。
 [3.3] 言語: Cです。
[4] 期限: 2007・07・16まで

よろしくおねがいします。

402:デフォルトの名無しさん
07/07/14 01:28:23
>400
ほとんど答えが書いてあるようなもんなのに、なんで自分でやらないかねぇ

403:デフォルトの名無しさん
07/07/14 02:38:58
>>401
int push(int data, int *sp, int *STK)
{
if (*sp == 0) return 0;
(*sp)--; *(STK + *sp) = data;
return 1;
}
int pop(int *dataP, int *sp, int *STK)
{
if (*sp == N) return 0;
*dataP = *(STK + *sp); (*sp)++;
return 1;
}
void dsp_stack(int top, int *a)
{
int i;for (i = top; i < N; i++) {
printf("%d:%3d\n",i, *(a + i));}
}


404:もり
07/07/14 10:34:36
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):次のプログラムは、式を入力すると計算結果を表示するプログラムであるが、
誤っている点があります。現在の内容を理解し、誤りを訂正してコメントをつけてください。
#include <stdio.h>   #include <stdlib.h>     #include <ctype.h>
char *p; char c[100];  int expression(void);   int term(void);
int number(void);    main(){ int ans;      while(1){
printf("Enter expression : ");  fgets(c,90,stdin);   p=&c;
if(*p == '\n')     break;      ans = expression();
printf("Answer:%d\n", ans); } }     int expression(){ int ans;
ans = term();       while(1){     if(*p == '+'){
ans = ans + term();       }else if(*p == '-'){
ans = ans - term(); }else    break; }
return(ans); }         int term(){
int ans,x;           ans = number();
while(1){           if(*p == '*'){
ans = ans * number();     }else if(*p == '/'){
x = number();         if(x == 0){
printf("Division by 0\n");   exit(1); }
ans = ans / x; }else      break; }
return(ans); }         int number(){
int i=0;            while (isdigit(*p)){
i=i*10+(*p++)-48;}       return(i); }
[3] 環境
 [3.1] OS: Windows [3.2] gcc 3.4 [3.3] 言語: C言語
 [4] 期限: 2007/7/17 改行が多すぎて、乗せられなかったためこんな形になりますた。すみません。宜しくお願いします。


405:デフォルトの名無しさん
07/07/15 09:18:02
うpろだ使えよww

406:デフォルトの名無しさん
07/07/15 14:09:09
>>404
スレリンク(tech板:868番)


407:デフォルトの名無しさん
07/07/15 15:44:54
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS:Windows xp
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:無期限
[5] その他の制限:なし
よろしくお願いします。


408:デフォルトの名無しさん
07/07/15 15:50:40
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):  フィボナッチ数列の第n 番目(1 ≤ n ≤ 50)の数を出力するプログラムを作成しなさい.
[3] 環境
 [3.1] OS:Windows xp
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:無期限
[5] その他の制限:なし
よろしくお願いします。

409:デフォルトの名無しさん
07/07/15 16:02:05
>>408
#include <stdio.h>

int main(void){

int i, max;
int tanka, kosuu, total = 0;
double tax_total = 0.0;

printf("商品数を入力してください. --> ");
scanf("%d", &max);

for(i=0; i<max; i++){
printf("<商品%d>\n", i+1);
printf("単価を入力してください. --> ");
scanf("%d", &tanka);
printf("個数を入力してください. --> ");
scanf("%d", &kosuu);

printf("** 単価×個数 ** ==> %d\n", tanka * kosuu);
total += tanka * kosuu;
printf("** 累積合計代金 ** ==> %d\n", total);
tax_total += total * 1.05;
printf("** 消費税込み累積合計代金** ==> %lf\n", tax_total);
}

return 0;
}

コンパイル通してないからどっかエラーでたら教えてね☆

410:デフォルトの名無しさん
07/07/15 16:04:09
#include <stdio.h>
typedef struct
{
int nValue;
int nNums;
int nPrice;
} DATA;
int main(void)
{
int n, i;
DATA *dt;
int nSmPrc = 0;
double dSmPrcTaxin = 0;
printf("商品数を入力して下さい --> "); scanf("%d", &n);
dt = (DATA *)malloc(sizeof(DATA) * n);
for(i=0; i<n; i++)
{
printf("<商品%d>\n単価を入力して下さい. --> ", i); scanf("%d", &dt[i].nValue);
printf("個数を入力して下さい. --> "); scanf("%d", &dt[i].nNums);
dt[i].nPrice = dt[i].nValue * dt[i].nNums;
nSmPrc += dt[i].nPrice;
dSmPrcTaxin = (double)nSmPrc * 1.05;
printf("** 単価×個数**       ==> %d\n", dt[i].nPrice);
printf("** 累積合計代金**      ==> %d\n", nSmPrc);
printf("** 消費税込み累積合計代金** ==> %g\n", dSmPrcTaxin);
}

return 0;
}


411:デフォルトの名無しさん
07/07/15 16:10:56
>>409
#include <stdio.h>

int main(void){
int i, n;
unsigned int fibonacci[50];

fibonacci[0] = fibonacci[1] = 1;

for(i=2; i<50; i++){
fibonacci[i] = fibonacci[i-1] + fibonacci[i-2];
}

printf("何番目を表示させたいか入力してください\n");
scanf("%d", &n);
printf("フィボナッチ数列の %d 番目は %d です\n", n, fibonacci[n-1]);

return 0;
}

こっちも通してないからエラーでたら教えてね☆

412:舞子
07/07/15 16:11:29
自宅でマイコン開発をはじめようと考えているものです。
(現在マイコンの知識はほとんどないです。)

そこで、マイコン開発に必要なハードウェア、アプリケーションを知りたいんですが、
お知恵をおかりできませんでしょうか?

ハードウェアとしてはできればUSBで接続で
マイコンにそのまま書き込めるようなものがあれば最適です。

USBとかって安くうってるのでしょうか?
自宅で行うのでできれば安く簡単にと考えてます。
(当然レベルの高い製品はできないと思いますが)

よろしくお願いいたします。

413:デフォルトの名無しさん
07/07/15 16:11:33
じゃあ俺も
#include <stdio.h>
int main(void)
{
int shouhinsuu,tanka,kosuu,daikin,ruiseki=0;
printf("商品数を入力して下さい --> ");scanf("%d",&shouhinsuu);
for(int i=1;i=<shouhinsuu;i++){
printf("<商品%d>\n単価を入力して下さい. --> ",i);scanf("%d",&tanka);
printf("個数を入力して下さい. --> ");scanf("%d",&kosuu);
printf("** 単価×個数**       ==> %d\n",daikin=tanka*kosuu);
printf("** 累積合計代金**      ==> %d\n",ruiseki+=daikin);
printf("** 消費税込み累積合計代金** ==> %.1f\n",ruiseki*1.05);
}
}

414:デフォルトの名無しさん
07/07/15 16:13:02
intじゃあふれない?

415:デフォルトの名無しさん
07/07/15 16:14:30
今やってみたらあふれた
泣いた

416:デフォルトの名無しさん
07/07/15 16:16:41
首吊って死んでくるねっ☆


417:デフォルトの名無しさん
07/07/15 16:21:09
わかるだろうが一応死ぬ前に
fibonacci を int から double 型に変更して printf のところを %0.lf ってしといてくれ…とだけ言っておく
俺はもうだめだ


418:デフォルトの名無しさん
07/07/17 12:15:18
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):任意の回数だけコンピュータを相手にじゃんけんをするプログラムを作成しなさい.
ただし,コンピュータは時間によって変わる乱数により実現すること.また,あいこの場合は回数のカウントには含めないこととする
[3] 環境
 [3.1] OS:Windows xp
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:今日17時まで
[5] その他の制限:なし
できるだけ速くお願いします!!


419:デフォルトの名無しさん
07/07/17 12:23:08
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):正整数n を入力し,n× n の正方行列において,以下のような○と●のパターンを出力す
るプログラムを作成しなさい
n=1

n=2
●○
○○
n=3
○●○
●●○
○○○
n=4
●○●○
○○●○
●●●○
○○○○
n=5
○●○●○
●●○●○
○○○●○
●●●●○
○○○○○
[3] 環境
 [3.1] OS:Windows xp
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:無期限
[5] その他の制限:なし
お願いします。

420:デフォルトの名無しさん
07/07/17 12:33:46
>>409

フィボナッチは配列イラナイwww
int宣言でゴミ箱を作ればいいw

馬鹿ジャンw>>411 ワロタw


421:デフォルトの名無しさん
07/07/17 12:36:12
1→1→2→3→5といくのだから

a=1;b=1;c==a+b;
forでループさせてcを出力すればいいw

馬鹿ジャンw>>411 出来るだけ軽くしろw無能乙w


422:デフォルトの名無しさん
07/07/17 12:40:08
>>418
その程度で質問ってなんなの?

423:デフォルトの名無しさん
07/07/17 12:46:32
遅レスだが
>>32
「やさしいC(高橋麻奈著)」を読みながら
コマンドプロンプトで出来るテトリス作成(俺の時は無知から初めて2週間で形にはなった)

424:デフォルトの名無しさん
07/07/17 12:56:21
>418
(・3・) きっと、Windwsへのgccのインストール方だYO

425:デフォルトの名無しさん
07/07/17 13:29:10
>419
#include <stdio.h>

int main(void)
{
int i, j, n;

printf("n=");
scanf("%d", &n);

for(i=n; i > 0; i--) {
if(i%2) for(j=0; j<=n-i; j++) printf("○");
else for(j=0; j<n-i; j++) printf("●");
for(j=0; j<i/2; j++) printf("●○");
putchar('\n');
}

return 0;
}


426:デフォルトの名無しさん
07/07/17 14:43:29
>>418
URLリンク(kansai2channeler.hp.infoseek.co.jp)

427:426
07/07/17 14:51:53
初歩的な間違いをしていた。
>>418
修正版
URLリンク(kansai2channeler.hp.infoseek.co.jp)

428:デフォルトの名無しさん
07/07/17 16:20:07
Cのプログラミングでタイピングゲームを作るんだけど
クリアするのにかかった時間ではなく、
「1分あたりに入力したキー数」を結果として表示させるにはどうしたらいいだろう?

試行のたびに1分以上タイピングゲームするのが嫌だから、
10秒毎に入力数を記憶して、その平均を6でかけてやろうと思ったんだけど
10秒毎っていうのにひっかかってる。
秒数カウントするのはsleep関数での方法しか知らないから、
タイピングゲームを滞らせることなく実行しながら秒数をカウントって
どうすればいいのか全くわからん。

ネットのC言語講座とかでも調べてみたけどわからない…
友達に、教えてって言われたんだけど私もわからず、てんてこまい。誰か助けてー

429:デフォルトの名無しさん
07/07/17 17:45:32
clock使えばいいんでないの?
timeで十分か

430:デフォルトの名無しさん
07/07/17 18:05:17
具体的にどうすれば……

int main(void)
{
FILE *fp;
int i,len,ch,j,mojisu=0,nyu=0,key,seida,speed;
char buf[256];
char level;
clock_t start,end;
double jikan;

fp = fopen("file.txt","r");
if(fp == NULL) {
printf("File Open Error");
return 0;
}

printf("以下の文字列をタイプしてください。\n");
start=clock();

431:デフォルトの名無しさん
07/07/17 18:07:11
while(fgets(buf,256,fp)!=NULL) {
len = strlen(buf);
buf[len-1] = '\0';
len = strlen(buf);
mojisu = mojisu + len;

for(i=0;i<len;i++) {
printf("%s \r",&buf[i]);
fflush(stdout);
while(1){
ch = getch();
nyu = nyu + 1;
if(ch==buf[i]) {
printf(" \b");
break;
}
}
}
}

end = clock();
fclose(fp);
jikan = (double)(end - start) / CLOCKS_PER_SEC;
seida = mojisu * 100 / nyu;
speed = key * 6;

432:デフォルトの名無しさん
07/07/17 18:09:04
if(seida >= 90) {
if(speed <= 25) {
level = 'A';
} else if(speed <= 40) {
level = 'B';
} else {
level = 'C';
}
} else if(seida >= 60) {
if(speed <= 25) {
level = 'B';
} else {
level = 'C';
}
} else {
level = 'C';
}

printf("\n%3.1lf秒かかりました。\n",jikan);
printf("正打率は%d%\n",seida);
printf("タイプスピードは%d\n",speed);
printf("あなたのレベルは%c\n",level);
return 0;
}

いまこんなかんじ。speedの大体の値がどうなるかまだわからないので、テキトーに25と40に設定してあります

433:デフォルトの名無しさん
07/07/18 00:28:51
[1] 授業単元:IT入門B1
[2] 問題文:繰り返し複素数(実部,虚部はそれぞれ整数型とする)を入力し,ユーザが最後に1 (1+i*0)を入れたら今まで入力した複素数の実部と虚部のペアをすべて出力し,さらに入力した複素数すべての積を出力するプログラムを作成せよ.
なお,ユーザが入力する回数に制限はないものとする.
stdio.hの他にstdlib.hをインクルードしておく必要がある.
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:c
[4] 期限:2007年7月30日
[5] その他の制限: 特になし
参考プログラムです→URLリンク(www-it.sci.waseda.ac.jp)

よろしくお願いします。


434:デフォルトの名無しさん
07/07/18 02:03:13
>>433
マルチポスト(複数のスレに同じレスをつけること)は駄目だ
あと君の場合は元のスレの過去レスを読め
マルチポストじゃないのなら スレリンク(tech板) の過去レス読め

435:デフォルトの名無しさん
07/07/23 09:50:34
[2] 問題文:
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS:Linux 3.4
 [3.2] コンパイラ名とバージョン:gcc 3.4
 [3.3] 言語:c
[4] 期限:2007年7月30日
[5] その他の制限: 特になし
よろしくお願いします

436:デフォルトの名無しさん
07/07/23 16:09:55
訂正お願いします
URLリンク(kansai2channeler.hp.infoseek.co.jp)

437:デフォルトの名無しさん
07/07/23 16:22:34
>>436
どんな変数を使ったかは把握しておこうぜ?
とりあえず

while(length--)
*start++ = ch;

ってやればコンパイルは通る

438:デフォルトの名無しさん
07/07/23 16:42:00
なんか変な文字がでてきて・・・
下のような結果にならないんです
4 -89 0 1 5 43 ... 112 ← cmemset 使用前
0 0 0 0 0 0... 0 ← 0 で埋めたとき
88 88 88 88 88 88 ... 88 ← 88 で埋めたとき

439:デフォルトの名無しさん
07/07/23 17:00:02
>>438
どうみてもそうなるようには作られて無いからねww
表示は文字列じゃなくて数列なんでしょ?

440:デフォルトの名無しさん
07/07/23 17:26:30
数列だと思います
問題は435なんですが全然分からないんです

441:デフォルトの名無しさん
07/07/23 17:59:58
解けるようにできる問題ではないんですか?

442:デフォルトの名無しさん
07/07/23 18:08:48
#include <stdio.h>
#include<stdlib.h>

void cmemset(char *start, int value, int length);

int main(void)
{
int i, size = 10;
char *str;
//埋める前
str = (char *)malloc(sizeof(char) * size);
for(i=0; i<size; i++) printf("%3d ", (int)*(str+i));
putchar('\n');
//0で埋める
cmemset(str, 0, size);
for(i=0; i<size; i++) printf("%3d ", (int)*(str+i));
putchar('\n');
//88で埋める
cmemset(str, 88, size);
for(i=0; i<size; i++) printf("%3d ", (int)*(str+i));
putchar('\n');

return 0;
}

void cmemset(char *start, int value, int length)
{
while(length--) *start++ = (char)value;
return;
}


443:デフォルトの名無しさん
07/07/23 18:11:29
ありがとうございます!

444: ◆DpMW3bRjps
07/07/23 19:11:48
1] 授業単元: プログラミング実習
[2] 問題文(含コード&リンク): 任意の文字列を入力し、その文字列の中に任意の文字がいくつはいっているかを出力する
プログラム
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc 3.4
 [3.3] 言語: C
[4] 期限: 2007年7月24日17:00まで
[5] その他の制限: こないだ初めて文字列の入力を習いました、初心者です!
よろしく
お願いします


445:デフォルトの名無しさん
07/07/23 19:33:23
int CountChar(char *str, char ch)
{
int num = 0;
do {
if(*str == ch) num++;
} while(*str++);
return num;
}

入力は適当に作ってくれ

446: ◆UoNQqijD4I
07/07/23 20:26:11
>>444ですが、配列を使ってお願いします。
無理いってすみませんが…(;;)

447:デフォルトの名無しさん
07/07/24 15:28:06
あっちの宿題スレにレスあったで

448:デフォルトの名無しさん
07/07/24 16:03:21
[1] 授業単元:C言語 応用
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS:Windows xp
 [3.2] コンパイラ名とバージョン:YS2005
 [3.3] 言語:C
[4] 期限:2007/07/25 12:00
[5] その他の制限:なし

使用する関数(getstring)等も一緒に書いたため
見づらいかもしれませんがよろしくお願いいたします。

449:デフォルトの名無しさん
07/07/24 16:34:08
[1] 授業単元:アルゴリズム
[2] 問題文(含コード&リンク):”rand1000.dat”というデータの個数nとその個数分の整数データが保存されているファイルがある
URLリンク(kansai2channeler.hp.infoseek.co.jp)


このデータをファイルから読み込み

挿入ソート
基数ソート
ヒープソート
クイックソート
マージソート

によってソートできるよう各プログラムを作成せよ

データ数が100,000個のときでも対応できるようメモリを確保しておいてください。

[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C
[4] 期限: 7月28日
[5] その他の制限:出来る限り単純なアルゴリズムで作ってください。合計5つのプログラムを作成してください。

大変な問題で申し訳ありませんがどなたか詳しい方よろしくお願いいたします

450:デフォルトの名無しさん
07/07/24 18:40:39
>>449
挿入ソート
URLリンク(kansai2channeler.hp.infoseek.co.jp)

451:デフォルトの名無しさん
07/07/24 18:48:08
>>449 ちょい変更、挿入ソートのみ
URLリンク(kansai2channeler.hp.infoseek.co.jp)

452:デフォルトの名無しさん
07/07/24 19:32:23
>>450-451

ありがとうございます。助かります。

残りのもできればお願い致します


453:デフォルトの名無しさん
07/07/24 19:44:09
>>449 クイック
URLリンク(kansai2channeler.hp.infoseek.co.jp)

454:デフォルトの名無しさん
07/07/24 19:50:40
URLリンク(www1.cts.ne.jp)
このサイトからソースをパクッてw

455:デフォルトの名無しさん
07/07/24 20:04:37
>>449 
URLリンク(www1.cts.ne.jp)

基数ソート 、ヒープソート、マージソートはなんか面倒くさいから俺はパスw

456:デフォルトの名無しさん
07/07/24 20:18:36
>>449
いつもC++だからソートとか書かないしってことでリンクだけ
URLリンク(jyoken.net)
もしくは、URLリンク(oku.edu.mie-u.ac.jp) からZIP落とせ
(挿入ソートinssort.c 基数ソートradsort.c ヒープソートheapsort.c
マージソートmergsort.c クイックソートqsort1.c qsort2.c)


457:デフォルトの名無しさん
07/07/25 05:00:25
[1] 授業単元:演習
[2] 問題文(含コード&リンク): エレベーターの乗客の待ち時間をシミュレートするプログラムを書け
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: BCC5.5
 [3.3] 言語: C
[4] 期限:7/26まで
[5] その他の制限:とくになし

URLリンク(kansai2channeler.hp.infoseek.co.jp)
まで書いたんですが明らかに変な出力しかされず困ってます
どこがおかしいか教えてもらえないでしょうか?

458:ぼるじょあ ◆hZ8e4Wjqvw
07/07/28 11:49:47
>>457
(・3・) エェー 期限過ぎてるけどやったほうがいいのかNA?
          どんな入力に対してどんな出力が欲しいか書いてくれYO!

459:名無しさん@そうだ選挙に行こう
07/07/29 15:05:47
宿題スレで解決しなかったのでこっち来ました

お尋ねしたいのですが以下のプログラムに、
「rand100000.dat(ランダムに数値が100000個並んでいるデータ)」
から読み込んでソートするというのを追加したいのですがどうすればよいでしょうか?

void BubbleSort(int Data[], int n)
{
int BeginPlace, ComparePlace;
//比較を始める位置を最初からn-1まで変えていく
for(BeginPlace = 0;BeginPlace < n;BeginPlace++)
{
//n - BeginPlaceまで比較する
for(ComparePlace = 1;ComparePlace < n - BeginPlace;ComparePlace++)
{
//右のほうが小さかったら交換する
if(Data[ComparePlace - 1] > Data[ComparePlace])
{
Swap(&(Data[ComparePlace - 1]), &(Data[ComparePlace]));
}
}
}

return;
}


460:ぼるじょあ ◆yBEncckFOU
07/07/29 16:11:22
>>459
(・3・)エエー rand100000.datの書式が分からないと答えられないYO

461:名無しさん@そうだ選挙に行こう
07/07/29 16:14:37
>>460
URLリンク(kansai2channeler.hp.infoseek.co.jp)

これは1000個のデータですけど


462:名無しさん@そうだ選挙に行こう
07/07/29 16:44:23
データファイルの先頭レコードに、データ件数がある場合と、
データ件数が固定件数か分かっている、ファイルの中はデータだけでは
処理の仕方が違うと思うがな。
このデータファイルって、予め件数がわからないという条件でなかったか?

463:名無しさん@そうだ選挙に行こう
07/07/29 16:52:41
いや、件数は分かってるんでとりあえずファイルから読み込むというmain関数を作ってほしいです

464:名無しさん@そうだ選挙に行こう
07/07/29 17:07:59
>>463

int main()
{
FILE * fp = fopen("4151.txt", "r");
int lines;
if (fscanf(fp, "%d", & lines) < 1) return 1;
int * array = calloc(sizeof(* array), lines);
if (array == NULL) return 1;
for (int ic = 0; ic < lines; ++ic) {
if (fscanf(fp, "%d", & array[ic]) < 1) return 1;
}
fclose(fp);
#if 0
for (int ic = 0; ic < lines; ++ic) printf("%d\n", array[ic]);
#endif
free(array);
return 0;
}

465:名無しさん@そうだ選挙に行こう
07/07/29 17:08:24
>>463 dataに読み込んでいる。
#include <stdio.h>
#define DATAFILE "rand100000.dat"
#define DATASIZE 100000
int data[DATASIZE];
int main()
{
FILE *fp;
char buf[80];
int i=0,size;
fp=fopen(DATAFILE, "r");
if(fp==NULL){
fprintf(stderr,"Can't open %s",DATAFILE);
return 1;}
while(fgets(buf,sizeof(buf),fp)!=NULL){
data[i]=atoi(buf);
i++;}
size=i;
printf("data count=%d\n",size);
for(i=0;i<size;i++)
printf("%d ",data[i]);
printf("\n");
return 0;
}

466:465
07/07/29 17:12:40
いけない。fclose(fp)が抜けている。
return 0;する前に入れてくれ。

467:デフォルトの名無しさん
07/07/30 09:34:26
[1] 授業単元:数値計算
[2] 問題文(含コード&リンク):
ガウスの消去法(ピボット選択ありで、計算時間表示あり)をプログラミングせよ
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc 3.4
 [3.3] 言語: C
[4] 期限: 2007/7/31

よろしくお願いします。。

468:デフォルトの名無しさん
07/07/30 10:24:42
URLリンク(tonosiki.mbnsk.net)
この問題の(3)標準偏差と(4)相対係数が分かりません。
どうか教えて頂けないでしょうか・・・?
よろしくお願い致します。

469:デフォルトの名無しさん
07/07/30 10:34:13
大変失礼致しました。
もしお時間がございましたらよろしくお願いいたします。

[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):URLリンク(tonosiki.mbnsk.net)
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン:gcc 3.4
 [3.3] 言語: C
[4] 期限: 07/8/1
[5] その他の制限: 特にありませんが、出来る限り単純なプログラムでお願いいたします。


470:デフォルトの名無しさん
07/07/30 10:38:00
>>468
相関係数や一時回帰はExcelでグラフを作れば計算してくれるからそれを参考に。
それ以外は判るのならそこまで自分で書いたものを寄越したまえ。

471:デフォルトの名無しさん
07/07/30 19:28:02
ぼるじょあって何?
昔麻原ショーコーのAAの三段活用をコピペしまくってた馬鹿がたしかそんなHN名乗ってたが。。

472:デフォルトの名無しさん
07/07/30 21:00:41
ぐぐれよ

473:デフォルトの名無しさん
07/07/30 21:15:12
>>469
> [2] 問題文(含コード&リンク):URLリンク(tonosiki.mbnsk.net)

404

474:デフォルトの名無しさん
07/07/31 11:06:46
>>473
マルチだ。ほっとけ。

475:デフォルトの名無しさん
07/08/01 21:05:38
[1] 授業単元:C言語
[2] 問題文:
指定された段数numの図形を画面に表示するプログラム部分である
□に適当なプログラムを書なさい。(プログラム中のi,jはint型変数)

for(i=1;□;i++){
for(j=1;j<=□;j++){
printf(□);
}
for(j=1;□;j++){
printf("%d",i);
}
putchar(□);
}

[3] 環境
 [3.1] OS:WINDOWS XP
 [3.2] コンパイラ名とバージョン: (VS 2005)
 [3.3] 言語: C
[4] 期限: 8月1日まで

実行結果
何段?num=5
1
22
333
4444
55555


よろしくお願いします

476:ぼるじょあ ◆yBEncckFOU
07/08/01 21:30:17
(・3・)アルェー? for文多くないかNA?

for(int i=1;i<=num;i++)
{
// for(j=1;j<=□;j++)
// {
// printf(□);
// }

 for(int j=1;j<=i;j++){
  printf("%d",i);
 }

 putchar('\n');
}

477:デフォルトの名無しさん
07/08/06 23:14:22
[1] 授業単元:応用ネットワークプログラミング2
[2] 問題文

TCPおよびUDPのチェックサムを計算するプログラムを作成せよ
なお、IPは以下のようにする。
src 200.199.198.197
dest 1.2.3.4

[3] 環境
 [3.1] OS: Linux
 [3.2] Gentoo
 [3.3] 言語:C言語
[4] 期限:6月9日の水曜日まで
[5] その他の制限:Cが苦手で困っています。

478:ぼるじょあ ◆hZ8e4Wjqvw
07/08/07 19:39:58
>>477
(・3・) エェー 2010年6月9日までまだまだあるから自分でやれYO!

ここを見ればスグだYO!
URLリンク(www.geekpage.jp)

479:デフォルトの名無しさん
07/08/07 22:17:29
[1] 授業単元:C
[2] 問題文:URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS:WINDOWS XP
 [3.2] コンパイラ名とバージョン:bcc
 [3.3] 言語: C
[4] 期限: 8月8日

480:デフォルトの名無しさん
07/08/07 22:21:35
>>479
スレリンク(tech板:681番)

481:デフォルトの名無しさん
07/08/07 22:50:58
>479
宿題スレと同じ?
向こうは少し条件足りてないけど。
int arr_min_pos(int arr[], int n)
{
int pos;
if(n==1) return arr[0] < 0 ? -1 : 0;
pos = arr_min_pos(arr, n-1);

return arr[n-1] < 0 || arr[n-1] > arr[pos] ? pos : n - 1;
}

482:デフォルトの名無しさん
07/08/29 12:59:49
言語:C
コンパイラ名とバージョン:ボーランド
OS:XP

問題:ユーザー関数の作成
再帰関数を使って、xのn乗を求めるプログラムを作成しなさい
プロトタイプ宣言:int power(int x,int n);
実行画面
文字列入力==>2
文字列入力==>0
値:1

文字列入力==>2
文字列入力==>3
値:8

文字列入力==>6
文字列入力==>4
値:1296

483:デフォルトの名無しさん
07/08/29 13:29:55
int power(int x,int n)
{
return n <= 1 ? x : x * power(x, n-1);
}

484:デフォルトの名無しさん
07/08/30 04:55:24
日本オワタな

485:ぼるじょあ ◆hZ8e4Wjqvw
07/08/30 22:19:11
>>483
(・3・) エェー 惜しいYO!

x=2 n=0

486:homoじょあ ◆5OLf4yFnuM
07/08/31 00:20:34
(・3・) エェー 久々に来たけどもみあがってないNE

487: ◆uWJL1MSv.M
07/09/01 23:19:03
[1] 授業単元: データ構造とアルゴリズム
[2] 問題文: ①Cell型のオブジェクトa,b,c,d,eを用意し、
        それぞれvalueに10,20,30,40,50を設定し、
       a→b→c→d→eと連結する。valueの値を順に出力しなさい。

       ② ①のプログラムに書き足し、オブジェクトcの次(オブジェクトd)を削除し、
         valueの値を順に出力しなさい。次にオブジェクトaを削除し、
         valueの値を順に出力しなさい。

       ③ ②のプログラムに書き足し、オブジェクトcの次にオブジェクトaを挿入し、
         valueの値を順に出力しなさい。次に先頭にオブジェクトdを挿入し、
         valueの値を順に出力しなさい。
      
       ④ ①のプログラムを双方向リストにし、valueの値を逆順に出力しなさい。

[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン: VisualC++.net
 [3.3] 言語: C++
[4] 期限: 2007年9月3日まで

よろしくお願いします。


488:homoじょあ ◆5OLf4yFnuM
07/09/02 11:12:09
(・3・) エェー Cell型ってどんなんだYO

489:デフォルトの名無しさん
07/09/02 11:17:38
細胞に関するクラスじゃね?

490:homoじょあ ◆5OLf4yFnuM
07/09/02 11:23:08
(・3・) エェー そりは難しそうですNE

491:デフォルトの名無しさん
07/09/02 13:36:36
乾電池かも知れず。

492:デフォルトの名無しさん
07/09/02 14:02:41
直列に繋いで電圧を調べるのか

493:デフォルトの名無しさん
07/09/02 14:08:59
貨車かもしれんぞ

494: ◆uWJL1MSv.M
07/09/02 14:24:09
すいません。

セル

連結リストはセル (cell) というデータを繋げて作ります。
セルにはデータを格納する場所と、次のセルを指し示す場所から構成されます。
図でいうと、箱がひとつのセルを表していて、左側にデータを格納し、
右側に次のセルへの参照を格納します。

セルの型の定義
class Cell{
private:
Cell* next; //次のセルへのポインタ
int value; //値
public:
Cell(){next = NULL; value = 0;} //コンストラクタ
void setNext(const Cell* p){next = p;} //nextを設定する
void setValue(int a){value = a;} //valueを設定する
Cell* getNext(){return next;} //nextの値を得る
int getValue(){return value;} //valueの値を得る

   …
};

495:デフォルトの名無しさん
07/09/02 15:08:55
なんだ。もうできてんじゃん

496:homoじょあ ◆5OLf4yFnuM
07/09/02 18:29:36
>>487
(・3・) エェー ①だけやってみたお
int main(){
Cell *list = new Cell();
Cell *header = list;

for(int i=1; i<=5; i++){
list->setNext(new Cell());
list->getNext()->setValue(i*10);
list = list->getNext();
}

while(header->getNext() != NULL){
header = header->getNext();
std::cout << header->getValue() << std::endl;
}

return 0;
}


497: ◆uWJL1MSv.M
07/09/02 20:58:11
ありがとうございます。
すいません、②、③、④もお願いします。

498:homoじょあ ◆5OLf4yFnuM
07/09/02 21:30:19
(・3・) エェー つーか①間違ってたお

int main(){
Cell *a, *b, *c, *d, *e;
a = new Cell();b = new Cell();c = new Cell();d = new Cell();e = new Cell();
a->setNext(b);b->setNext(c);c->setNext(d);d->setNext(e);
a->setValue(10);b->setValue(20);c->setValue(30);d->setValue(40);e->setValue(50);

Cell *header = a;

while(header != NULL){
std::cout << header->getValue() << std::endl;
header = header->getNext();
}
return 0;
}


499:homoじょあ ◆5OLf4yFnuM
07/09/02 21:42:41
(・3・) エェー ②ってこんなん?
int main(){
Cell *a, *b, *c, *d, *e, *header, *list;
a = new Cell();b = new Cell();c = new Cell();d = new Cell();e = new Cell();
a->setNext(b);b->setNext(c);c->setNext(d);d->setNext(e);
a->setValue(10);b->setValue(20);c->setValue(30);d->setValue(40);e->setValue(50);
header = a;

c->setNext(c->getNext()->getNext());
list = header;
while(list != NULL){
std::cout << list->getValue() << std::endl;
list = list->getNext();
}
std::cout << std::endl;
header = header->getNext();
list = header;
while(list != NULL){
std::cout << list->getValue() << std::endl;
list = list->getNext();
}
return 0;
}


500:homoじょあ ◆5OLf4yFnuM
07/09/02 21:47:59
(・3・) エェー ③・・なんか意図が違う気がしてきたお
int main(){
Cell *a, *b, *c, *d, *e, *header, *list;
a = new Cell();b = new Cell();c = new Cell();d = new Cell();e = new Cell();
a->setNext(b);b->setNext(c);c->setNext(d);d->setNext(e);
a->setValue(10);b->setValue(20);c->setValue(30);d->setValue(40);e->setValue(50);
header = a;
//②の処理
c->setNext(c->getNext()->getNext());
header = header->getNext();

//③で追加
a->setNext(c->getNext());
c->setNext(a);
list = header;
while(list != NULL){
std::cout << list->getValue() << std::endl;
list = list->getNext();
}
std::cout << std::endl;
d->setNext(header);
header = d;
list = header;
while(list != NULL){
std::cout << list->getValue() << std::endl;
list = list->getNext();
}
return 0;
}


501:homoじょあ ◆5OLf4yFnuM
07/09/02 21:52:53
(・3・) エェー そろそろ書き込みが規制される予感
④のクラスの変更

class Cell{
Cell *next;
Cell *front;
int value;
public:
Cell();
void setNext(Cell*);
void setFront(Cell*);
void setValue(int);
Cell* getNext();
Cell* getFront();
int getValue();
};

Cell::Cell(){next = NULL; front = NULL; value= 0;}
void Cell::setNext(Cell *next){this->next = next;}
void Cell::setFront(Cell *front){this->front = front;}
void Cell::setValue(int value){this->value = value;}
Cell* Cell::getNext(){return next;}
Cell* Cell::getFront(){return front;}
int Cell::getValue(){return value;}


502:homoじょあ ◆5OLf4yFnuM
07/09/02 22:00:00
(・3・) エェー ④
int main(){
Cell *a, *b, *c, *d, *e, *header, *list;
a = new Cell();b = new Cell();c = new Cell();d = new Cell();e = new Cell();
a->setValue(10);b->setValue(20);c->setValue(30);d->setValue(40);e->setValue(50);
Cell *array[] = {NULL, a, b, c, d, e, NULL};
for(int i=1; i<=5; i++){
array[i]->setFront(array[i-1]);
array[i]->setNext(array[i+1]);
}
header = a;
list = header;
while(list->getNext() != NULL)list = list->getNext();
while(list != NULL){
std::cout << list->getValue() << std::endl;
list = list->getFront();
}
return 0;
}


503: ◆uWJL1MSv.M
07/09/03 01:35:15
助かりました。ありがとうございました。

504:デフォルトの名無しさん
07/09/08 20:37:58
この痛いやつのリアルアドレス求む

URLリンク(www.nicovideo.jp)

505:デフォルトの名無しさん
07/09/09 00:25:09
>>504
そんなもんTCP/IPバイブル読み尽くしたらすぐにわかるわ。
そんな努力もせんと、人に聞くな。何するつもりや。

506:homoじょあ ◆5OLf4yFnuM
07/09/09 02:18:05
(・3・) エェー 素晴らしい説明でしたお

507:デフォルトの名無しさん
07/09/13 09:15:37
授業単元:C言語
問題文(含コード&リンク):文字列を入力し、圧縮しながら他の文字列配列に格納しなさい
使用する主な標準関数:strlen()、sprintf()など

実行画面
入力文字列(m1)==>AAAAAAABBBCddEEEE####
圧縮(m2):@7A@3BC@2d@4E@5#
圧縮比:72.7%

環境
OS: Windows
コンパイラ名とバージョン:ボーランド
言語:C
期限:
その他の制限:



508:デフォルトの名無しさん
07/09/13 10:02:28
>>507
マルチすんな
C/C++ に今答えを書き込んだけど消したくなった

509:507
07/09/13 10:16:30
>>508
m9(^Д^)プギャー

510:ぼるじょあ ◆hZ8e4Wjqvw
07/09/26 21:19:21
>>507
(・3・) エェー 暇だYO!

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

int main(void){
char m1[100+1], m2[100*3+1], *ptr=m2;
int m1_len, i;

printf("入力文字列(m1)==>");
scanf("%100s", m1);
m1_len=strlen(m1);
for(i=0;i<m1_len;i++) ptr+=sprintf(ptr, "@1%c", m1[i]);
printf("圧縮(m2):%s\n", m2);
printf("圧縮比:%.1f%%\n", strlen(m2)*100./m1_len);
return 0;
}

511:デフォルトの名無しさん
07/09/28 00:16:11
短!って思ったら、、ちょwww

もうPerlでいいよw
s/(.)\1+/"@".length($&).$1/ge

512:デフォルトの名無しさん
07/09/28 02:30:25
ぼるじょあへ挑戦状

君に花札のプログラムを作れるかな?
ルールは花合わせだ
おっと、無理ならやらなくてもいいんだぜ?
それじゃ、goodluck!

513:ぼるじょあ ◆hZ8e4Wjqvw
07/09/28 03:27:19
>>512
(・3・) エェー 挑戦ってことはAI同士の対戦ってことかYO!

514:デフォルトの名無しさん
07/09/28 14:44:39
->
を使ったプログラムを作れ

515:デフォルトの名無しさん
07/09/28 20:52:12
>>514
#include <stdio.h>
int main(void) {
printf("->");
return 0;
}


516:デフォルトの名無しさん
07/09/28 21:21:57
#include <stdio.h>
int main(void) {
int n = 0;
printf("%d", n-->0);
return 0;
}

517:デフォルトの名無しさん
07/10/06 18:44:59
[1] 授業単元:C++プログラミング
[2] 問題文(含コード&リンク):
「年(西暦)」「月」を入力したら,その月のカレンダーを表示するプログラムを作成しなさい。ただし,下記の条件を満たすものとする。
【条件】
(1)カレンダークラスを作成し,main関数でカレンダークラスの実体を生成し,カレンダークラス内のメンバ関数(show関数)を呼び出してカレンダーを表示する。
(2)カレンダークラスはカプセル化されていること。
(3)カレンダー表示には,年,月および曜日,日を表示すること。
(4)「閏年」「祝日」「節句」「二十四節気」の表記を可能にする。
(5)上記以外については自由に作成してよい。

[3] 環境
 [3.1] OS: Windows VISTA or XP
 [3.2] visual studio 2005
 [3.3] 言語: C++
[4] 期限: 2007/10/7 23:00まで。
[5] その他の制限: 特になし

よろしくお願いします。

518:ぼるじょあ ◆hZ8e4Wjqvw
07/10/06 19:52:43
>>517
(・3・) エェー 太陽暦から旧暦に変換する数式はないのかYO!

519:デフォルトの名無しさん
07/10/07 12:16:21
>>518
六曜でしょうか?
すみません、変換式わからないです


520:デフォルトの名無しさん
07/10/07 13:41:28
>>518
(4)でわからない数式の部分は省いてもらって良いです。
申し訳ないです

521:デフォルトの名無しさん
07/10/07 14:57:23
今日中は辛いな…
今日は研究が忙しい…


522:デフォルトの名無しさん
07/10/07 23:59:48
>>517です

>>521
期限は切れてしまってますが、待てます
研究のほうがんばってください


523:デフォルトの名無しさん
07/10/08 04:40:21
作るけどレイアウトとかは自分で調整してね

524:デフォルトの名無しさん
07/10/08 05:13:49
祝日設定が面倒だったので断念


525:デフォルトの名無しさん
07/10/08 13:42:01
ええ!?
突き落とされた気分です・・・

526:デフォルトの名無しさん
07/10/08 15:02:06
ためしにやってみてるけど面倒すぎるんだよな

527:デフォルトの名無しさん
07/10/08 16:58:08
途中まで。祝日とか二十四節気の表示は自分でやって。面倒すぎる。

#include "stdafx.h"
#include <iostream>
#include <string>
#include <map>
#include <cassert>

#define numof(a) (sizeof(a) / sizeof((a)[0]))

/** ある年ある月の日
 */
class CDay {
private:
int m_year;
int m_month;
int m_day;

public:
CDay(int year, int month, int day) : m_year(year), m_month(month), m_day(day)


528:デフォルトの名無しさん
07/10/08 16:59:26
{
assert(month >= 1 && month <= 12);
assert(year >= 0);
}

~CDay() {}

/** 曜日
*/
std::string GetDayOfWeek()
{
int nDayOfWeek = (5 * m_year / 4 - m_year / 100 + m_year / 400 + (26 * m_month + 16) / 10 + m_day) % 7;

static const char *szDayOfWeek[] = { "Sun", "Mon", "Tue", "Wed", "Thr", "Fri", "Sat" };
return szDayOfWeek[nDayOfWeek];
}


529:デフォルトの名無しさん
07/10/08 17:01:04

/** 節句
*/
bool GetSeasonalFestival(std::string& name)
{
struct SeasonalFestival {
int month;
int day;
char *name;
} stSeasonalFestivals[] = {
{ 1, 7, "Jinjitsu"},
{ 3, 3, "Joushi"  },
{ 5, 5, "Tango"   },
{ 3, 9, "Chouyou" }
};

name = "";

for (int i = 0; i < numof(stSeasonalFestivals); ++i) {
if (stSeasonalFestivals[i].month == m_month && stSeasonalFestivals[i].day == m_day) {
name = stSeasonalFestivals[i].name;
return true;
}
}

return false;
}


530:デフォルトの名無しさん
07/10/08 17:01:50

private:
CDay(CDay&);
CDay& operator =(CDay&);
};

/** ある年ある月のカレンダー
 */
class CCalender {
private:
int m_year;
int m_month;

public:
CCalender(int year, int month) : m_year(year), m_month(month)
{
assert(month >= 1 && month <= 12);
assert(year >= 0);
}

~CCalender() {}

/** カレンダーをコンソールに表示
*/
void Show()
{
ShowTitle();
ShowBody();
}


531:デフォルトの名無しさん
07/10/08 17:02:37

private:
/** その月の日数

@ref URLリンク(bal4u.dip.jp)
*/
int NumOfDay() const
{
static int days[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

if (m_month == 2) {
return days[1] + (m_year % 4 == 0 && m_year % 100 != 0 || m_year % 400 == 0);
} else {
return days[m_month-1];
}
}


532:デフォルトの名無しさん
07/10/08 17:07:09

/** 閏年
*/
bool IsLeapYear() const
{
return (0 == (m_year % 400)) || ((0 != (m_year % 100)) && (0 == (m_year % 4)));
}

/** タイトルを表示
*/
void ShowTitle() const
{
std::cout << std::endl;
std::cout << '\t'
     << m_year << '/' << m_month
     << (IsLeapYear() ? " (Leap Year)" : "") << std::endl;
std::cout << std::endl;
}


533:デフォルトの名無しさん
07/10/08 17:07:48

/** 日を表示
*/
void ShowBody() const
{
int nNumOfDay = NumOfDay();
for (int i = 1; i <= nNumOfDay; ++i) {
CDay day(m_year, m_month, i);

std::string strSeasonalFestival;
day.GetSeasonalFestival(strSeasonalFestival);

std::cout << i << "\t(" << day.GetDayOfWeek() << ")"
     << "\t" << strSeasonalFestival << std::endl;
}
}

private:
CCalender(CCalender&);
CCalender& operator =(CCalender&);
};

int _tmain(int argc, _TCHAR* argv[])
{
CCalender calender(2000, 1);
calender.Show();
return 0;
}



534:デフォルトの名無しさん
07/10/08 17:12:53
終わり。

ちなみに >>526 じゃないです。

535:ぼるじょあ ◆yBEncckFOU
07/10/08 19:14:44
(・3・) 一応できたけど我ながらひどい出来
     エラー処理とか表示の整形は自分でやってNE!
URLリンク(kansai2channeler.hp.infoseek.co.jp)

536:デフォルトの名無しさん
07/10/08 19:58:50
>>534
>>535
ありがとうございました。
お二人のプログラム使わさせていただきます^^

537:デフォルトの名無しさん
07/10/08 21:12:48
つかこんなもんをわざわざ作らせるなんて面倒な授業だな…。


538:デフォルトの名無しさん
07/10/08 21:49:07
ええ、この教授のだす課題はいつもこんな感じで
毎週地獄です

539:デフォルトの名無しさん
07/10/18 17:17:40
[1] 授業単元:C++実習
[2] 問題文(含コード&リンク):
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS: XP VISTA
 [3.2] visual studio 2005
 [3.3] 言語: C++
[4] 期限: 10/20 ~10:00
[5] その他の制限: 特になし

濃い内容ですが
よろしくお願いします。

540:デフォルトの名無しさん
07/10/22 13:41:11
1] 授業単元: c++プログラミング
[2] 問題文(含コード&リンク):
10個の製品の在庫管理のプログラムを作成しなさい。
全ての製品は初期在庫として、1000個の在庫を持っている。毎日80~120個ランダムに減っていく。
また、製品によって減っていく量は異なるものとする。
在庫量が300個(発注点)以下になった製品は発注をかけ、その三日後に500個納品される。
終了条件:1000日
単位時間: 日
出力の例:
製品A
 前日在庫量 需要量 当日在庫量
  320    120   200
  200    100   100
  100    110    0
○日に10個欠品しました!!
500個納品されました!!
  490    90   400

各製品ごとに上記のように表示されるようにしなさい。
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ: bcc
 [3.3] 言語: C++
[4] 期限:22日19時
[5] その他の制限: できれば、後から簡単に、初期在庫量・発注点・製品数などを変更できるようにしてください。

よろしくお願いします。


541:デフォルトの名無しさん
07/10/22 22:14:49
いくらなんでも期限ギリギリすぎるだろ

542:さとみ
07/10/23 20:22:42
#include <stdio.h>
#include <stdlib.h>
struct node{ int data;
struct node *next;
};
struct node *head;
void add_head(int x)
{ struct node *p;
p = (struct node *)malloc(sizeof(struct node));
p->data = x;
p->next = head;
head = p;}
void print_list(struct node *q)
{ struct node *p;
printf("list\n");
for(p = q;p != NULL;p = p->next){
printf("%d\n"p->data);}}
main(int argc, char *argv[])
{ int i, val, n;
head = NULL;
n = atoi(argv[1]);
for(i = 0;i < n; i++){
scanf("%d",&val);
add_head(val);}
print_list(head);
return(0);}
コンパイルしてみた結果二箇所にエラーが発生しました
間違えたどころどうか直してもらえないでしょうか
お願いします

543:デフォルトの名無しさん
07/10/23 21:40:46
>>542

宿題スレに回答あげたぞ

544:デフォルトの名無しさん
07/11/05 18:40:58
保守

545:00ち
07/11/08 16:19:05
[1] 授業単元:
[2] 問題文(含コード&リンク):0~99までランダムで得た値の平均と総計を求めるプログラムですが
      currentを使い、書き直したいですが教えてください。
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int main(void)
{   int rints[30];
int i, sum=0;
int j = 0;
float avrg;
srand((unsigned)time(NULL));
for(j=0; j<1; j++){
printf("\n");
for(i=0; i<30; i++)
{    rints[i] = rand()%100;
printf( " %d ", rints[i] );
sum += rints[i];}
printf("\n");
avrg = sum / 10.f;
printf( " 総計: %d , 平均: %.2f\n", sum, avrg );
sum = 0; }
return 0;}
[3] 環境
 [3.1] OS: (Windows/Linux/等々)
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
 [3.3] 言語: C
[4] 期限:本日
[5] その他の制限:なし

546:デフォルトの名無しさん
07/11/08 16:22:06
[1] 授業単元:
[2] 問題文(含コード&リンク): URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 11月9日10:00まで]
[5] その他の制限: 特にありません
どうぞよろしくお願いします

547:デフォルトの名無しさん
07/11/08 16:23:36
>>546
マルチ乙
スレリンク(tech板:120番)

548:デフォルトの名無しさん
07/11/08 18:27:33
>>545
currentってなんでつか?

549:デフォルトの名無しさん
07/11/08 20:09:20
任意の自然数をキーボードから入力し、
素因数分解を行った結果を画面に出力するプログラムを作成すること

この問題をお願いします(^^)

550:デフォルトの名無しさん
07/11/08 20:35:22
>>549
任意と言うことは、グーゴルプレックスも入力できないとダメかしら。
む、難しいなぁ。

551:デフォルトの名無しさん
07/11/08 20:50:11
数字を入力して因数分解するだけでいいです

552:デフォルトの名無しさん
07/11/08 21:13:54
>>549
ヒント: テンプレ

553:デフォルトの名無しさん
07/11/08 21:16:26
#include <stdio.h>

int main(void)
{
int i, n;
scanf("%d", &n);

for(i=2; i<n; ) {
if(n%i==0) {
printf("%d * ", i);
n /= i;
}
else i++;
}
printf("%d\n", n);

return 0;
}


554:デフォルトの名無しさん
07/11/09 00:19:57
11月10日までなので急いでください。お願いします。ちなみに、
for文とif文だけでお願いします(^_^)


555:デフォルトの名無しさん
07/11/09 00:30:39
ありがとうございました。o(^o^)o
本当に助かります。o(^ヮ^)o

556:グーゴルプレックスは10の(10の10乗)乗だっけ?
07/11/09 10:28:31
>>551
だから、どんな数字?
単に「任意」では巨大な数字も入力できないといけないのか、
それとも1000程度の数字まで出いいのか判らないでしょ。

557:デフォルトの名無しさん
07/11/09 15:47:42
>>556
じゃあ巨大な数のほうで

558:デフォルトの名無しさん
07/11/11 06:29:06
JavaでいうところのBigIntegerを作れというのか
アホか

559:デフォルトの名無しさん
07/11/16 11:56:40
da

560:デフォルトの名無しさん
07/11/16 12:02:00
[1]C言語上級
[2]
入力ファイルフォーマット:
source-node destination-node packet-loss-rate
a b 0.3
a c 0.1
.
z w 0.9


Step1: 二行目からデータを読み込みます.例えば,node a から node bまで
のパケット損失率0.3から最後までに読むこと.ノードペア毎のパケット損失率
を記録する.
※ 下記変数が必要
char *node_pair_name[1000]; //ノードペア名を記録する,行ごとは一記録と
します.何行があるならば,何個の記録がある.後で使う.
double packet_loss_rate[1000];//ノードペア毎に記録する,
Step2: 読み込んだデータpacket_loss_rateをJI(double *x, int n)に
渡して,JIを計算します.
Step3: JI出力

以上のプログラムを作りなさい
[3]C言語
[4]11月18日

このプログラムがわかりません.よろしくお願いします.



561:デフォルトの名無しさん
07/11/16 14:39:57
[1] 授業単元: C
[2] 問題文:????を埋めよ
[3] 環境
 [3.1] OS: (Windows/Linux/等々)
 [3.2] コンパイラ名とバージョン: 任意
 [3.3] 言語: (C
[4] 期限:2007 11.16

562:デフォルトの名無しさん
07/11/16 14:43:32
#include <stdio.h>
#include <stdlib.h>
#define NMAX 20

/* リストの構成要素となる構造体 node_tag */
struct node_tag {
int num;
char name[NMAX];
??????? /* 自己参照:次のデータへのポインタ next */
};


int main(void)
{
/* 12の要素をもつ構造体配列の定義 */
struct node_tag Month[12] = { {1, "January", NULL},
{2, "February", NULL},
{3, "March", NULL} };
struct node_tag *p; /* ポインタ p */


???????
    p=&Month[0];
while (p!=NULL){
printf("%d %s\n", ???????, ???????); /* p の num と p の name を表示する */
p=??????? /* p を p の next とする */
}
return 0;
}



563:デフォルトの名無しさん
07/11/16 14:44:58
#include <stdio.h>
#include <stdlib.h>
#define MAX 20
#define MMAX 100
struct node_tag {
int num;
char name[NMAX];
??????? /* 自己参照:次のデータへのポインタ */
};
int main(void)
{
struct node_tag Meibo[MMAX]; /* 構造体配列の定義 */
int n=0; /* 配列の番号を格納する整数 n,初期値は 0 */
struct node_tag *head, *p; /* リストの先頭を指すポインタ head,新しく追加するノードを指すポインタ p */
head=NULL;
while ( scanf("%s", ???????) != EOF ){
Meibo[n].next=???????; /* 新しく追加するノード(Meibo[n]) の next が指すものは? */
head=???????;
???????=n++; /* Meibo[n] の num に配列番号を格納する整数を入れる */
}
     p=head;
while (p!=NULL){
printf("%d %s\n", ???????, ???????); /* p の num と p の name を表示する */
p=???????; /* p を p の next とする */
}
return 0;
}
以上の二つです
見づらいですが解答おねがいします

564:デフォルトの名無しさん
07/11/16 19:05:15
????なんて無くね?

565:デフォルトの名無しさん
07/11/16 19:47:55
?の個数が違うのはスルーで^^;

566:デフォルトの名無しさん
07/11/16 20:10:01
s/\?/梅/g

567:デフォルトの名無しさん
07/11/16 21:21:42
[1] 授業単元:プログラミング、関数基礎
[2] 問題文(含コード&リンク):
メイン関数において、2つの放物線
 y=ax2+bx+c
 y=px2+qx+r
の係数a、b、c、p、q、rをキーボードから入力し、その数値を関数に引数として渡す。
関数はその数値を用いて2曲線の交点の有無を調べ、その交点の個数を戻り値とし
てメイン関数に渡す(交点が無い場合は0、交点が1つの場合は1、交点が2つの場
合は2、交点が無限に存在する場合はー1を戻り値にする)。また関数は、もし交点が
有限個存在するならばそれらの交点の座標値をメイン関数に渡す。メイン関数は関数
から得たこれらの情報を得て、交点の個数を画面に表示し、さらにもし交点が有限個
存在するならばそれらの座標値を画面に表示する。そのようなプログラムを作成せよ。

[3] 環境
 [3.1] OS:Windows
 [3.3] 言語:C
[4] 期限: 2007年11月19日
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
C言語の基礎しか習っていません。
どなたかよろしくお願いします。


568:デフォルトの名無しさん
07/11/17 02:24:01
[1] 授業単元:プログラミング基礎
[2] 問題文(含コード&リンク):
① 3×10の2次元配列を用意する。
② キーボードから任意の文字列を3つ入力し、配列に入れる。
③ その入力データーから文字tがあるかどうかを判定し、見つけた場合、下図のように
   その2次元配列の場所をすべて画面に表示し、見つけた個数も表示する。
  入力データ;Computer、Data、Internet
  
  図 [0]行目の文字列を入力_>Computer
[1]行目の文字列を入力_>Data
[2]行目の文字列を入力_>Internet

[0]行目[5]列目に文字tを発見
    [1]行目[2]列目に文字tを発見
    [2]行目[2]列目に文字tを発見
    [2]行目[7]列目に文字tを発見
    
    文字tを全部で4文字見つけました  
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: 指定なし
[3.3] 言語: C
[4] 期限: 2007年11月19日
[5] その他の制限: 特にありません。お手数ですがよろしくお願いします。

                            


569:デフォルトの名無しさん
07/11/17 02:25:23
1] 授業単元:プログラミング基礎
[2] 問題文(含コード&リンク):
① 3×10の2次元配列を用意する。
② キーボードから任意の文字列を3つ入力し、配列に入れる。
③ その入力データーから文字tがあるかどうかを判定し、見つけた場合、下図のように
   その2次元配列の場所をすべて画面に表示し、見つけた個数も表示する。
  入力データ;Computer、Data、Internet
  
[0]行目の文字列を入力_>Computer
[1]行目の文字列を入力_>Data
[2]行目の文字列を入力_>Internet

[0]行目[5]列目に文字tを発見
[1]行目[2]列目に文字tを発見
[2]行目[2]列目に文字tを発見
[2]行目[7]列目に文字tを発見
    
文字tを全部で4文字見つけました  
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: 指定なし
[3.3] 言語: C
[4] 期限: 2007年11月19日
[5] その他の制限: 特にありません。お手数ですがよろしくお願いします。

                            


570:デフォルトの名無しさん
07/11/17 02:44:53
>>569
static char inputbuf[REPEAT][BUFSIZE];

int
main(void)
{
char *p = NULL;
int nfound = 0, i;

for (i = 0; i < REPEAT; i++) {
printf("[%d]行目の文字列を入力_>", i);
if (fgets(inputbuf[i], BUFSIZE, stdin) == NULL) {
perror("fgets");
exit(1);
}
}
for (i = 0; i < REPEAT; i++) {
p = inputbuf[i];
while ((p = strchr(p, CHAR)) != NULL) {
printf("[%d]行目[%d]列目に文字%cを発見\n", i+1, p-inputbuf[i]+1, CHAR);
nfound++;
p++;
}
}

printf("文字%cを全部で%d文字見つけました\n", CHAR, nfound);

return 0;
}

571:デフォルトの名無しさん
07/11/17 03:02:59
>>569
>>570がコンパイルできなかったら、ソースの先頭に以下の行を追加シル。
それと多重投稿は、ヤメレ。

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

#define REPEAT 3
#define BUFSIZE 10
#define CHAR 't'

572:デフォルトの名無しさん
07/11/17 03:25:36
多重投稿すみません。図のところのずれが少し気になりましたので。

573:デフォルトの名無しさん
07/11/17 03:26:38
あと助けてもらってありがとうございます。

574:デフォルトの名無しさん
07/11/17 03:49:02
ここのスレってもうひとつの宿題のスレとどうちがうの?

575:デフォルトの名無しさん
07/11/17 10:49:16
[1] 授業単元:統計学
[2] 問題文:
対数の足し算をするプログラムをつくれ。ただし計算
で用いるのはlog(x)=-1.966113,log(y)=-103.23,log(z)=-80.98,log(w)=0を用いよ。
(1)log(X+Y)
(2)log(X+Y+Z)
(3)log(W+X+Y+Z)

x=0.14 x=0.000000000000000000422
y=0.000000000000000023134 w=1ですが、w,x,y,z,を足してlogかけた値が
(4)になります。
しかしこの問題ではlogの値をexpかけずに計算せよ。
対数の足し算は以下を用いよ。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS: LINUX
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 11月17日24時
[5] その他の制限:
お願いします。
それぞれ分けてつくってほしいんですが。

576:デフォルトの名無しさん
07/11/17 19:16:23
神経衰弱を行うゲームを作成すること。
ただし、カードは52枚全て使用し、絵柄の
区別は無いものとする。

このプログラムをお願いします。(^o^)
期限は、11月18日までです。

577:デフォルトの名無しさん
07/11/17 23:14:10
ぼるじょあいないのかーい?

578:homoじょあ ◆5OLf4yFnuM
07/11/18 01:42:53
(・3・) エェー 忙しいか酔っ払ってるかだお

579:デフォルトの名無しさん
07/11/18 03:17:08
575
ですけどもうOKです。
小数点とlogの関係をみてみたら
logの2くらいの差でもかなり大小ありました。

580:デフォルトの名無しさん
07/11/18 16:06:09
C言語ではなく、Fortranなんですが宿題教えてくれませんか。

・xとyの2つの数値の約数と最小公倍数、最大公約数を求めなさい。

581:デフォルトの名無しさん
07/11/18 16:09:52
>>580
C でやればいいんじゃないかな?

582:デフォルトの名無しさん
07/11/18 19:41:58
>>574
投稿が少ないから比較的スルーされにくいが、
能力が低いので難しい問題は解けない

583:デフォルトの名無しさん
07/11/18 19:47:17
>>580
Fortranつっても77と90じゃ違いすぎるんでどのFortranかハッキリしてもらえますか?
あと期限と、xとyはキーボードから入力するのか、コードに直接書き込むのかその辺の所も
ハッキリ書いて貰えますかね?

584:デフォルトの名無しさん
07/11/18 21:01:50
576ですけど、カードは54枚です。
期限は、明日までです。

585:デフォルトの名無しさん
07/11/18 21:16:06
詳細な説明が全く無いし、テンプレに従ってないからできません

586:デフォルトの名無しさん
07/11/18 21:16:11
>>584
おお、期限が迫ってきて、じょじょに小出しの情報が揃ってきたな。
もう少し待てば、重要な情報が得られるかもな。

587:デフォルトの名無しさん
07/11/18 21:17:49
580ですが、f77でコンパイルしているので、たぶん77だと思います。
unix環境で、端末エミュレータからmuleを起動して、xとyをキーボードから
入力していますが、参考になりますでしょうか・・・

588:デフォルトの名無しさん
07/11/18 22:20:40
>>580
Fortranはほとんど使わないんで酷いコードだが取りあえず動くはず(Salford FTN77で作動確認)
URLリンク(kansai2channeler.hp.infoseek.co.jp)

589:ぼるじょあ ◆hZ8e4Wjqvw
07/11/18 22:58:20
>>576
(・3・) エェー カード枚数間違えちゃったYO!
          直しておいてくれYO!
URLリンク(kansai2channeler.hp.infoseek.co.jp)

#define CARD_NUM 14

#define CARD_NUM 54

590:デフォルトの名無しさん
07/11/19 05:23:33
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):1次元変数c[2]を関数polyに送り、
c[0]x^2+c[1]x+c[2]=0の二つの解(実部と虚部:xre[2],xim[2])を
polyから受け取って、2つの解を表示するプログラム
(引数は、c,xre,ximとなる)
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語:C
[4] 期限: [2007年11月19日14:30まで]
[5] その他の制限:なし
期限は短いですが、よろしくお願いします

591:デフォルトの名無しさん
07/11/19 11:18:55
[1] 授業単元:C++実習
[2] 問題文(含コード&リンク):
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS: XP VISTA
 [3.2] コンパイラ名とバージョン: visual studio 2005
 [3.3] 言語: C++
[4] 期限: 11/21 ~10:00
[5] その他の制限: 特になし

よろしくお願いします。


592:デフォルトの名無しさん
07/11/19 13:15:11
>>590
出来たYO BCCだと発狂するYO
URLリンク(kansai2channeler.hp.infoseek.co.jp)


593:デフォルトの名無しさん
07/11/19 14:48:36
>>592
ありがとうございました
すごい助かりました

594:デフォルトの名無しさん
07/11/19 22:25:24
[1] 授業単元:C言語
[2] 問題文
ある打撃点から目標に向かってまと狙いを行い、命中させるプログラム。
打撃点から目標点までの距離、障害までの距離
障害の幅と高さ、および風速を初期設定条件とし、
ゲームをする時は距離と風速のみ表示
打撃点からの玉の発射角(θ)初速度(Vo)を設定すると到達距離を計算し
目標点との差を表示するプログラム
障害物に当たると失敗と表示させる。
目標点より手前に落ちても失敗と表示。
目標点からの玉の距離を表示させる。
[3] 環境
 [3.1] OS: XP VISTA
 [3.2] コンパイラ名とバージョン: BCC
 [3.3] 言語: C
[4] 期限: 11/21 ~9:30
[5] その他の制限: 特になし

595:デフォルトの名無しさん
07/11/19 23:15:08
XP VISTAって何?

596:デフォルトの名無しさん
07/11/20 02:02:35
xpとvista両方可能です、と

597:デフォルトの名無しさん
07/11/20 18:52:08
すいまんせん。マルチになってしまうのですが
時間がないのでこちらでできたらおねがいします。
[1] アルゴリズムとデータ構造
[2] URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] Windows
 [3.2] Visual Studio 2005
 [3.3] C
[4] 期限: 11月20日

598:ぼるじょあ ◆hZ8e4Wjqvw
07/11/20 18:55:29
>>597
(・3・) エェー 6 の部分しか変更しちゃダメなら無理だYO!
          gets について調べてみるといいYO!

599:597
07/11/20 19:30:36
>>598
6の部分しか変更しちゃいけないのは問2です。
問3はfgets使用OKです。
おねがいしますペコシ

600:homoじょあ ◆5OLf4yFnuM
07/11/20 20:58:27
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(void)
{
char buff[1002];
char *data[10000];
int kosu, i, j;

kosu = 0;

while(fgets(buff, sizeof(buff), stdin) != NULL)
{
if(strlen(buff) > 1000){
puts("入力が1000バイトを超えています");
for (i=0; i<kosu; i++)free(data[i]);
return 0;
}
else if(kosu >= 10000){
puts("入力は10000個までです");
for (i=0; i<kosu; i++)free(data[i]);
return 0;
}
data[kosu] = (char *) malloc( strlen(buff)+1 );
strcpy(data[kosu], buff);
kosu = kosu + 1;
}


601:homoじょあ ◆5OLf4yFnuM
07/11/20 21:00:24
/* ソート */
for(i=0; i<kosu-1; i++){
for(j=i; j<kosu-1; j++){
if(strcmp(data[i], data[j+1]) > 0){
char *swap;
swap = data[i];
data[i] = data[j+1];
data[j+1] = swap;
}
}
}

for (i=0; i<kosu; i++)
free(data[i]);

return 0;
}

602:デフォルトの名無しさん
07/11/20 22:20:16
>>600,601
凄い助かりました!
ありがとうございます。

603:デフォルトの名無しさん
07/11/22 01:44:37
[1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク):
今a.txt,b.txt,c.txt,d.txt,e.txtというファイルがある。(これらのファイルを<1>)
それぞれのファイルには「a」「b」「c」「d」「e」とかかれている。
また,A.txt,B.txt,C.txt,D.txt,E.txtというファイルがある(これらのファイルを<2>)
それぞれのファイルには「A」「B」「C」「D」「E」とかかれている。
<1>のファイルと<2>のファイルを読み込んでその中身を
aA
aB
aC
aD
aE
bA
bB
という風に表示せよ。つまり25行になります。
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C言語
[4] 期限:2007/11/22 24:00まで
[5] その他の制限:fscanfで読み込んでほしいんですが

まあ自分が作りたいのは5個のファイルと別の5個のファイルを
最初の5個のうちの1つのファイルに対して別の5個のファイルをつかって5つの
値を出すみたいな。で25個の値が出したいんです。


604:ぼるじょあ ◆hZ8e4Wjqvw
07/11/22 02:36:49
>>603
(・3・) エェー これでいいのかYO!
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define NELEMS(arr) (sizeof(arr)/sizeof(arr[0]))
char **get_list(char *fname_list[], int fname_num){
int i;
char **ret, buf[100+1];
FILE *fp;
ret=malloc(sizeof(*ret)*fname_num);
for(i=0;i<fname_num;i++){
fp=fopen(fname_list[i], "r");
if(fp==NULL || fscanf(fp, "%100s", buf)!=1){fclose(fp);free(ret);return NULL;}
ret[i]=strdup(buf);
fclose(fp);
}
return ret;
}
int main(void){
char *one[]={"a.txt", "b.txt", "c.txt", "d.txt", "e.txt"};
char *two[]={"A.txt", "B.txt", "C.txt", "D.txt", "E.txt"};
char **buf_one, **buf_two;
int i, j;
buf_one=get_list(one, NELEMS(one));
buf_two=get_list(two, NELEMS(two));
if(buf_one==NULL || buf_two==NULL) return 1;
for(i=0;i<NELEMS(one);i++)
for(j=0;j<NELEMS(two);j++)
printf("%s%s\n", buf_one[i], buf_two[j]);
return 0;
}

605:デフォルトの名無しさん
07/11/22 02:49:10
>>603
a.txt と A.txt が私のPCでは作れなかったんだけどやってみました。
意図は不明ですが仕様はこれで満たしているはず

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

int main(void)
{
char *fname[2][5] = {
{"a.txt","b.txt","c.txt","d.txt","e.txt"},
{"1.txt","2.txt","3.txt","4.txt","5.txt"}, };
FILE *fp;
char ch[2];
int cnt = 0, idx = 0;

for (cnt=0; cnt<sizeof(fname[0])/sizeof(fname[0][0]); ++cnt)
{
for (idx=0; idx<sizeof(fname)/sizeof(fname[0]); ++idx)
{
if ((fp = fopen(fname[idx][cnt], "r")) == NULL) exit(1);
fscanf(fp, "%c", &ch[idx]);
fclose(fp);
}
printf("%c%c\n",ch[0], ch[1]);
}
return 0;
}


606:605
07/11/22 02:51:19
被ったしよくみたら全然違いました。すみませんでしたm(_ _)m

607:デフォルトの名無しさん
07/11/22 08:47:28
>604
ありがとう

608:デフォルトの名無しさん
07/11/23 23:30:46
[1] 授業単元:確率論
[2] 問題文(含コード&リンク):


この図のような状態遷移をして
URLリンク(kossie.net)
最終的にendにきたときの状態確率を出したいんですけど。
この下のプログラムは小数で計算しています。概要に付いても
説明しています。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
この状態確率を対数で計算して、上のプログラムでの値といっしょになるよう
にしたいんですけど。

logの加算には場合わけが必要で、そのプログラムは作りました。
URLリンク(kansai2channeler.hp.infoseek.co.jp)

logの計算途中で-infとかnanとかでてくるので
それを調べるためにprintf文大量に使ってますけど みにくかったら消してください。

小数計算は0*0.5で0になるからいいですけどlogはそうはいかないですから。
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: c
[4] 期限: 24日まで
[5] その他の制限: 特になし

609:デフォルトの名無しさん
07/11/24 07:42:36
ほかで質問しましたが解答がないので、まじでお願いします!!
[1] 授業単元: システム解析

[2] 問題文(含コード&リンク):2変数非線形連立方程式の解を求めるnewton-rapson法のプログラムを作成し以下の問題を解け
①x^2+y^2-8=0 と x+y=0 で初期点(x(x0),y(y0))∈[-4,-4]×[4,4]を10000個とり、初期点に対する収束値の関係を2次元で図示する。
収束値の関係の座標を出すこと。

②x^3-3xy^2-8=0 と x^3-3x^2y=0 で初期点(x(x0),y(y0))∈[-1/2,-1/2]×[1/2,1/2]を10000個以上(百万個程度を推奨する)とり、初期点に対する収束値の関係を2次元で図示する。
収束値の関係の座標を出すこと。


[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: ([2007年11月25日23:00まで]
[5]その他:^は累乗を示します。たとえば、x*x=x^2です。
2問ありますが、一問だけでもといていただけると助かります。2変数ということで手も足もでません、、、
よろしくお願いします。


610:デフォルトの名無しさん
07/11/24 15:47:30
[1] 授業単元: プログラミング演習

[2] 問題文
CD-Rは1枚~10枚で1枚が100円、11枚から100枚で1枚が90円、101枚以上で1枚が70円とする。枚数nに対する金額を計算するプログラムを作成しなさい。終了時にはCtrl+Z(Enter)と入力する

[3] 環境
 [3.1] OS:Windows
 [3.3] 言語:C

[4] 期限: 11/30
[5] その他の制限: 特になしです。お願いします。

611:デフォルトの名無しさん
07/11/24 19:16:03
>>610
#include <stdio.h>
#include <conio.h>

int main(void)
{
int num, price;

printf("CDの購入枚数を入力してください->");
scanf("%d", &num);

if(num < 0) return 1;
else if(num < 11) price = num * 100;
else if(num < 101) price = num * 90;
else price = num * 70;

printf("合計金額は %d 円です。\n", price);
_getch();

return 0;
}

612:デフォルトの名無しさん
07/11/24 19:22:48
>>610
これ、10枚買うときは 11 枚買って一枚捨てるとか、
79枚買うときは 101枚買って 22枚捨てるとかやるの?

613:612
07/11/24 20:55:23
>>610
ということで作ってみた
#include <stdio.h>
int main(void){
int price[]={100,90,70,-1};
int number[]={1,11,101,-1};
int i,ret,pr,minpr,num,index,sute,s;
for(;;){
ret=scanf("%d",&num);
if(ret==EOF){break;}
if(ret!=1){scanf("%*c");fprintf(stderr,"入力エラー\n");continue;}
for(i=0;number[i]!=-1;i++){
if(num>number[i]){pr=num*price[i];s=0;}
else{pr=number[i]*price[i];s=number[i]-num;}
if(i==0 || pr < minpr){index=i;minpr=pr;sute=s;}
}
if(sute==0){printf("%d 円\n",minpr);}
else{printf("%d 円で %d 枚買って、 %d 枚捨てて下さい\n",minpr,number[index],sute);}
}
}


614:デフォルトの名無しさん
07/11/24 21:53:13
>>611->>613 
大変ありがとうございます。
>>612
そういう作業は必要ないと思います。

615:デフォルトの名無しさん
07/12/01 13:07:17
1] 授業単元:プログラミング言語
[2] 問題文
  キーボードから実数を5個入力し、その入力データのうち3つのデータから実数の
  平均値を求める。
  求める平均は最初のデータから3個分、次のデータから3個分および3番目の
  データから3個分の計3種類とする。 
  平均をするプログラムは関数化すること引数で値を渡すようにすること。
  入力データ 1、1 1、2 1、3 1、4 1、5  
[3] 環境
 [3.1] OS: windows xp
 [3.2] コンパイラ名とバージョン: 特に指定なし
 [3.3] 言語: C
[4] 期限: 12月3日 18時
[5] その他の制限: 特になし




616:homoじょあ ◆5OLf4yFnuM
07/12/01 18:09:32
>>615
#include <stdio.h>

double average(double a, double b, double c){
return (a + b + c)/3.0;
}

int main(void){
double input[5];
int i;
for(i=0; i<5; i++){
printf("%dつ目->", i+1);
scanf("%lf", &input[i]);
}
for(i=0; i<3; i++)printf("%d-%d:%f\n", i+1, i+3, average(input[i],input[i+1],input[i+2]));
return 0;
}


617:デフォルトの名無しさん
07/12/01 18:38:10
615ですが、ありがとうございます。

618:デフォルトの名無しさん
07/12/02 03:35:37
あげ

619:デフォルトの名無しさん
07/12/02 06:37:09

■最近流行りのSM系サイトを知っていますか?

それは「SMプレイをすること」を最終目的とした人達が集まる出会い系サイトのことです。
普通の出会い系サイトと一味違った、熱い出会いが全国各地で繰り広げられています。

《ブログ SM系サイトが会える訳》
URLリンク(smsite.blog123.fc2.com)

ブログでは管理人一押しのSM系サイトを紹介しています。
是非ご利用下さい。

620:デフォルトの名無しさん
07/12/02 11:54:57
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):西暦y年m日d日の前の日と次の日の日付を求めてセットする関数
Lv1:大小の月はなし(各月の日数は30日、閏年なし(一年は360日)
Lv2:大小の月あり(30日の月と31日の月を考慮する。
Lv3:大小の月あり(30日の月と31日の月を考慮する。)閏年あり
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名:gcc
 [3.3] 言語: C
[4] 期限: 12月6日
[5] その他の制限: ポインタまで習ってます。

621:デフォルトの名無しさん
07/12/02 13:56:18
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
数字を十五個入力し、その中から五番目に大きい数値を求める
[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン:Visual Studio.NET
 [3.3] 言語:C
[4] 期限:12月2日 24:00]
[5] その他の制限:
forとifを使ったものでお願いします

622:homoじょあ ◆5OLf4yFnuM
07/12/02 14:16:48
>>620
(・3・) エェー プロトタイプ宣言希望
          y,m,dの3つを引数で受けるのはわかるけど
          前の日と次の日の格納をどうするのか不明だYO
          まさか引数9個ですKA?

623:homoじょあ ◆5OLf4yFnuM
07/12/02 14:27:07
>>621
#include <stdio.h>

int main(void){
int input[15], i, k;
for(i=0; i<15; i++)scanf("%d", &input[i]);
for(i=0; i<5; i++){
for(k=i+1; k<15; k++){
if(input[i] < input[k]){
int swap = input[i];
input[i] = input[k];
input[k] = swap;
}
}
}
printf("五番目に大きい数値:%d\n", input[48]);
return 0;
}

(・3・) エェー 並べ替えて5番目見てるだけだがYO
          もしかして、 例えば9 9 9 9 9 9 9 9 9 9 8 7 6 5 4って入力されたら
          答えは5になる?

624:デフォルトの名無しさん
07/12/02 14:28:54
ちょ、48w

625:homoじょあ ◆5OLf4yFnuM
07/12/02 14:37:00
>>624
(@3@) エェー マジか!

626:620
07/12/02 16:02:28
>>622

void yesterday(int*y,int*m,int*d){/* */}
void tomorrow(int*y,int*m,intd){/* */}

プログラミング苦手なのでよくわからないですが
こうかかれてました。

627:デフォルトの名無しさん
07/12/02 16:55:41
void yesterday(int*y,int*m,int*d)
{
struct tm tmp = {0, 0, 0, *d - 1, *m - 1, *y};
mktime(& tmp);
*y = tmp.tm_year;
*m = tmp.tm_mon + 1;
*d = tmp.tm_mday;
}
void tomorrow(int*y,int*m,intd)
{
struct tm tmp = {0, 0, 0, *d + 1, *m - 1, *y};
mktime(& tmp);
*y = tmp.tm_year;
*m = tmp.tm_mon + 1;
*d = tmp.tm_mday;
}


628:デフォルトの名無しさん
07/12/02 18:52:38
1] 授業単元:C言語
[2] 問題文:次のデータに対して0≦x≦1.4の範囲で、台形公式により面積を求めよ。
      データ URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:
 [3.3] 言語: C
[4] 期限: 2007年12月3日まで
[5] その他の制限:1.入力はテキストファイルからやると楽
         2.出力はディスプレイ上でOK
お願いします。

629:デフォルトの名無しさん
07/12/02 20:23:34
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):長いので。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
こいつの(i)です。
[3] 環境
 [3.1] OS: vineLinux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 明日提出なんでできれば今日のうちにお願いします
[5] その他の制限: 特になしでいいと思います。
自分なりに書いてみたソース
URLリンク(kansai2channeler.hp.infoseek.co.jp)
繰り返しがうまくできません。
よろしくお願いします。


630:homoじょあ ◆5OLf4yFnuM
07/12/02 23:32:28
>>628
(・3・) エェー で、どんな式?

631:628
07/12/02 23:45:11
なんとか自力でできました。
homoじょあさん レスしてくれてありがとうございます。

632:homoじょあ ◆5OLf4yFnuM
07/12/02 23:50:08
(・3・) アルェー そりはよかったですYO

633:デフォルトの名無しさん
07/12/03 00:01:17
[1] 授業単元:プログラミング実習
[2] 問題文(含コード&リンク):
URLリンク(kansai2channeler.hp.infoseek.co.jp)  この問題内の「動的な多次元配列の手法」の1~3は
URLリンク(kansai2channeler.hp.infoseek.co.jp)  ←にあります
課題1は何とかなりました→ URLリンク(kansai2channeler.hp.infoseek.co.jp) です
これを改良して課題2,3へ行くので、上げさしていただきました           
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: bcc32
 [3.3] 言語: C言語です
[4] 期限: 金曜日までです
[5] その他の制限: 特にありません

宜しくお願いします

634:homoじょあ ◆5OLf4yFnuM
07/12/03 00:33:08
>>629
(・3・) エェー めんどいから1ファイルにしちゃったYO
          適当に分けてNE

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

635:629
07/12/03 01:03:25
>>634
あざっす。と言いたいけどレベルたけえw
これ提出したら絶対怪しまれる
でも制限なしとか書いちゃったの自分なんで
あとは自力でがんばります


636:デフォルトの名無しさん
07/12/05 10:51:31
[1] 授業単元:C言語
[2] 問題文
まず、次のメンバを持つ構造体をtypedef宣言を使用し、data型として準備しなさい。
ただし、typedef宣言において構造体タグ名は省略しなさい。
char型の配列変数id(配列サイズ:8)、int型の変数n
main関数では、このdata型の変数personを宣言し、そのメンバidを 012345、nを25として初期化する。
続いて、実行結果に示すように「学籍番号・・・の現在の得点:」とともにpersonのメンバidとnを表示した後、personをadd_num関数に渡す。
さらにadd_num関数から戻る値をpersonに格納し、「学籍番号・・・の総合得点:」とともにpersonのメンバidとnを表示するプログラムを作成しなさい。
ただし、add_num関数は、data型の構造体person2に受取った内容を格納し、「今回の得点は60点満点で何点ですか?」の質問とともにキーボードによりint型変数cに得点を入力した後、person2のメンバnにcの値を加算し、person2の内容を返すように作成しなさい。

[3] 環境
 [3.1] OS: Windows XP
 [3.2] visual studio 2005
 [3.3] 言語: C
[4] 期限: 12月6日9:30

実行結果例
学籍番号012345の現在の得点:25
今回の得点は60点満点で何点ですか?
45
学籍番号012345の総合得点:70


よろしくお願いします


637:デフォルトの名無しさん
07/12/05 10:54:34
[1] 授業単元:C言語
[2] 問題文
まず、次のメンバを持つ構造体をtypedef宣言を使用し、data型として準備しなさい。
ただし、typedef宣言において構造体タグ名は省略しなさい。
char型の配列変数id(配列サイズ:8)、int型の変数n
main関数では、このdata型の配列変数personを配列サイズ5で宣言する。
続いて、person[0]、person[1]、person[3]、person[3]、person[5]の順にこれらの内容を一つずつadd_num関数に渡し、その都度add_num関数から戻る内容をperson[0]、person[2]・・・に格納する。
その後、5つのperson[i]のメンバidとnを「学籍番号・・・の得点」として表示するプログラムを作成しなさい。
ただし、add_num関数は、data型の構造体person2に受取った内容を格納し、「学籍番号7桁を入力してください。」の質問とともにキーボードによりperson2のメンバidに学籍番号を入力、
また、「今回の得点は何点ですか?」の質問とともにキーボードによりperson2のメンバnに得点を入力し、person2の内容を返すように作成しなさい。

[3] 環境
 [3.1] OS: Windows XP
 [3.2] visual studio 2005
 [3.3] 言語: C
[4] 期限: 12月6日9:30

実行結果例

学籍番号7桁を入力してください。
0123456
今回の得点は何点ですか?
70
学籍番号7桁を入力してください。
0124680
今回の得点は何点ですか?
80
学籍番号0123456の得点:70
学籍番号0124680の得点:80

よろしくお願いします

638:デフォルトの名無しさん
07/12/05 18:11:43
[1] 授業単元:C言語
[2] 問題文
int型の値を変数bで受け取り、次の演算を行ってbの値を返すadd_num関数を作成しなさい。
[add_num関数内の処理]
「今回の得点は60点満点で何点ですか?」と画面表示した後、キーボードからint型変数cに値を入力する。
続いて、変数bにcの値を加算し、bの値を返す。
次に、main関数でint型変数nを値25で初期化し、nの値を「現在の得点:」とともに表示した後、add_num関数にnの値を渡す。そしてadd_num関数が返した値を再び変数nに格納し、nの値を「総合得点:」とともに右のように表示するプログラムを作成しなさい。

[3] 環境
 [3.1] OS: Windows XP
 [3.2] visual studio 2005
 [3.3] 言語: C
[4] 期限: 12月6日9:30

実行結果例
現在の得点:25
今回の得点は60点満点で何点ですか?
(48)
総合得点:73
()はキーボード入力


639:デフォルトの名無しさん
07/12/05 18:15:09
[1] 授業単元:C言語
[2] 問題文
まず、次のメンバを持つ構造体をtypedef宣言を使用し、data型として準備しなさい。
ただし、typedef宣言において構造体タグ名は省略しなさい。
char型の配列変数id(配列サイズ:8)、int型の変数n
main関数では、このdata型の変数personを宣言し、そのメンバidを 012345、nを25として初期化する。
続いて、実行結果に示すように「学籍番号・・・の現在の得点:」とともにpersonのメンバidとnを表示した後、personのメンバnのみの値をadd_num関数に渡す。
さらにadd_num関数から戻る値をpersonのメンバnに格納し、「学籍番号・・・の総合得点:」とともにpersonのメンバidとnを右のように表示するプログラムを作成しなさい。
ただし、add_num関数は、int型の変数bに受取った値を格納し、「今回の得点は60点満点で何点ですか?」の質問とともにキーボードによりint型変数cに得点を入力した後、変数bにcの値を加算し、bの値を返すように作成しなさい。
[3] 環境
 [3.1] OS: Windows XP
 [3.2] visual studio 2005
 [3.3] 言語: C
[4] 期限: 12月6日9:30
実行結果例
学籍番号012345の現在の得点:25
今回の得点は60点満点で何点ですか?
(45)
学籍番号012345の総合得点:70
()はキーボード入力

よろしくお願いします

640:デフォルトの名無しさん
07/12/08 13:48:01
1] プログラミング基礎
[2]• 3×3の2次元配列を用意する.これは外部変
数とする.
• キーボードから任意の実数を9個入力し,順番
に配列にいれる.([0][0]->[0][1]->[0][2]->....)
• その入力データから3×3の配列の縦と横のそ
れぞれの平均(実数)を求め,画面に表示する.
なお,平均を求めるプログラムは関数化するこ
と.(引数は使わないように)
• 入力データ
– 1.1 1.2 1.3 1.4 1.5 ・・・・
[3] 環境
 [3.1] Windows
 [3.2] コマンドプロンプト 秀丸
 [3.3]言語 C
[4]期限 月曜日18:00
[5] よろしくお願いします。


641:デフォルトの名無しさん
07/12/08 14:33:50
[1] 授業単元: コンピュータープログラミング

[2] 問題文
1日目はn円、2日目はn*2円、と前日の倍額を貯金したら何日で1000万円を超えるか?貯金の合計金額は?を計算するプログラムを作成しなさい。ただし、利子は考えないものとする。

[3] 環境
 [3.1] OS:Windows
 [3.3] 言語:C

[4] 期限: 12/14
[5] その他の制限: 可能ならホワイル文使用でお願いします。




642:デフォルトの名無しさん
07/12/08 19:51:24
>>640 出来たYO~
URLリンク(kansai2channeler.hp.infoseek.co.jp)

>>641 longで十分だけどunsigned longにしてみたYO ~
#include<stdio.h>
int main(void){
    unsigned long int n,d;
    d=1;
    printf("1日目の金額:");
    scanf("%d", &n);
    while(n < 100000000){
        n=2*n;
        d=d+1;
    }
    printf("%d日で1000万円を超えます\n",d);
    printf("%d日目の金額%u円",d,n);
    return 0;
    

643:デフォルトの名無しさん
07/12/10 20:44:24
[1] 授業単元: C++
[2] 問題文:以下のような、クラスphdataを作成せよ
・身長(cm)と体重(kg)を格納する変数をもつ
・コンストラクタで、各変数に値を格納させる
・オブジェクトを浮動小数点数に変換した際には、BMI値を返すようにする
そしてmain()関数で、簡単な動作確認を行うこと。

※BMI = 体重(kg) / [身長(m)×身長(m)]
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン:Visual Studio 2005
 [3.3] 言語:C++
[4] 期限: 12/20
[5] その他の制限: なし

644:デフォルトの名無しさん
07/12/10 21:38:24

内容:
[1] 授業単元:c++基礎
[2] 問題文
  1: 1000以下の素数をかぞえるプログラムを作り
     そのプログラムについて実行時間をTIME、timeのそれぞれ方法で測定しなさい。
     ただし、TIME、timeの精度はそれぞれ1桁、2桁とする。また、そのプログラムをコンパイルしたコマンドを用い、
     サンプルプログラムに手を加えてはいけない。つまり、この評価ではプログラムをメモリに読み込む時間も含まれる。
     2つの方法の実行時間を比較し、どちらが早いか答えよ
  2:second.exeの応答時間を測定せよ。なお、有効数字は2桁とする
  3:起動時間を有効数字2桁まで測定するプログラムを作り、1で作ったプログラムの一部(外側のfor文全体)の起動時間を測定せよ
    
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン: Visual Studio 2003
 [3.3] 言語:C++
[4] 期限:[2007年12月12日23:59まで]


645:homoじょあ ◆5OLf4yFnuM
07/12/10 22:13:26
>>643
#include <iostream>
using namespace std;

class phdata{
private:
double height, weight;
public:
phdata(double height, double weight);
operator double();
};

phdata::phdata(double height, double weight){
this->height = height;
this->weight = weight;
}

phdata::operator double(){
return weight*10000/(height*height);
}

int main(){
phdata data(172.5, 75.4);
cout << "BMI:" << (double)data << endl;
return 0;
}


646:homoじょあ ◆5OLf4yFnuM
07/12/10 22:18:24
(・3・) エェー TIMEとtimeって知らないYO
          サンプルてなんだYO

647:664
07/12/11 00:16:39
すいません・・
いろいろとぬけてました
TIME=TIMEコマンド
time=time関数
サンプルプログラム=1000以下の素数を数えるプログラムです

申し訳ございません



648:664
07/12/11 01:31:02
すいません・・あとひとつ
second.exeってのは
@echo off
second.exe
FOR /L %%I IN (1,1,10000) DO A.exe >NUL
second.exe
PAUSE



649:デフォルトの名無しさん
07/12/11 07:56:25
>>645
助かりました、ありがとうございます

650:デフォルトの名無しさん
07/12/11 16:31:53
符号無し整数を左右にシフトした値が、2のべき乗での乗算や除算と等しくなることを確認するプログラムを作成せよ


誰か助けて

651:デフォルトの名無しさん
07/12/11 19:45:52
hoge1 = x >> 1;
hoge2 = x << 1;
hoge3 = x * 2;
hoge4 = x / 2;

hoge1から4をprintfで確認してみてはどうだろう。
xはunsigned int型変数で値は適当で構わない。

652:デフォルトの名無しさん
07/12/11 20:14:14
>>650
たまたまサンプルしたものが一致するだけじゃ「確認」って言わないんだろうな。
やっぱ0から計算できる限界までシフトと乗算、除算が一致することを
全部調べるんだろうね。


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