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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
あなたが解けない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++の宿題を片付けます 68代目
http://pc8.2ch.net/test/read.cgi/tech/1151158759/
【過去スレ一覧】
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
2デフォルトの名無しさん:2006/07/05(水) 19:29:42
いいかげんにしろ
3デフォルトの名無しさん:2006/07/05(水) 19:33:25
>>1
スレ立て乙
4デフォルトの名無しさん:2006/07/05(水) 20:31:08
1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
1年分の各月の平均気温を配列に格納し(プログラム内で初期値として与えてよい),各データとそれらの平均値を表示するプログラムを作成せよ.
なお,データは摂氏と華氏の双方で表示すること.ただし,格納するデータはどちらか一方のみ.(この問題では,平均値は整数でよい(切り捨て,切り上げ,四捨五入いずれも可).月平均気温は適当でよい.)
摂氏→華氏変換式: F=(9/5)×C+32 ,ただしCは摂氏温度,Fは華氏温度.
ただし、摂氏から華氏への変換をユーザ定義関数として定義して,これを使うようにせよ.
[実行結果]
2005年の月平均気温(摂氏,括弧内は華氏)

1月:5(41)
2月:0(32)
<省略>
12月:10(50)
-----------
平均:15(59)
以上

[3] 環境
 [3.1] OS: (Windows
 [3.2] コンパイラ名とバージョン: Visual Studio.NET2003
 [3.3] 言語: C
[4] 期限: なるべく早く
[5] その他の制限: 関数まで習いました。
どうか、よろしくお願いします。





5デフォルトの名無しさん:2006/07/05(水) 20:36:59 BE:23292926-#
>>4
><省略>

するな。
6デフォルトの名無しさん:2006/07/05(水) 20:40:52
>>5
そういう問題なんだから仕方ないよ。
7デフォルトの名無しさん:2006/07/05(水) 20:48:07 BE:122283779-#
プログラム内で指定すべき初期値を省略されたら書けない罠。
8デフォルトの名無しさん:2006/07/05(水) 20:51:03
>>4
#include <stdio.h>
double kashi(double t){
return 9/6*t+32;
}
main(){
double sesshi[12]={1,2,3,4,5,6,7,8,9,10,11,12},goukei=0;
int i;
for(i=0;i<12;i++){
goukei+=sesshi[i];
}
printf(" 2005年の月平均気温(摂氏,括弧内は華氏)\n\n");
printf(" 1月:%.0f(%.0f)\n",sesshi[0],kashi(sesshi[0]));
printf(" 2月:%.0f(%.0f)\n",sesshi[1],kashi(sesshi[1]));
printf(" <省略> \n");
printf(" 12月:%.0f(%.0f)\n",sesshi[11],kashi(sesshi[11]));
printf(" -----------\n");
printf("平均:%.0f(%.0f) \n",goukei/12,kashi(goukei/12));
printf("以上\n");
}
9デフォルトの名無しさん:2006/07/05(水) 21:30:49
/*******チラシの裏*********/
>>4
前にもやった記憶が・・・
10デフォルトの名無しさん:2006/07/05(水) 22:20:48
とりあえずは何番目かの66の片方を使う事に流れたみたいだな・・・
先にあっち消費してくるか・・・
11デフォルトの名無しさん:2006/07/05(水) 23:33:37
[1]授業単元:プログラミング
[2]問題文:knightの巡回 m*nのマス目のチェス盤に対して解の求め方を、
1.出発点に戻らなくて良いので、全地点を巡回する
2.出発点に戻る解を一つ求める
3.出発点に戻る解を全て求める
の順序で付け加えていき、プログラムを完成させなさい。
(ナイトのスタート地点はどこでもよいが、四隅のどこかにして おけばよい。答えの表示は、m*nのマス目に訪問順番を書き込んだ形にせよ。)
[3]環境
[3.1]OS:mac
[3.2]コンパイラ名とバージョン:gcc
[3.3]言語:C
[4]期限:7/7午後5時
[5]その他の制限:ポインタはなるべく使わず。
ぜんぜん分かりません。よろしくお願いします。
12デフォルトの名無しさん:2006/07/05(水) 23:39:36
aaaa^ _a;

aaaaはクラスです。こんな定義できましたっけ?
13デフォルトの名無しさん:2006/07/05(水) 23:48:19
CLIだな。
_aはaaaaを指すマネージドポインタ
14デフォルトの名無しさん:2006/07/06(木) 00:45:08
[1] 授業単元:伏せ
[2] 問題文(含コード&リンク):行列ベクトル積を行うプログラムを書く
[3] 環境 Linux gcc 3.4 C
[4] 期限: ほぼ無期限
[5] その他の制限: 行列を用意する方法は以下のやり方でやれといわれてます

//行列の確保
double **a, *x, *y;
a = (double **)malloc(sizeof(double *)*n);
a[0] = (double *)malloc(sizeof(double)*(n*n));

//行列の解放
free(a[0]);
free(a);
15デフォルトの名無しさん:2006/07/06(木) 22:16:45
[1] 授業単元:コンピューター実習
[2] 問題文(含コード&リンク):
     簡単な計算を行うプログラムを作る
     例)
       31 + 12  (Enter)
=43       (出力)
       45 − 12  (Enter)
       =33 (出力)
       5 * 6 (Enter)
       =30 (出力)
       30 / 6 (Enter)
       =5 (出力)
というプログラム。
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 7月12日 2時30分
[5] その他の制限: switch caseを使う、Ctrc + Cを押さないと停止しないようにする

  よろしくお願いします。
16デフォルトの名無しさん:2006/07/06(木) 22:53:24
CtrlDを押したらどうなるべきなんだろう……
17デフォルトの名無しさん:2006/07/06(木) 23:08:47
>>15 超適当
#include <stdio.h>
void main(){
char buf[256], c;
int a, b;
while(1){
c = ',';
printf("[書式例]\n10 + 10\n");
fgets(buf, sizeof(buf), stdin);
sscanf(buf, "%d %c %d", &a, &c, &b);
switch(c){
case '+': printf("=%d\n\n", a + b); break;
case '-': printf("=%d\n\n", a - b); break;
case '*': printf("=%d\n\n", a * b); break;
case '/': if (b == 0){
printf("error\n\n");
break;
} else {
printf("=%.2f\n\n", (float)a / b);
break;
}
default:
printf("error\n\n");
}
}
}

18デフォルトの名無しさん:2006/07/07(金) 03:54:35
>>15

一応構文解析するようにしてみた。多少バグあり。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2276.c

誰か治してくれ。 orz

19デフォルトの名無しさん:2006/07/07(金) 14:24:52
0で割ろうとすると…
20デフォルトの名無しさん:2006/07/07(金) 14:55:10

「 - 」 のときの処理(優先度とか)がおかしい気がする
21デフォルトの名無しさん:2006/07/07(金) 15:12:12
char cmojiretu[50] = "AAABCCCCCCCCDDDEFGHHHHJJJ";
char cmojiretu2[50];
int isoeji = 0;
int icnt = 0;
int out = 0;
char ccnt;
printf("\n圧縮前文字列→%s\n", cmojiretu); //圧縮前文字列の表示
printf("圧縮前文字数→%d\n", strlen(cmojiretu)); //圧縮前文字数の表示
do {
if(ccnt == cmojiretu[isoeji])
icnt++; //icntを1つずつずらす
else{
for(; icnt > 9; icnt -= 9)
out += sprintf(cmojiretu2 + out, "@9%c", ccnt);
if(icnt <= 3)
while(icnt--) cmojiretu2[out++] = ccnt;
else
out += sprintf(cmojiretu2 + out, "@%c%d", ccnt, icnt);
icnt = 1;
ccnt = cmojiretu[isoeji];
}
}while(cmojiretu[isoeji++]);
cmojiretu2[out++] = '\0';
printf("\n圧縮後文字列→%s\n", cmojiretu2); //圧縮後文字列の表示
printf("圧縮後文字数→%d\n", strlen(cmojiretu2)); //圧縮後文字数の表示
return 0; //main関数を終了させる
}
このC言語のコメントがわかりません、わかる方コメントをお願いします
22デフォルトの名無しさん:2006/07/07(金) 15:18:43
nihongono bankyouha simashitaka?
23huniya:2006/07/07(金) 15:19:10
授業単元:Windos
問題:西暦と月を入力し、その月のカレンダーを出力せよ。
環境:C言語です。
24デフォルトの名無しさん:2006/07/07(金) 15:30:44
>>21
どうでもいいとこだけにコメントが書いてあるな。
25デフォルトの名無しさん:2006/07/07(金) 15:33:01
ってかマルチだしスルーでしょ
26c++:2006/07/07(金) 16:05:56
[1] 授業単元: プログラミング言語
[2] 問題文(含コード&リンク): 線形リストを用いて、素数とわかった数を保存し、指定された数(N)以下の素数を求めるプログラムを作成せよ。ただし、Nはプログラム実行中で外部から入力できるようにすること。
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: 6.0
 [3.3] 言語: C++
[4] 期限: 2006年7月10日まで
[5] その他の制限:たぶんなし

この問題がわかりません。
基礎なことかもしれませんが、どうかお願いします
27デフォルトの名無しさん:2006/07/07(金) 16:07:48

そういえばもう夏休みの宿題の季節なんだな
28デフォルトの名無しさん:2006/07/07(金) 16:17:32
29デフォルトの名無しさん:2006/07/07(金) 18:31:48
[1] C言語プログラミング
[2] 問題文(含コード&リンク):
名前と点数を格納するデータ部を持つ自己参照型構造体を定義し、
線形リストを実装しなさい。
構造体の名前は struct grade とし、新たに glist 型として定義する。
構造体のメンバは、char name[40]、int score、及びポインタnext。
ノードは3つ作成し、それぞれキーボードからデータを入力する。
ポインタに値を代入し、ヘッダhdと3つのノードの間を繋ぐ。
読み出し用のポインタpを使って、リストのデータを順に画面に出力する。
【ヒント
実習時間中にスライドの指示に沿って作成したコードを提出しても良い。
余力のある人は、ノードを作成する際に動的にメモリを確保するコードを作成すること
 (より効率的なコーディングが可能となる)。
[3] 環境
 [3.1] OS: XP
 [3.2] visual studio.2003
 [3.3] 言語: C
[4] 期限: 来週の火曜日まで
[5] 配列、ループ、線形探索、二部探索、構造体
30デフォルトの名無しさん:2006/07/07(金) 19:19:17
>>26
#include<iostream>
using namespace std;
struct Cell{int car;Cell*cdr;Cell(int car,Cell*cdr):car(car),cdr(cdr){}};
Cell*enumFromTo(int from,int to)
{return from <= to?new Cell(from,enumFromTo(from+1,to)):NULL;}
Cell*erase(Cell*p,int n)
{return!p?NULL:p->car%n?new Cell(p->car,erase(p->cdr,n)):erase(p->cdr,n);}
Cell*solve(Cell*p){return p?new Cell(p->car,solve(erase(p->cdr,p->car))):NULL;}
int main(){
    int n;cout<<"n <- ";cin>>n;
    for(Cell*p = solve(enumFromTo(2,n));p;p=p->cdr)printf("%d ",p->car);
}
31デフォルトの名無しさん:2006/07/07(金) 22:01:24
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク): テキストファイルを読み込ん(ファイル名はプログラム中に書き込んでおく)で,偶数行だけを画面に出力するプログラムを作成せよ.
ファイル名:test.txt
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン: VisualStudio.net2003
 [3.3] 言語: C
[4] 期限: 7月11日
[5] その他の制限: よろしくお願いします
32デフォルトの名無しさん:2006/07/07(金) 22:06:43
>>31
#include <stdio.h>

int main(void)
{
int a;
FILE *fp;
if ((fp=fopen("a.txt","r"))==NULL){
perror("error![file] ");
return -1;
}
while (fscanf(fp,"%d",&a) != EOF){
if ((a%2)==0){
printf("%d\n",a);
}
}
return 0;
}
33デフォルトの名無しさん:2006/07/07(金) 22:11:22
>>32
こんなに早くありがとうございます!!
34デフォルトの名無しさん:2006/07/07(金) 22:24:20
[1] 授業単元: プログラミング基礎1
[2] 問題文(含コード&リンク): ファイル名をキーボードから入力し,キーボードから10行分のテキスト(空白文字無し)を読み込んで,その内容をファイルに格納するプログラムを作成せよ.

[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: VisualStudio2003
 [3.3] 言語: C
[4] 期限: できるだけ早くお願いします
35デフォルトの名無しさん:2006/07/08(土) 00:02:45
>>34
#include <stdio.h>
#include <stdlib.h>
int main(void) {
char filename[80],buf[255] ;
int i ;
FILE *fp ;
printf("FileName? ") ;
scanf("%s[^\n]",filename) ;
printf("Input!\n") ;
if(!(fp=freopen(filename,"w+",stdout))) {
fprintf(stderr,"Error!!\n") ;
exit(1) ;
}
for(i=0;i<=10;i++) {
fgets(buf,sizeof(buf)/sizeof(buf[0]),stdin) ;
printf("%s",buf) ;
}
return(0) ;
}
眠い。
36デフォルトの名無しさん:2006/07/08(土) 00:08:00
>>35
寝ろ
37デフォルトの名無しさん:2006/07/08(土) 11:43:02
なぜ標準入力ではなくキーボードなのか
38デフォルトの名無しさん:2006/07/08(土) 11:48:02
>>29 お願いします
39デフォルトの名無しさん:2006/07/08(土) 12:26:33
>>29
#include<stdio.h>
#include<stdlib.h>
typedef struct grade { char name[40]; int score; struct grade *next; } glist;
static glist *hd = NULL;

static glist *new_rec() { glist *p = malloc(sizeof(*p)); if (p){ scanf("%s %d", p->name, &p->score); p->next = NULL; } return p; }
static void add_rec(glist **head, glist *rec) {
    glist *p, *prev;
    for(prev=NULL, p=*head; p; p=p->next) prev = p;
    if (prev) prev->next = rec; else *head = rec;
}
static void output_rec(glist *rec){printf("%s %d\n", rec->name, rec->score); }
static void delete_recs(glist *head){
    glist *p, *q;
    for (p=head; p; p=q){ q = p->next; free(p); }
}
int main() {
    int i; glist *p, *q;

    for(i=0; i < 3; i++){ p = new_rec(); if (p) add_rec(&hd, p); }
    for(p=hd; p; p=p->next){ output_rec(p); }
    delete_recs(hd);

    return 0;
}
40デフォルトの名無しさん:2006/07/08(土) 12:28:33
あ…まぁいいや。
41デフォルトの名無しさん:2006/07/08(土) 13:59:17
前スレでお世話になりましたが、もう一度だけお願いします。

[1] 授業単元:プログラミング通信
[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2298.txt
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語:C
[4] 期限: 10日(月)15時まで
[5] その他の制限: 問題文にある条件を満たしていただければ大丈夫です。

よろしくお願いします。
42デフォルトの名無しさん:2006/07/08(土) 18:06:01
入力と受信の並列処理ってなに?(´・ω・`)
43デフォルトの名無しさん:2006/07/08(土) 18:09:49
文字通りの意味でしょ?
4441:2006/07/08(土) 18:21:10
>>42
文字通りの説明になってしまいますが、
相手側からのデータ受信、キーボードからの入力の
どちらが来ても対応できるように並列で処理するということでいいでしょうか。

そしてその並列処理(マルチスレッド)をselect()関数で実現するというのが
今回の課題の主眼らしいです。
45デフォルトの名無しさん:2006/07/08(土) 18:30:35
書き込み中に受信があったら表示す(=゚ω゚)ノぃょぅるのね
4641:2006/07/08(土) 18:35:12
>>45
はい、そういう仕様で大丈夫ですので
ぜひともお願いします。
47デフォルトの名無しさん:2006/07/08(土) 18:46:50
>>45
せめて行単位で
     シ-‐‐-、
    ノ //|.i i
やらないか
    ノ/」_´__ソ.| <あたしゃもう疲れたよ
48taka:2006/07/08(土) 19:23:39
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク): 線分を6本入力する。それらの線分のうち、垂直に交わっているものの組はどれかを判定するプログラムを作る。

  http://up.spawn.jp/file/up27759.txt

  startx,startyは始点のx,y座標、endx,endyは終点のy座標です。下の方のdouble型のtはtanのことです。
  垂直の条件をtを使って表現したいのですが、このプログラムのままじゃ不完全ぽいです。

  
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: Microsoft Visual Studio .NET 2005
 [3.3] 言語: C++
[4] 期限: [7月11日0:00まで]
[5] その他の制限: よろしくお願いします。
4941:2006/07/08(土) 19:24:51
>>47
肝は並列処理らしいですので
行単位でも並列処理していただければ大丈夫だと思います。
よろしくおねがいします。
50デフォルトの名無しさん:2006/07/08(土) 20:10:16
>>49
もうすぐできる(と思う) (=´ω`)ノ
51デフォルトの名無しさん:2006/07/08(土) 20:43:37
>>41
誰かあら捜し頼む。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2300.txt

べ、べつに自分の勉強のために解いたんだからね!
5241:2006/07/08(土) 21:16:21
早速ありがとうございます!!
家のPC環境ではコンパイルできないので、
月曜に大学で動作確認するつもりです。
すみませんが、それからまた報告にあがります。
53デフォルトの名無しさん:2006/07/08(土) 21:53:26
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):

@ キーボードから正整数を読み込み,その数を素因数分解した結果を画面に表示する.
ただし,1つの整数を引数とし,その整数の最小の素因数を返す関数をユーザ定義関数として作成し,この関数を使用すること.

A キーボードからファイル名を入力し,そのファイルの文字コードを判別し,画面に表示する.
ただし,指定ファイルの文字コードはJIS,EUC,SJISとする.

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

よろしくおねがいします。
54デフォルトの名無しさん:2006/07/08(土) 22:53:20
>>48
tanを使うと面倒じゃない?
線分が与えられてるから位置ベクトルに直して内積で直角で交わるか否かを判定した方が楽だと思う
55デフォルトの名無しさん:2006/07/08(土) 23:07:55
>>51
scanf("%s", ...)は如何な最中。
空白を含む文字列を(そのままの形では)入力できないぞ。
あ、どうせだから文字数制限もしておくべきか。
#scanf("%1023[^\n]", ...)で委員で内科医?
56デフォルトの名無しさん:2006/07/08(土) 23:21:58
>>55
その例ならfgets使うほうが健全な気がしてならない
57taka:2006/07/08(土) 23:23:49
>>54
先ほど質問をさせて頂いた者です。
質問の内容に、一部不備がありました。申し訳ありません。

教授が言うには、垂直判定といっても、ぴったり90°で交わっている線分だけを垂直とみなすわけではなく、89°や91°も垂直とみなして良いというように、90°±αのゆるやかさを持たせなさい、とのことです。
ベクトルだと、びったり90°のものしか判定されないような気がするのですが…。
58デフォルトの名無しさん:2006/07/08(土) 23:52:27
>>53
(1)例外処理は任せた
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2301.c

データを増やせばもっと速くなるぞ!
59デフォルトの名無しさん:2006/07/08(土) 23:56:21
>>58
もうそのネタ秋田
60デフォルトの名無しさん:2006/07/09(日) 00:09:28
(´・ω・`) ショボーン
6153:2006/07/09(日) 00:52:07
自己解決しました
62デフォルトの名無しさん:2006/07/09(日) 01:37:50
>>57
ちょっと処理は増えるけど
・2つの線分の長さを算出
・ベクトルから内積を算出
をして

cos([89度のラジアン]) < ([内積] / [2つの線分の長さの積]) < cos([91度のラジアン])

とか?
tan は、始点と終点の x 座標が同じ時の処理がメンドイ・・・(ごめん)
63デフォルトの名無しさん:2006/07/09(日) 01:43:29
[1] 授業単元:プログラミング言語C
[2] 問題文(含コード&リンク):ttp://www.uploda.org/uporg439919.pdf
[3] 環境
 [3.1] WindowsXP
 [3.2] gcc
 [3.3] C
[4] 期限:7月10日の早朝まで
[5] その他の制限:特にありません

3問と多いですが、どうか宜しくお願いしますm(_ _)m
64デフォルトの名無しさん:2006/07/09(日) 03:07:47
酔っ払ってていいならやるぞう
ダメなら寝るぞう
65デフォルトの名無しさん:2006/07/09(日) 03:30:24

>>63

「12F574」も一致させる必要がありますか?


っていうかpdfからコピペ出来ないからマンドクセ
66デフォルトの名無しさん:2006/07/09(日) 03:36:59
ポインタのアドレスまで同じにする必要はないっしょ
そもそもそういうのは各々の使用環境によって異なるんでは?
67デフォルトの名無しさん:2006/07/09(日) 03:59:52
#include <stdio.h>

main() {
char name[10] = {"NAOKISATO"};
char *add;
int i;

add = name;

for(i = 0; i < 9; i++){
printf("アドレス %x には文字 %c が格納されています。\n", 0x12F574, name[i]);
}
printf("\n");
printf("逆に並べ替えて表示すると\n");
for(i = 8; i >= 0; i--){
printf("アドレス %x には文字 %c が格納されています。\n", 0x12F574, name[i]);
}
}
68デフォルトの名無しさん:2006/07/09(日) 04:27:23
printf("アドレス %x には文字 %c が格納されています。\n",&add[i],add[i]); かな?
69デフォルトの名無しさん:2006/07/09(日) 04:53:16
for(i = 0; i < 9; i++){
printf("アドレス %x には文字 %c が格納されています。\n", add++, *add);
}
printf("\n");
printf("逆に並べ替えて表示すると\n");
for(i = 8; i >= 0; i--){
printf("アドレス %x には文字 %c が格納されています。\n", --add, *add);
}
70デフォルトの名無しさん:2006/07/09(日) 07:05:24
>>65
PDFからコピペの方法しらんのか?
71デフォルトの名無しさん:2006/07/09(日) 07:09:46
>>70
知ってるなら教えて下さい
72デフォルトの名無しさん:2006/07/09(日) 08:06:17
>>70

普通は出来るけど >>63 のは禁止されてる
73デフォルトの名無しさん:2006/07/09(日) 13:08:16
>>71
右クリック⇒てのひらツールでテキスト選択
もしくは、上のツールバーの手のマークの横の「選択」ってのを押す

>>72
へ?できるんだが・・・
74デフォルトの名無しさん:2006/07/09(日) 13:09:39
>>72
と、思ったらマジで禁止されてる・・・何これ
75デフォルトの名無しさん:2006/07/09(日) 13:44:24
タグ名 prsn なんて、悪いコーディングのお手本だな。
76デフォルトの名無しさん:2006/07/09(日) 15:01:07
>>74
何これって、何それ
77デフォルトの名無しさん:2006/07/09(日) 15:42:21
[1] 授業単元:プログラミング実習
[2] 問題文(含コード&リンク):
  http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2292.txt
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限: 2006年07月11日まで]
[5] その他の制限: なし

よろしくお願いします。
78デフォルトの名無しさん:2006/07/09(日) 15:49:12
問題が長い人さー、問題の先頭3,4行とか、問題の概略とかをコメントに
含めてもらえんものかね。
どれが既出でどれが解かれてないのか、いちいちリンク先見ないとわからん。
7977:2006/07/09(日) 16:24:40
>>78
申し訳ありません。以後気をつけます。
80デフォルトの名無しさん:2006/07/09(日) 18:46:17
81デフォルトの名無しさん:2006/07/09(日) 19:09:58
>>63
2、
struct prsn{
char name[256];
long birth;
char address[256];
char tel[256];
}prsn_data;

3、
#include<stdio.h>
#include<math.h>
#define PAI 3.14159

int main(void){
int i;
double x,y,r,theta;
FILE *fp;
fp = fopen("output.csv", "w");
for(i=0; i<360; i++){
r = (double)i * 0.1;
theta = PAI * (double)i/180.0;
x = r * cos(theta);
y = r * sin(theta);
fprintf(fp, "%8.4f,%8.4f\n", x, y);
}
fclose(fp);
return 0;
}
ただしこっちの環境はBCCだ
8277:2006/07/09(日) 22:23:25
>>80
私の環境でも無事動作することを確認しました。
本当のありがとうございました。
83デフォルトの名無しさん:2006/07/09(日) 23:03:50
外部ハッシュを用いる問題です。よろしくお願いします。

[1] 授業単元: Cプログラミング
[2] 問題文(含コード&リンク):
英語のテキストファイルを読み込み,各単語(空白あるいは,ピリオド「.」,カンマ「,」で区切られたものとする)
の出現数をカウントして出力するプログラムを外部ハッシュ法を用いて作成せよ. プログラムの流れは以下のようになる.

1. ファイルの先頭から最後まで順に1つの単語を読み込みながら2.を実行する
2.1.で読み込んだ単語wについて以下を行う.
    2.1 ハッシュ値を求める.
    2.2 同じハッシュ値をもつすべての単語について,wと同じものがあるかを調べる.
    2.3 同じものがあればその出現回数を+1する.なければ,
w(およびその出現回数(初期値は1))を格納するセルを作成し,バケットに連結する.
3. 単語を出現回数と共に出力する.


ハッシュ表に格納するセルの定義は次のようなものとする.

typedef struct cell *cellptr;
typedef struct cell {
char *word;
int count;
struct cell *next;
} cell;

[3] 環境
 [3.1] OS: Windows XP
 [3.2] コンパイラ名とバージョン: borland C++
 [3.3] 言語: C言語
[4] 期限: 7/12まで
[5] その他の制限: ありません。
84デフォルトの名無しさん:2006/07/09(日) 23:09:57
>>83
そのハッシュ値ってどうやって計算するの?
8583:2006/07/09(日) 23:31:17
ハッシュ値の求め方はこのような物を使います。
#define B 100
#define W 6

int h(char *x)
{
int i,hash;

hash = i = 0;
while(x[i] != 0 && i < W){
hash = hash + (int)x[i];
i++;
}
hash = hash%B;
return (hash);
}

8683:2006/07/09(日) 23:32:40
単語の存在判定も載せてみます。
利用できそうなら、使ってください。
enum yn {yes,no};

enum yn menber(char *x, struct cell **A){
struct cell *q, *r;

q = A[h(x)];
while(q != NULL){
if(strcmp(q->word,x) == 0)
return(yes);
r = q;
q = q->next;
}
return(no);
}

よろしくお願いします。
87デフォルトの名無しさん:2006/07/10(月) 03:10:23

気になるところがいくつか

cellptr の typedef はまとめて

typedef struct cell {
char *word;
int count;
struct cell *next;
} cell, *cellptr;

でいいと思う

だけど

struct cell *q, *r;

としてるのが不明

せっかくだから

struct cellptr q, r;

という使い方しないの?
88デフォルトの名無しさん:2006/07/10(月) 08:42:44
8983:2006/07/10(月) 08:47:59
>>87
存在判定は教科書のを載せたので、struct cellptr q, r; でいいと思います。

>>88
ありがとうございます。
90デフォルトの名無しさん:2006/07/10(月) 09:42:50
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
double x,y;
char buf[1024];
do
{
printf("実数1を入力してちょ: ");
fgets(buf,1024,stdin);
}while((sscanf(buf,"%lf",&x))!=1);
do
{
printf("実数2を入力してちょ: ");
fgets(buf,1024,stdin);
}while((sscanf(buf,"%lf",&y))!=1);
printf("和: %lf\n",x+y);
printf("差: %lf\n",x-y);
printf("積: %lf\n",x*y);
printf("商: %lf\n",x/y);
system("PAUSE");
return 0;
}

値はscanf()で文字列として取り込み、
atof()で実数に変換するにはどうすればいいですか?
91デフォルトの名無しさん:2006/07/10(月) 09:59:25
scanfは使うな
いまのでいいじゃん
9241:2006/07/10(月) 13:56:01
>>51
無事に動きました!
ありがとうございました!!ぜひとも参考にさせていただきます。

>>56,>>56
貴重なご意見ありがとうございます。
早速、改良してみようと思います!
93デフォルトの名無しさん:2006/07/10(月) 14:40:53
[1] 授業単元:プログラミング
[2] 問題文
次の配列の平均、分散、標準偏差を計算するプログラムを作りなさい。

double a[5]={1.0,2.0,3.0,4.0,5.0};

         N-1
平均 α=1/N*Σαi
         i=0

          N-1
分散 σ^2=1/N*Σ(αi-α)^2
          i=0

標準偏差 σ=√σ^2
3] 環境
 [3.1] XP
 [3.2] gcc 3.4
 [3.3] Cのみ
[4] 期限:今日中にお願いします(*。_。)
[5] その他の制限:まだ初心者です、誰か優しい方お願いします(o^-^o)
表記の仕方とかよくわからないんで適当にやってしまったのですが
わかり辛かったらごめんさなぃ<(_ _*)>
94デフォルトの名無しさん:2006/07/10(月) 15:29:16
>>93
// 既存ソースの流用なんで、scanf()のところを配列参照にするのはやってくれ
#include <stdio.h>
#include <float.h>
#include <math.h>
int main(void)
{
int n = 0;
double x, mean, mean2, dis;
while (scanf("%lf", &x) == 1) {
if (n == 0) {
mean = x;
mean2 = x * x;
} else {
mean += x;
mean2 += x * x;
}
++n;
}
mean /= n;
dis = mean2 / n - mean * mean;
printf("平均値:%.15g\n分散:%.15g\n標準偏差:%.15g\n",
mean, dis, sqrt(dis));
return 0;
}
95デフォルトの名無しさん:2006/07/10(月) 15:39:21
>>94
使えないやつだな
96デフォルトの名無しさん:2006/07/10(月) 15:39:25
// >94を題意にあわせて、よりシンプルに
#include <stdio.h>
#include <math.h>
int main(void)
{
double a[5]={1.0,2.0,3.0,4.0,5.0};
double mean = 0;
double mean2 = 0;
int n = sizeof(a) / sizeof(* a);
for (int ic = 0; ic < n; ++ic) {
mean += a[ic];
mean2 += a[ic] * a[ic];
}
// 分母の調整が要りそうなので、その場合は次の行を有効に。
// --n;
mean /= n;
double dis = mean2 / n - mean * mean;
printf("平均値:%g\n分散:%g\n標準偏差:%g\n", mean, dis, sqrt(dis));
return 0;
}
97デフォルトの名無しさん:2006/07/10(月) 18:24:50
>>95
だったらお前がソースを書けよwwwww
つかえねぇー低レベルな学校の教員さんよぉ
98デフォルトの名無しさん:2006/07/10(月) 18:49:17
ここは学生に宿題を出す前にスレの住人に解かせて
難易度の把握と模範解答若しくは単に解答例の
獲得を主たる目的とするスレです
99デフォルトの名無しさん:2006/07/10(月) 21:21:49
[1] 授業単元: プログラム
[2] 問題文(含コード&リンク):
アルファベットaとbを適当な順番で並べた任意の長さの文字列に対して、隣り合う2文字が同じであればSに、
異なっていればDに置き換えたい。すなわちabbaaabbbabbaと入力した場合に、DSDSSDSSDDSDと出力させるようにせよ。
入力文字列の文字数よりも、出力文字列の文字数が1文字少なくなることに留意すること。
【ヒント】ポインタの位置を進める前に、ポインタ変数の刺す文字型データを文字型変数に代入しておく
(文字型変数をpreとするとpre = *abとすればよい)
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン:Visual C++ 2005 Express Edition
 [3.3] 言語: C
[4] 期限: 11日末まで

100デフォルトの名無しさん:2006/07/10(月) 22:13:06
>>99
#include<stdio.h>
#include<string.h>
int main(void){
char *str = "abbaaabbbabba";
char alp = *str;
int i, iCnt = strlen(str);
for(i=1; i<iCnt; i++){
str++;
if(*str == alp)putchar('S');
else putchar('D');
alp = *str;
}
return 0;
}
ただしこっちの環境はBCC
101デフォルトの名無しさん:2006/07/10(月) 22:21:51
>>99
ごめん無駄に長かった
#include<stdio.h>
int main(void){
char *str = "abbaaabbbabba";
char alp = *str;
while(1){
if(*++str == '\0')break;
putchar(*str ==alp? 'S':'D');
alp = *str;
}
return 0;
}
102デフォルトの名無しさん:2006/07/10(月) 23:49:44
>>99ではないが、突っ込んでみる。

>すなわちabbaaabbbabbaと入力した場合に
                 ~~~~~~~~~~~~~~~
103デフォルトの名無しさん:2006/07/10(月) 23:55:47
聞こえない
10483:2006/07/11(火) 00:32:31
>>88
回答頂いたソース、テキストを用いて実行してみたところ、
1 [made\イ@]
1 [to@]
1 [to@]
1 [ten]
1 [to@]
1 [be@]
1 [be@]
1 [be@]
といった実行結果になってしまったのですが、
なぜなのでしょうか。
105kyoro:2006/07/11(火) 02:44:18
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク): 線分を10本入力する。それらの線分のうち、垂直に交わっているものの組はどれかを判定するプログラムを作る。
線の番号と線を表示させることはできました。
  内積を使って垂直の判定をしたいのですが上手くいきません。
  何がいけないか教えて欲しいデス。
 途中までのソースは続けて書き込みしておきます。  
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: Microsoft Visual Studio .NET 2005
 [3.3] 言語:Visual C++
[4] 期限: [7月11日13:00まで]
[5] その他の制限: 単位がかかってるのでょろしくぉ願ぃします(>_<)大汗
106kyoro:2006/07/11(火) 02:45:08
垂直線判定の途中のソースです。↓

  for(k=0;k<45;k++){
suityoku[k]=0;
}
k=0;
for(i=0;i<10;i++){
for(j=0;j<i;j++){
bekuto1x[i]=ex[i]-sx[i];
bekuto1y[i]=ey[i]-sy[i];
bekuto2x[j]=ex[j]-sx[j];
bekuto2y[j]=ey[j]-ey[j];
naiseki[k]=bekuto1x[i]*bekuto2x[j]+bekuto1y[i]*bekuto2y[j];
length1[k]=sqrt(bekuto1x[i]*bekuto1x[i]+bekuto1y[i]*bekuto1y[i]);
length2[k]=sqrt(bekuto2x[j]*bekuto2x[j]+bekuto2y[j]*bekuto2y[j]);
bunbo[k]=length1[k]*length2[k];
cos[k]=naiseki[k]/bunbo[k];
k++;
}
}
for(k=0;k<45;k++){
if(-0.1<=cos[k]&&0.1>=cos[k]){
suityoku[k]=1;
}
}

   始点(sx[],sy[])、終点(ex[],ey[])です。
直線1のベクトル(bekuto1x[],bekuto1y[])
直線2のベクトル(bekuto2x[],bekuto2y[])
内積=bekuto1x[]×bekuto2x[]+bekuto1y[]×bekuto2y[]

☆内積=cosθ|直線1||直線2|
107デフォルトの名無しさん:2006/07/11(火) 03:21:10
>>104

実験したテキストをうpしてくれ
108デフォルトの名無しさん:2006/07/11(火) 03:41:03
>104
mallocを止めてcallocを使うようにしてみてはどうだろうか?
109デフォルトの名無しさん:2006/07/11(火) 04:01:47
strncpy って文字長一致の時は '\0' 付かないんか

スマンカッタ orz
11099:2006/07/11(火) 10:06:56
>>100>>101はありがたいのだが、
aとbをscanfで適当な順番で入力したときに表示出来るようにしていただきたい。
こんな半日経って後付けするのは悪いと思ってるがどうかお願いしますorz
111デフォルトの名無しさん:2006/07/11(火) 10:44:24
Ctrl + c を押さないと、プログラムが終わらないようにする為には、何を入れたらいいんですか?
112デフォルトの名無しさん:2006/07/11(火) 10:52:18
>>111
永久ループ。whileを使うとか
113デフォルトの名無しさん:2006/07/11(火) 11:01:55
[1] 授業単元:情報処理基礎演習
[2] 問題文:素数の表示
      指定した数以下の全素数(例えば10以下の全素数は2,3,5,7)
      を表示するプログラムを、次のような3つの関数定義して
      作成してください。ただし指定する数の入力は適切な値が
      入力されるまで繰り返され、素数10個を表示するごとに
      改行するようなプログラムとしてください。
      
      (ア)指定した数が適切な範囲かどうかを検査し、適切ならば0、
        不適切ならば1(逆の方が使いよければ逆でも可)を返す関数
      (イ)適切な値が入力されるまで入力を繰り返し、最終的に
        入力値を返す関数((ア)を利用)
      (ウ)引数に指定した数が素数なら1、素数でなければ0を返す関数

      ヒント
       a)(ウ)で素数かどうかを判定するには、指定した数mが2〜m-1の
       数値で割り切れるかどうかを判定し、ひとつも割り切れるものが
       なければ素数と判定します(素数の定義通り)。
[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:2006年7月12日17時まで
[5] その他の制限:初心者です。よろしくお願いします。
114デフォルトの名無しさん:2006/07/11(火) 11:04:53
>>113
class j181b {
public static void main(String args[]) {
int n = 100;
int c,i,p;
int a[];
a = new int[n+2];
for( i=2; i<=n+1; i++ ) { a[i] = 0; }
p = 2;
for( i=2*p; i<=n; i=i+p ) { a[i] = 1; }
while( p < n ) {
p = p + 1;
while( a[p] == 1 ) { p = p + 1; }
for( i=2*p; i<=n; i=i+p ) { a[i] = 1; }
}
c = 0;
for( i=2; i<=n; i++ ) {
if( a[i] == 0 ) {
System.out.print(i + " ");
c++; if( c%10 == 0 ) { System.out.println(); }
}
}
System.out.println();
System.out.println(n + "以下の素数は " + c + " 個存在する");

}
}
115デフォルトの名無しさん:2006/07/11(火) 11:22:00
[1] 授業単元:ソフトウェア実習
[2] 問題文(含コード&リンク):2007年の日付を入力し、その曜日を表示するプログラムを作成。日付の入力は自由とする。ただし、プログラムは60行を超えてはならない。
例、月==>6
  日==>21
  6月21日は水曜日です
となるよう。
[3] 環境
 [3.1] OS: Windows XP
 [3.2] コンパイラ名とバージョン: Microsoft Visual Studio .NET 2003
 [3.3] 言語:C++
[4] 期限:今日の14時ほど;
[5] その他の制限:switch文を2回使うらしいのですがまったく分かりません…お願いします助けてください…泣;ソフトウェア前期なのでできるだけ簡単なプログラムでお願いしたいです。無理を言って申し訳ないです↓
116デフォルトの名無しさん:2006/07/11(火) 12:21:06
>>110
#include <stdio.h>

int main(void){
char str[250], *p = str, *p2 = str + 1;
scanf("%s", str);
while(*(p2)){
putchar(*p2 == *p ? 'S' : 'D');
p++;
p2++;
}
return 0;
}
117デフォルトの名無しさん:2006/07/11(火) 14:52:41
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):
  http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2321.txt[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:VC 6.0
 [3.3] 言語:C++
[4] 期限:今日の18時くらい
[5] その他の制限:リンク先に問題点などを付記しております。
         よろしくお願いします。
118デフォルトの名無しさん:2006/07/11(火) 14:59:00
>>117
何が「今日の18時くらい」だ。
氏ねよ。
119デフォルトの名無しさん:2006/07/11(火) 15:03:38
http://pc8.2ch.net/test/read.cgi/tech/1151477344/429
http://pc8.2ch.net/test/read.cgi/tech/1151477344/450
またお前か、このスレに昼間っから何しにきてんだよ?
120118:2006/07/11(火) 15:24:28
>>119
俺か?俺に言ってるのか?
>>117のリンク先を見てからほざけ。
121デフォルトの名無しさん:2006/07/11(火) 15:28:41
何顔を真っ赤にしてキレてんだか知らんけど、罵倒、荒らしをしている
キチガイってバレバレだから、無駄口叩いて相手を煽るのは止めとけ
122デフォルトの名無しさん:2006/07/11(火) 15:29:27
>>118=キチガイが現れた。 各自臨戦態勢へ移行せよ。<なんだこのアニヲタ臭いセリフ?w
123118:2006/07/11(火) 15:32:41
煽る暇があったら>>117の質問に答えてやれよw
俺はパスだが。
124デフォルトの名無しさん:2006/07/11(火) 15:34:36
昼間っから煽りに来るだけで宿題に答える能力のない社会のクズがひたすら
自己主張で煽ろうと必死だなwwwwww一生やってろ、30過ぎたニート素人童貞がw
125デフォルトの名無しさん:2006/07/11(火) 15:36:52
残念だか俺は完全童貞だ
126デフォルトの名無しさん:2006/07/11(火) 15:36:53
あ?宿題に答えないのに質問者にいちいち罵倒レスしてんじゃねーよカス
っつか、ここんとこ荒れなくてここが荒れなくてつまらないんだろ?
荒れている場所を見つけちゃ煽るキチガイって2chではよく見かけるよな
もうお前が望むようなつまらん荒れ模様は見せないから、他へ行けよガイキチニートw
127118:2006/07/11(火) 15:48:54
煽る暇があったら>>117の質問に答えてやれよw
俺はパスだが。
128デフォルトの名無しさん:2006/07/11(火) 15:52:48
>>124,126
またいつものキチガイか
129デフォルトの名無しさん:2006/07/11(火) 15:58:32
君たちいつも昼間っからいるけど、何している人?
130デフォルトの名無しさん:2006/07/11(火) 15:59:51
>>126
>もうお前が望むようなつまらん荒れ模様は見せないから

是非そうしてくれ。
131デフォルトの名無しさん:2006/07/11(火) 16:00:45
>>129
プロの引きこもりニート。
132デフォルトの名無しさん:2006/07/11(火) 16:01:53
>>130
お前分かりやすい。少なくとも↓の発言はお前だな。書き方でバレバレ
http://pc8.2ch.net/test/read.cgi/tech/1151477344/429
http://pc8.2ch.net/test/read.cgi/tech/1151477344/450
133デフォルトの名無しさん:2006/07/11(火) 16:02:51
>>132
ハズレ
134デフォルトの名無しさん:2006/07/11(火) 16:03:33
[1] 授業単元:プログラミングU
[2] 問題文:
下の例を参考に(1)(2)(3)のコードを作成せよ。
(1) log(1+x) = x - x^2/2 + x^3/3 - x^4/4 + …

(2) sin x = x - x^3/3! + x^5/5! - x^7/7! + …

(3) cos x = 1 - x^2/2! + x^4/4! - x^6/6! + …


任意の実数xを入力し、次式により指数関数e を小数点以下6桁まで計算するコードを作成せよ。
  e^x=1+x/1!+x^2/2!+x^3/3!+x^4/4!+…

#include <stdio.h>
#include <math.h>
int main(int argc,char *argv[])
{
double x,xx,yy = 0,ex = 1;
int i = 1,j = 1;
xx = x;
while( fabs(ex - yy) >= 1e-6 ){
yy = ex; j *= i;
ex += xx / j; i++; xx *= x;
}
printf("%lf\n",ex);
}
[3][3.1] OS: (Windows)
 [3.2] コンパイラ名とバージョン: ( VC 6.0)
 [3.3] 言語: C++
[4] 期限: ([2006年7月12日正午まで]
[5] その他の制限:例に沿った形でやってもらえるとありがたいです。
135134:2006/07/11(火) 16:06:57
例の問題文に誤りがありました。
×指数関数e
○指数関数e^x
136デフォルトの名無しさん:2006/07/11(火) 16:07:34
>>132,etc
     ┏┓      ┏┓          ┏┓ ┏┓    ┏┓      ┏━━┓      ┏┓    ┏━┓
 ┏━┛┗━┓  ┃┃          ┃┃ ┗┛┏━┛┗━┓  ┗━━┛      ┃┃    ┗┓┃
 ┗━┓┏━┛┏┛┗━━┓┏━┛┗━┓ ┗━┓┏━┛┏━━━━┓  ┏┛┗━━┓┃┃
 ┏━┛┗━┓┗┓┏━━┛┗━┓┏━┛ ┏━┛┗━┓┗━┓┏━┛  ┗┓┏━┓┃┗┛
 ┗━┓┏━┛  ┃┃┏━┓    ┃┃     ┗━┓┏━┛  ┏┛┗┓      ┃┃  ┃┃
 ┏━┛┗━┓  ┃┃┗━┛┏━┛┗━┓ ┏━┛┗━┓┏┛┏┓┗┓    ┃┃  ┃┃
 ┃┏┓┏━┛  ┃┃┏━┓┃┏┓┏┓┃ ┃┏┓┏━┛┃┏┛┗┓┃    ┃┃  ┃┃
 ┃┗┛┃      ┃┃┗━┛┃┗┛┃┃┃ ┃┗┛┃    ┃┃    ┃┗┓  ┃┃┏┛┃
 ┗━━┛      ┗┛      ┗━━┛┗┛ ┗━━┛    ┗┛    ┗━┛  ┗┛┗━┛
137デフォルトの名無しさん:2006/07/11(火) 16:11:12
>>136
いや、お前だろ、そうやって荒らしているのが何よりの証拠
138デフォルトの名無しさん:2006/07/11(火) 16:15:51
      ____ うん キモすぎ
     /____\  _____
    / |  ─ 、− 、!          \
    !___|─|(●)(●)|-────- 、   ヽ
    (    `‐ァ(_, )、|(●), 、(●)  \  i  <このスレキモいね
     入  `トェェェイノ ,,ノ(、_, )ヽ、─  i  |      
    /ヽ-、` ┬〒ィ´  `-=ニ=- ' 二  |  !      
    | (/`v二)| ヽ   `ニニ´     |  /    
    ヽ_入 _ ノ   \ ____)  / /
    |───┤  ○ ━━6━◯━━ヽ
    |____|    \|/ _____\   ヽ
     |  |  |       ! ヽ__ノ !    |     
      |__||__|      >、 ___ ノ     ノ-o   
    __|__||__|_     (___.ヘ ___/
139デフォルトの名無しさん:2006/07/11(火) 16:17:27
s/136-138//eternal
140デフォルトの名無しさん:2006/07/11(火) 16:20:44
で、結局誰も質問に答えない。
それがこのスレのクオリティ。
141デフォルトの名無しさん:2006/07/11(火) 16:25:28
君たち、もしかして質問の答えを待てイライラしている学生諸君?
まぁ、暑くてワールドカップも日本代表は不発に終わってイライラしていらっしゃるとは
思いますが、落ち着いて冷静になりましょう。
宿題の回答レスがされるまでYouTubeで面白い動画でも探してみては?
ttp://www.youtube.com/watch?v=7IE2JBaBSBk&search=Materazzi
ttp://www.youtube.com/watch?v=SEzqLkwL0mY&search=ayaya
142デフォルトの名無しさん:2006/07/11(火) 16:28:51
143デフォルトの名無しさん:2006/07/11(火) 16:30:10
1] プログラミング初級
2]

$ ./calendar 2006 6
2006 6

SUN MON TUE WED THU FRI SAT
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30
$
・年月はカレンダーの中央に表示するようにしてください
・曜日は必ず表示して下さい
・日付は日曜日から始まる1週間を1行にしてください
・うるう年を考慮してください

これらの条件に当てはまるソースコードを作成しなさい

[3] 環境
 [3.1] OS:Linux
 [3.2] ちょっとわかんないっす
 [3.3] 言語:C
[4]できるだけ早くお願いします
144デフォルトの名無しさん:2006/07/11(火) 16:42:44
[2] 問題文(含コード&リンク):
キーボードから平均a標準偏差sを入力
式1を使ってこの正規分布乱数を算出し100個ぐらい出力。
y:求める正規分布乱数 s:求める乱数の標準偏差 w:一様乱数12個の和 a:求める乱数の平均
これは「平均a,分散s^2を持つ正規分布乱数yを生成する」
式1 y=s(w-6)+a
[3] 環境
 [3.1] OS:XP
 [3.2] コンパイラ名とバージョン:VC 6.0
 [3.3] 言語:Cです。
[4] 期限:木曜までです
[5] その他の制限:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>

void main(void)
{ int y,s,a,w;
//整数乱数表示 //

scanf("%f %f",&a,&s); //scanfでa,sの値を入力
y=s(w-6)+a
for(i=0; i<100; i++)   //100個ぐらい乱数を出す
{ printf("%d ",rand()); } //randを使う
printf("\n\n"); //printfで出力
}
getchar()
getchar();
}
145デフォルトの名無しさん:2006/07/11(火) 16:57:55
>>143
プログラム書いてうpろだ見たら答えがあった orz
146デフォルトの名無しさん:2006/07/11(火) 17:20:50
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
概要:以下に示すメイン関数を参考にmain関数と子関数を作成し実行確認する。

プログラムの仕様:キーボードから入力した5個の整数値の中から最大値を見つけ出し表示する。

処理手順:
「メイン関数」
@以下を5回繰り返す
 ・「〜個目は:」を表示
 ・整数値を入力
A整数配列の先頭アドレスを引数に最大値検索関数を呼び出す(コール) (GetMax)
B Aの戻り値を画面に表示(最大値は〜です)

「最大値検索関数」(GetMax)
 関数の型:戻り値はint、引数はint型のポインタ
 呼び出し形式:int GetMax(int*data)
処理手順:
@仮の最大値に配列の先頭要素を代入
A以下を残りの4回繰り返す(アと@でポインタ使用)
 (ア)もし、配列の要素が仮の最大値より大きかったら、
    @ 仮の最大値にその配列の要素を代入
 (イ) (ア)が成立しなければ、何もしない
B仮に最大値をリターンする(戻す)

147146:2006/07/11(火) 17:22:20
処理手順詳細:下記、メイン関数を参考に穴埋めを行い、最大値検索関数を追記する。
int GetMax(int *data);
int _tmain(int argc, _TCHAR* argv[])

     int cnt;
int max;
int suti[5];
printf("最大値を検索するプログラムです\n");
   printf("数値を5個入力してください\n")
     for(cnt=0; cnt<5; cnt+1);
printf("%d個目は:",cnt+1);
scanf("%d",★空白★);
}
max = GetMax(★空白★);
printf("最大値は%dです\n",max);
return 0;
}
[3] C++
[4] 期限: 明日
148デフォルトの名無しさん:2006/07/11(火) 18:11:13
>>146-147
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2322.c
一部、空白以外の場所に手を加えたけど、気に食わないなら適当に直して
149デフォルトの名無しさん:2006/07/11(火) 18:11:15
[1]授業単元:オペレーティングシステム
[2]httpプロキシ(http_proxy)を作成せよ
 参考サイト
http://www6.plala.or.jp/dx033/mydoc/myworks/web-text/
http://www.mars.dti.ne.jp/~torao/rfc/rfc2068-ja.html
[3] 環境
[3.1]OS:UNIX
[3.2]コンパイラ:gcc
[3.3]言語:C
[4] 期限:7月17日
[5]その他の制限
ネットワークプログラミングに関してはsocketやselectを少し習ったくらいです。
ネットワークの話が1回しか講義でなかったのにこんな難しそうな課題が出ました。
参考サイトを見ても何を作って良いのか全く分かりません。
指針だけでも良いので誰か教えてください。
150デフォルトの名無しさん:2006/07/11(火) 18:15:48
ttp://www.youtube.com/watch?v=b9FntioayDg&search=ozura
↓おはようございまーす
151デフォルトの名無しさん:2006/07/11(火) 18:20:36
[1] プログラミングT
[2] 課題:ヒストグラム
得点データを読んで,平均点とヒストグラムを出力するようなプログラムを作成せよ。
得点データファイルの先頭行はデータ数n を示し,つづくn 行に得点が格納されている。
各得点は0 以上100 以下の整数である。
ヒストグラムは「0〜9」,「10〜19」, ...,「90〜99」,「100 以上」の11 区間とし,各区間
に含まれるデータ数を '*'(アスタリスク)を用いて表現せよ。
20:データ数n
50
70
64
51
68
60
73
53
49
67
100
72
41
59
86
69
38
93
50
69
[3] [3.1] OS:XP
  [3.2] コンパイラ名とバージョン:Visual Studio 2005
  [3.3] 言語:C++
[4] 期限:7月20日まで
152デフォルトの名無しさん:2006/07/11(火) 18:37:52
[1] C言語プログラミング
[2] 問題文(含コード&リンク):
次の表は、平成18年のお年玉付き年賀葉書の当選番号である。
1等 706592 284148
2等 82201 74490
3等 6226 5657
4等 07   51
手元に届いた年賀状の抽選番号をキーボードから入力し、
当選したかどうかチェックして結果を表示するプログラムを作成する。
ただし、ここでは簡単のため下2桁だけを扱うものとする。
当選番号(の下2桁)は、キーの配列に初期値として格納する
キーボードから2桁の数字を入力してターゲットに格納し、線形探索を行う。
探索結果を画面に出力する。当選した場合は何等が当たったか、も出力すること。
【ヒント】
余力のある人は、下2桁に限らず、全桁を初期値として格納し、
 当選のチェックを実行するプログラムを作成してみること。
[3] 環境
 [3.1] OS: XP
 [3.2] visual studio.2003
 [3.3] 言語: C
[4] 期限: 来週の火曜日まで
[5] 配列、ループ、線形探索、二部探索、構造体
153デフォルトの名無しさん:2006/07/11(火) 18:47:39
de ja vu
154デフォルトの名無しさん:2006/07/11(火) 18:49:29
jamais-vu
155デフォルトの名無しさん:2006/07/11(火) 18:53:01
>>152
# include <stdio.h>

struct num
{
  int val;
  int size;
  int grade;
};

int main(void)
{
  struct num ns[] = {
    {706592, 1000000, 1},
    {284148, 1000000, 1},
    { 82201,  100000, 2},
    { 74490,  100000, 2},
    {  6226,  10000, 3},
    {  5657,  10000, 3},
    {    7,    100, 4},
    {    51,    100, 4}};
  int i;
  int x;
  printf("Input number: ");
  scanf("%d", &x);
  for(i = 0; i < sizeof ns / sizeof *ns; i++)
    if(x % ns[i].size == ns[i].val)
      printf("You win the grade %d.\n", ns[i].grade);
  return 0;
}
156デフォルトの名無しさん:2006/07/11(火) 18:53:02
>>149
単なる中継機能だけであれば、次のような機能を実装すればよい。
・サーバは、とあるポート(8080)でlistenする。
・ブラウザからの接続要求で、URLに含まれるサーバへのコネクションを張る(port80で)。
・ブラウザから受信したデータをそのままHTTPサーバに送信する。
・HTTPサーバから受け取ったデータをそのままブラウザに送る。
・Keep-Aliveだったらコネクションを保持、そうでなかったら切る

ブラウザはプロキシの設定でlocalhostの8080番を指定する。
複数クライアントに対応する場合は、forkでもthreadでもお好きなように。
157デフォルトの名無しさん:2006/07/11(火) 19:13:31
>>156
前に似たようなアドバイスをいただいたのですがそれでもできなくて・・・。
解いていただけないでしょうか?
お願いします。
158デフォルトの名無しさん:2006/07/11(火) 19:17:37
>>157
いやその似たようなアドバイスも俺なんだが。
ちなみにそのとき断ったよな?
159デフォルトの名無しさん:2006/07/11(火) 19:21:11
>>158
あの時アドバイスくれた方でしたか。
すいません。
160デフォルトの名無しさん:2006/07/11(火) 19:22:02
>>149
ググってあげたから、これでも改変しなよ。
http://www.unixuser.org/~euske/pub/index.html
のhttpproxy.c
161デフォルトの名無しさん:2006/07/11(火) 19:38:22
>>160
ありがとうございます。
これを見てプログラムで何をしているか学習したいと思います。
162デフォルトの名無しさん:2006/07/11(火) 19:54:59
[1] 授業単元: 情報基礎A
[2] 問題文: 入力は1000以下の自然数n
出力はn円の商品を1000円札を出して買ったときの、お釣りに含まれる各硬貨の枚
       数とその合計枚数。ただし、合計枚数が一番少なくなるような組み合わせを出力し、
       0枚の硬貨については出力しないようにする。例えば、373を入力した場合、出力が
       500yen=1
100yen=1
10yen=2
5yen=1
1yen=1
total=7
       となるようにする。なお、出力する順番は好きにしてよい。
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:2006年7月19日20:45まで
[5] その他の制限:forとwhileとifを勉強しました。初心者です。
163デフォルトの名無しさん:2006/07/11(火) 20:01:36
すみませんもうひとつお願いします。
[1] 授業単元: 情報基礎A
[2] 問題文: 次の仕様をみたすプログラムを作成せよ。
      (1)入力は2以上の自然数n
出力はnのすべての約数
      (2)入力は2以上の自然数n
        出力はnの約数の個数
      (3)入力は2以上の自然数n
        出力はnが個数ならば"n is prime."、合成数ならば"n is not prime."
(nの部分には入力した自然数が表示されるようにすること)
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:2006年7月19日20:45まで
[5] その他の制限:上と同じです。よろしくお願いいたします。
164デフォルトの名無しさん:2006/07/11(火) 20:17:17
>>162
#include <stdio.h>
int main(){
int coin[] = {500, 100, 50, 10, 5, 1};
int n, i;
scanf("%d", &n);
for(i = 0; i < sizeof(coin)/sizeof(coin[0]); i++){
if(coin[i] > n) continue;
printf("%dyen=%d\n", coin[i], n/coin[i]);
n %= coin[i];
}
return 0;
}
165デフォルトの名無しさん:2006/07/11(火) 20:17:20
[1] 情報基礎B
[2] このプログラムを改造して、数値をキーボードから入力出来るようにしたいのですが、
   どう改造しても上手く回らなくて・・・

#include <stdio.h>

#define N 3

int main(void)
{
static double a[N][N+1]=
{
{2.0 ,3.0 ,1.0 ,4.0},
{4.0 ,1.0 ,-3.0 ,-2.0 },
{-1.0 ,2.0 ,2.0 ,2.0}
};
double p,d;
int i,j,k;

for (k=0;k<N;k++)
{
p=a[k][k];
for (j=k;j<N+1;j++)
a[k][j]=a[k][j]/p;
for (i=0;i<N;i++)
{
if (i!=k)
166デフォルトの名無しさん:2006/07/11(火) 20:18:03
{
d=a[i][k];
for (j=k;j<N+1;j++)
a[i][j]=a[i][j]-d*a[k][j];
}
}
}

for (k=0;k<N;k++)
printf("x%d=%f\n",k+1,a[k][N]);
}

[3] 環境
 [3.1] OS:Win 2000
 [3.2] コンパイラ名とバージョン:Visual C++ 2005
 [3.3] 言語:C++
[4] 期限:2006/07/12 22:00

2レスにまたがってしまってスミマセン・・・。
どうぞ宜しくお願いいたします。。。
167164:2006/07/11(火) 20:18:50
間違えた。
scanf の跡に、

n = 1000 - n;

を入れてくれ。
168デフォルトの名無しさん:2006/07/11(火) 21:11:42
>>163
#include <stdio.h>

int main(){
int num, i, cnt = 0;
call:
scanf("%d", &num);
if (num < 2) goto call;
for (i= 1; i <= num; i++){
if ((num % i) == 0){
printf("%d ", i);
cnt++;
}
}
printf("\n%dの約数の個数=%d\n", num, cnt);
if (cnt == 2)
printf("%d is prime.\n", num);
else
printf("%d is not prime.\n", num);
return 0;
}
169デフォルトの名無しさん:2006/07/11(火) 21:39:53
>>151
#include <stdio.h>

void main( void ) {
int data[21] = { 20 ,
50 , 70 , 64 , 51 , 68 , 60 , 73 , 53 , 49 , 67 ,
100 , 72 , 41 , 59 , 86 , 69 , 38 , 93 , 50 , 69 } ;
int y , x , cnt , i , ave ;
for ( y = 0 ; y < 11 ; y++ ) {
cnt = 0 ;
if ( y != 10 ) {
for ( x = 1 ; x < (data[0]+1) ; x++ ) { if ( ((y*10) <= data[x]) && (data[x] <= (y*10+9)) ) { cnt++ ; } }
printf( "%3d-%3d : " , (y*10) , (y*10+9) ) ;
} else {
for ( x = 1 ; x < (data[0]+1) ; x++ ) { if ( 100 == data[x] ) { cnt++ ; } }
printf( "100- : " ) ;
}
for ( i = 0 ; i < cnt ; i++ ) { printf( "*" ) ; }
printf( "\n" ) ;
}
ave = 0 ;
for ( i = 1 ; i < (data[0]+1) ; i++ ) { ave += data[i] ; }
ave /= data[0] ;
printf( "AVERAGE : %d\n" , ave ) ;
}
170デフォルトの名無しさん:2006/07/11(火) 21:43:14
>>148
ありがとうございました。
これで補講にならずにすみます。
171デフォルトの名無しさん:2006/07/11(火) 21:45:47
[1] 授業単元: プログラミング演習1
[2] 問題文(含コード&リンク): 以下の2つの課題について,C言語でプログラムを作成し,プログラムおよび実行結果を示し,考察せよ.

@キーボードから正整数を読み込み,その数を素因数分解した結果を画面に表示する.た
だし,1つの整数を引数とし,その整数の最小の素因数を返す関数をユーザ定義関数として作成
し,この関数を使用すること.

Aキーボードから7桁の整数を2つ読み込み,その積を表示する.ただし,整数型以外の
変数を用いてはならない.

[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン: VisualStudio2003
 [3.3] 言語: C
[4] 期限: できるだけ早くお願いします。
[5] その他の制限: お願いします
172デフォルトの名無しさん:2006/07/11(火) 21:52:03
>>164,168
ありがとうございます
173デフォルトの名無しさん:2006/07/11(火) 21:52:31
>>170
って、よく見たら完成したやつじゃなくて途中のをうpしてたっけ・・・
不適切だからまたここに来るかな・・・一応書いておくか・・・
if(max < *data++) は if(max < *data) に変更
174デフォルトの名無しさん:2006/07/11(火) 21:57:37
>>170 >>146-147
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2326.c
念のために訂正。C++だったみたいだけど、肝心のアルゴリズムの部分はCでもいけたから良いか
175165-166:2006/07/11(火) 21:59:42
追記で大変申し訳有りません。
数値というのは元数と変数です。

どうぞ宜しく御願い致します…。
176デフォルトの名無しさん:2006/07/11(火) 22:19:05
>>106
華麗にスルーされてるけど、OKだと思うよ
でも、前半のi,jの2重ループ部分だけど、垂直判定の後に長さや内積が不要なら
cos値だけ配列で保持して、他は一時的に変数に保持するだけで十分だよ

ちなみに>>62は俺なんだが、間違ってたね
×cos([89度のラジアン]) < ([内積] / [2つの線分の長さの積]) < cos([91度のラジアン])
○cos([91度のラジアン]) < ([内積] / [2つの線分の長さの積]) < cos([89度のラジアン])
寝る前だったんで・・・許して
17783,104:2006/07/12(水) 01:32:22
遅レスですいません。
>>107
to be to be
ten made to be.
と書いたテキスト使いました。

>>108
呼び出しのパラメータが足りないとエラーが起こってしまいました・・・
178デフォルトの名無しさん:2006/07/12(水) 08:16:35
>>177
malloc 使ってるけど問題のところは直しておいたよ
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2332.c
その他の場所もついでに書き換えた
179デフォルトの名無しさん:2006/07/12(水) 08:36:53
こんにちは。
質問です。
y=ax^2のグラフを*を使って0<=xの範囲で標示使用と思い、以下のようなプログラム
を構築したのですが、うまくいきません。どこがいけないのでしょうか?
親切な方、どうか教えてください。よろしくお願いいたします。
180134:2006/07/12(水) 08:41:58
どなたか>>134お願いします。
181デフォルトの名無しさん:2006/07/12(水) 08:46:45
>>179の続き
#include "stdio.h"


int main(void)
{
 int c,i,j;
 double a,k;
  scanf("a= %f", &a);
   if(0 < a && a <= 1)
    {
printf(" y");
182デフォルトの名無しさん:2006/07/12(水) 08:47:41
>>181の続き
for(i = 0;i <= 50;i=i+1)
{
k = (100 - 2 * i)/100;
printf("%.2f", &k);
printf("|");
for(j = 5;j <= 55;j=j++);
if(k == a*((j-5)/50)*((j-5)/50))
{
printf("*");
}
else
{
printf(" ");
printf("\n");
}
}
return 0;
}
else
{
printf("The value is invalid. Input a real number a such that 0<a<=1.\n");
return 0;
}
183デフォルトの名無しさん:2006/07/12(水) 09:35:30
[1] C言語プログラミング
[2] 問題文(含コード&リンク):
要素数5の配列key[5]に、適当な初期値を用意し、単純交換法でソートするプログラムを作成せよ
要素が1つ決定されるたびに(前ページの流れ図のループ1の中で)、確認の為配列を画面に出力しなさい
初期値として、スライド・教科書の例を使い確認すること。
{58, 27, 6, 32, 13}
比較回数を数えて、最後に画面に出力しなさい
計算量の説明を参照して、確認すること
教科書・スライドの流れ図とプログラムで、要素番号の違いに注意する
[3] 環境
 [3.1] OS: XP
 [3.2] visual studio.2003
 [3.3] 言語: C
[4] 期限: 来週の火曜日まで
[5] 配列、ループ、線形探索、二部探索、構造体
184デフォルトの名無しさん:2006/07/12(水) 10:40:34
すっげえ基本的なことなんですけど
文字定数ABCDEは
A=65,B=66,C=67,D=68,E=69
なのに
printf(%d,"ABCDE");
って書くと
4202469
になるのはなんでですか?
185デフォルトの名無しさん:2006/07/12(水) 10:45:36
>>184
文字列リテラル"ABCDE"の値は、どこかに確保された文字列へのポインタだから。
%dが指定されているのでポインタを整数として解釈しようとしてそういう表示になる。
186デフォルトの名無しさん:2006/07/12(水) 11:12:10
ポインタになる・・・
指定されたアドレスの先頭番地が返される、ってことなんすかね。
アドレスって本当は整数表記じゃないんですかね。
何型で解釈すると正しい値(?)が出るんですかね?
もちっと勉強してきます
ありがとうございました>>185
187デフォルトの名無しさん:2006/07/12(水) 11:17:19
>>186
>アドレスって本当は整数表記じゃないんですかね。
ハードウェア上はそうだけど、ふつうC言語ではポインタと整数を区別する。
printfでポインタを表示するには%pを使う。
188デフォルトの名無しさん:2006/07/12(水) 11:25:04
>>183
#include <stdio.h>
#define SIZE 5
void swap(int* a, int* b) { int t = *a; *a = *b; *b = t; }
int main() {
int key[SIZE] = { 58, 27, 6, 32, 13 };
int i, j, k, cmp_cnt = 0;
for (k = 0; k < SIZE; k++) { printf("%3d", key[k]); }
printf("\n");
for (i = 0; i < SIZE - 1; i++) {
for (j = SIZE - 1; j > i; j--) {
if (key[j - 1] > key[j]) {
swap(&key[j - 1], &key[j]);
for (k = 0; k < SIZE; k++) { printf("%3d", key[k]); }
printf("\n");
}
cmp_cnt++;
}
}
printf("compare: %d\n", cmp_cnt);
return 0;
}
189デフォルトの名無しさん:2006/07/12(水) 11:42:39
>>187
16進数表記になるんですね。
勉強になりました。どうも_(_^_)_
190デフォルトの名無しさん:2006/07/12(水) 14:23:15
A B C 16 15 6 3



A B C 161506.3

A〜Cには文字が入り、右側の数字を連結する。
(右側の数字は時分秒をあらわしている。)
もし、分・秒が1桁の数字なら2桁に直してから連結する。
(0〜9は00〜09となるように。)

このような時刻情報が書き出されているtxtファイルをまとめる(?)という課題があるのですが
さっぱり分かりません。

txtのファイルを読み込み、上のようなルールで編集をしたのち
再度txtで書き出すということなんですが…。

特に分からなくなっているのは、分・秒が一桁の場合、二桁に直してから連結するというところです。

すみませんが、だれか書ける人いませんか?
191デフォルトの名無しさん:2006/07/12(水) 14:47:49
>>190
printf("%C %C %C %2d%2d%2d.%d",A,B,C,hour,min,sec,msec);
192デフォルトの名無しさん:2006/07/12(水) 14:49:05
激しく訂正
printf("%c %c %c %d%2d%2d.%d",A,B,C,hour,min,sec,msec);
193デフォルトの名無しさん:2006/07/12(水) 14:52:16
%02dだろ。
194デフォルトの名無しさん:2006/07/12(水) 14:59:12
>191,192さん

ありがとうございます。早速試してみたのですが、

A B C 16 15 6 3



A B C 1615 6.3

となります。ここでいう秒の6を06というふうには出来ないでしょうか?
195デフォルトの名無しさん:2006/07/12(水) 15:00:37
>193

そのようにしたところ194解決しました。

ありがとうございました。

1961/2:2006/07/12(水) 15:28:07
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
#include <stdio.h>

extern int inpint(void);
extern float inpdbl(void);

int main(void)
{
int n;

printf("0: integer 1: floating point\n");
printf("please input a number:");
scanf("%d",&n);
switch(n)
{
case 0: printf("be input an integer:%d\n", inpint());
break;
case 1: printf("be input a floating point number:%f\n", inpdbl());
break;
default: break;
}
return 1;
}
1972/2:2006/07/12(水) 15:30:02
* 浮動小数点数入力関数用ファイル */

#include <stdio.h>

float inpdbl(void)
{
float n;

printf("please RNTER Value:");
scanf("%f", &n);
return n;
}/* 整数値入力関数用ファイル */

#include <stdio.h>

int inpint(void)
{
int n;

printf("please RNTER Value:");
scanf("%d", &n);
return n;
}

次のプログラムは整数値入力、浮動少数点数入力に分岐するものである。
整数値、浮動値の2つの関数をおのおの別のファイルに作成している
プログラムの内容を確認せよ
198デフォルトの名無しさん:2006/07/12(水) 16:02:01
おめえに命令される覚えはねぇ!!
199デフォルトの名無しさん:2006/07/12(水) 16:11:51
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
   画像の輪郭を抽出するラバーバンドを作成しなさい。
[3] 環境
 [3.1] OS:WindowsXP
 [3.2] C++Builder
 [3.3] 言語:C++
[4] 期限:来週の月曜日まで
[5] その他の制限:C言語
200デフォルトの名無しさん:2006/07/12(水) 21:12:23
[1] 数学演習
[2]入力ファイルから全ての行を読み込んで大文字に書き換えるようにしなさい
[3] 環境
 [3.1] xp
 [3.2] gcc 32
 [3.3] Cのみ
[4] 期限:明日まで
[5] その他の制限: Cの知識は一通りありますよろしくお願いします
201デフォルトの名無しさん:2006/07/12(水) 21:17:07
何よその問題はふざけてるの
202デフォルトの名無しさん:2006/07/12(水) 21:34:07
>>201
ふざけてないです
よろしくお願いします
203デフォルトの名無しさん:2006/07/12(水) 22:05:22
[1] 授業単元: 上級プログラミング
[2] 問題文(含コード&リンク):

長めなのでアップローダーにアップさせてもらいました。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2333.zip

[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン:不明
 [3.3] 言語: C++
[4] 期限: ([2006年7月13日20:00まで])
[5] その他の制限: 問題文通りに作ること

どなたかご教示お願いします。
204デフォルトの名無しさん:2006/07/12(水) 22:47:43
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):
 1, 2, 3, 4, 5, ・・・ と表示するプログラムを作成せよ。
 (ただし、最初に1を表示、次にリターンキーを押せば2を、といったようにすること)
[3] 環境
 [3.1] OS: Windows XP
 [3.2] コンパイラ名とバージョン: BCC32
 [3.3] 言語: どちらでも可
[4] 期限: 無期限
[5] その他の制限: 特になし

GetAsyncKeyState(VK_RETURN)を使ってみたんですけど、押した時間だけ表示し続けてしまいます。
1度押せば次が表示される、というようにしたいんです。
205デフォルトの名無しさん:2006/07/12(水) 23:26:16
#include <stdio.h>
void main(){
int num = 0;
while(1){
printf("%d", ++num);
getchar();
}
}
206デフォルトの名無しさん:2006/07/12(水) 23:54:03
どなたか>>144をよろしくお願いします。不明のときは聞いてください
207デフォルトの名無しさん:2006/07/12(水) 23:59:12
>>203
面倒だから問題の概要くらいは書いといてよ
208デフォルトの名無しさん:2006/07/13(木) 00:04:04
>>203
まあ全くやる気ないんだが、linkedlist.hの2行目にバグがあるよ。
209デフォルトの名無しさん:2006/07/13(木) 00:08:36
>>206

問題の日本語が意味不明だし
一緒に書かれたソースも main の {} の対応すらままならない状況

どこをどう esp すれば問題も補完して解答も補完出来ると言うのか
210144:2006/07/13(木) 00:12:47
レス番号を間違えましたスイマセン
どなたか>>144をお願いします。不明のときは聞いてください
211デフォルトの名無しさん:2006/07/13(木) 00:22:32
>>144

死ね

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

void main(void)
{
int i, j;
double a, s;

srand((unsigned)time(NULL));
printf("a s = ");
scanf("%lf %lf", &a, &s);
printf("a = %lf\n", a);
printf("s = %lf\n", s);
for(i = 0; i < 100; i++){
double y, w = 0.0;
for(j = 0; j < 12; j++)
w += (double)rand() / (double)RAND_MAX;
y = s * (w - 6) + a;
printf("y[%2d] = %lf\n", i, y);
}
printf("\n");
getchar();
}
212デフォルトの名無しさん:2006/07/13(木) 00:23:32
>>207
単語を入力して、その単語と同じ単語の入力回数を持ったリストを作成するというものです。

>>208
本当だ…打ち間違えてる。
ご指摘どうもです。
213デフォルトの名無しさん:2006/07/13(木) 00:29:41
>>200
入力した文字(アルファベット)をすべて小文字に直すプログラムをつくれ
ということだと思うのですがどうかよろしくおねがいします
214デフォルトの名無しさん:2006/07/13(木) 00:38:31
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
int c;
while((c = fgetc(stdin)) != EOF)
fputc(to_lower(c));
return 0;
}
215デフォルトの名無しさん:2006/07/13(木) 00:41:58
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
int c;
while((c = fgetc(stdin)) != EOF)
fputc(tolower(c), stdout);
return 0;
}

216204:2006/07/13(木) 00:44:28
>>205
ありがとうございます
217デフォルトの名無しさん:2006/07/13(木) 00:48:37
>>215
すいません エラーが8個くらいでるんですけど
218デフォルトの名無しさん:2006/07/13(木) 00:57:17
>>217
どんなエラー?
219くま:2006/07/13(木) 00:58:08
C言語で、プログラミングしたいのですが・・・。お願いします。
1.正の整数nをキーボードから与えて、その数を5で割った商と余りを求めよ。
  ただし、割り算を用いないで計算すること。(引き算の繰り返しを利用せよ)
2.体重(単位:kg)と身長(単位:m)を与えて(キーボードから)、
  そのBMI指数を求め、体型を次のように判定せよ。(ただし、BMI=体重÷身長÷身長)
  
  BMI:  〜18.5未満 だと 体型:痩身
  BMI:18.5〜25未満 だと 体型:標準
  BMI:25以上      だと 体型:肥満
220デフォルトの名無しさん:2006/07/13(木) 01:00:36
>>218
未定義のシンボルMember,first,ptr
あと四行目で式構文エラー
とかいろいろです
221デフォルトの名無しさん :2006/07/13(木) 01:14:47
[1] 授業単元: プログラミングA
[2] 問題文(含コード&リンク): 以下のプログラムをselect()を使わずに、
fork()で同様の結果を得るにはどのように書き換えればよいのでしょうか?
[3] 環境
 [3.1] OS: (Windows/Cygwin)
 [3.2] コンパイラ名とバージョン: (gcc 3.4)
 [3.3] 言語: c言語
[4] 期限: ([2006年7月25日])
[5] その他の制限: なし。

http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2335.txt
222くま:2006/07/13(木) 01:21:27
くまです。追伸ですみません。
問1はforを使います。
問2はif〜elseを使います。
明日の朝7時までにお願いしたいです。恐縮。。。
223デフォルトの名無しさん:2006/07/13(木) 01:21:51
>>221
まるごとソースうpしろ、ヴォケ
224デフォルトの名無しさん:2006/07/13(木) 01:22:04
225デフォルトの名無しさん:2006/07/13(木) 01:25:30
226デフォルトの名無しさん:2006/07/13(木) 01:38:48
>>220
レス番間違えてない?誤爆?
22783&&104&&177:2006/07/13(木) 02:58:58
>>178
求めていた結果が出てきました。
本当にありがとうございました。
228デフォルトの名無しさん:2006/07/13(木) 03:39:59
[1] 授業単元: プログラミングA
[2] 問題文:日本の通貨体型(500,100,50,10,5,1)で、与えられたおつりの金額に対して貨幣の総数が最少になるようにそれぞれの貨幣の枚数を計算するプログラムを作成せよ。

//プログラムについて
・プログラム名はchange.c
・任意の値はfopen関数で読み出せし、そのファイルをデータファイルと呼ぶ事にする。データファイル名はchange1.txt

----------------------
6
1 5 10 50 100 500
40
75
99
0
----------------------
//↑これがchange1.txtの中身。1行目は貨幣の種類の数、2行目は貨幣の種類、3〜5行目は具体的な例で0が入力されれば終了。

・実行結果
40yen,4mai,(10*4)
75yen,4mai,(50*1)(10*2)(5*1)
99yen,10mai,(50*1)(10*4)(5*1)(1*4)


[3] 環境
 [3.1] OS: (redhatlinux)
 [3.2] コンパイラ名とバージョン: (gcc 3.4)
 [3.3] 言語: C言語
[4] 期限: ([2006年7月15日])

このほかにも3題あるのですが、ところどころができず本当に困っています。よろしくお願いします。
229デフォルトの名無しさん:2006/07/13(木) 06:20:45
>>228
環境はwinでBCCでやったので動くかどうかわからないが
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2339.txt
230デフォルトの名無しさん:2006/07/13(木) 09:50:39
>>229
本当にありがとうございます。今Macintosh上でgccかけたら通りました。
自己考察してみたいと思います。


申し訳ないのですが、ほかの問題も教えていただけないでしょうか?
今解いていただいたのが、課題1です。
特に課題4はどうやっていいかすらわかりません。
よろしくお願いします。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2340.txt
231デフォルトの名無しさん:2006/07/13(木) 11:43:38
スレ違いスマソ。
よろしくね。
http://www2.accsnet.ne.jp/~composer/index.html
暇なら見てね。
232デフォルトの名無しさん:2006/07/13(木) 11:51:36
>>171
どなたかできる方いますか?
233お願いします:2006/07/13(木) 12:00:15
[1] 授業単元:C言語プログラミング入門

[2] 問題文: ポインタを使って九九の表を作ってください。
2つ配列を用意します。それぞれの要素をポインタを使って指し示し、積を計算します。
その結果を表示します。例えば配列は下のようにしてみましょう。

int a[9] = {1, 2, 3, 4, 5, 6, 7, 8, 9}
int b[9] = {1, 2, 3, 4, 5, 6, 7, 8, 9}

heikin.cでは、iを0から4まで増やし(ポインタを配列上で1つずつ移していき)ポインタが指し示している
配列の値を使いました。このプログラムでは、ポインタを移す操作はheikin.cと同じで、
繰り返しを2重にします(iとjを用意し、それぞれ0から8まで増やします)

[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C

[4] 期限: ([2006年7月15日00:00まで] または [無期限] のいずれか)

[5] その他の制限:以前作ったプログラムheikin.cを修正し作成するとよいでしょう。
234お願いします:2006/07/13(木) 12:01:36
heikin.c

/* 2つの配列の各要素の平均値を求める, heikin.c */
#include <stdio.h>
main(){
int a[5] = {50, 80, 20, 30, 10};
int b[5] = {20, 40, 30, 20, 50};
int i, *p[2], ave;
p[0] = a;
p[1] = b;
for (i=0; i<5; i++) {
ave = (*(p[0]+i) + *(p[1]+i)) / 2;
printf("average of %d th pair = %d\n", i, ave);
}
}
235お願いします:2006/07/13(木) 12:04:14
以下の4通りを作成し、提出
http://sneg4vip.com/ameloda/1152/759813.txt

よろしくお願いします
236デフォルトの名無しさん:2006/07/13(木) 12:19:36
どなたか>>203出来る方居ませんか?
237デフォルトの名無しさん:2006/07/13(木) 12:48:26
238233:2006/07/13(木) 14:27:30
>>237
早速の回答ありがとうございました(・∀・ )!
これで単位は無事くるはず・・・!
239デフォルトの名無しさん:2006/07/13(木) 17:27:15


みんな今週いっぱいで夏休みなんか

ここのおじさん(おばさん)たちは忙しいから
宿題ラッシュになると対応し切れないんだよ

今度からはもうちょっと早めに依頼することを
学んでください

240デフォルトの名無しさん:2006/07/13(木) 17:37:12
>>239
おっさん世代が多いとは思えん、せいぜい20代が多いんじゃね?
あるいは、大学3年以上か、大学院生とか?
トーマス氏は30を超えているだろうけど
241デフォルトの名無しさん:2006/07/13(木) 17:50:25
中高生も結構いるような気がする。
242デフォルトの名無しさん:2006/07/13(木) 19:01:46 BE:69877049-#
俺は3日前に33になりましたが何か。
243デフォルトの名無しさん:2006/07/13(木) 19:06:28
俺と同じく仮面ライダーV3、ウルトラマン7世代か
244デフォルトの名無しさん:2006/07/13(木) 19:12:41
10代の俺がいる
245デフォルトの名無しさん:2006/07/13(木) 20:29:54
>>215
のプログラムを自分で作ったファイルを読み込んで
すべて小文字にしたいんですけど
どうかよろしくおねがいします
[1] 数学演習

[3] 環境
 [3.1] xp
 [3.2] gcc 32
 [3.3] Cのみ
[4] 期限:明日まで
[5] その他の制限: Cの知識は一通りありますよろしくお願いします
215のプログラム
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
int c;
while((c = fgetc(stdin)) != EOF)
fputc(tolower(c), stdout);
return 0;
}
246デフォルトの名無しさん:2006/07/13(木) 20:33:10
>>245
っリダイレクト
247デフォルトの名無しさん:2006/07/13(木) 20:44:23
>>246
すいませんリダイレクトとはC言語においてどのようにやるのでしょうか?
248デフォルトの名無しさん:2006/07/13(木) 20:51:36
OSたんの機能
249デフォルトの名無しさん:2006/07/13(木) 21:09:43
課題として提出する場合にはどのように
書き換えたらいんでしょうか
infileやらoutfileを使うらしいんですけど
250デフォルトの名無しさん:2006/07/13(木) 22:48:03
[1] 授業単元:情報科学U
[2] 問題文(含コード&リンク):2つの空リスト L1, L2 を用意する.C-d が押されるまでに入力した整数を順次
•L1の先頭に挿入
•L2の適切な位置に挿入(適切な位置とは挿入後のリストが要素の値の昇順になるような位置)
とし,C-d が押された後,できた二つのリストを表示するプログラムを作成せよ.
[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:2006年7月14日(金)8:40まで
[5] その他の制限:「ポインタと構造体」という単元で出された課題です。

よろしくおねがいします。
251デフォルトの名無しさん:2006/07/13(木) 23:00:59
>>249
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
int c;

FILE *fin, *fout;

if ((fin = fopen("a.txt", "r")) != NULL
&& (fout = fopen("a.txt", "r+")) != NULL)
while((c = fgetc(fin)) != EOF)
fputc(tolower(c), fout);

fclose(fin);
fclose(fout);
}
252デフォルトの名無しさん:2006/07/13(木) 23:02:57
>>251
ありがとうございます
253230:2006/07/13(木) 23:51:04
230に書いたものですが、課題2、3、4一題づつでもよいので、よろしくお願いします。課題1は229さんにやっていただきましたが、問題文は参考になるためあえておいておきました。

[1] 授業単元:応用Cプログラミング
[2] 問題文(含コード&リンク):長いのでWEB上にのせます。
[3] 環境 Linux gcc 3.4 C
[4] 期限: 7/15

よろしくお願いします。

http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2340.txt
254デフォルトの名無しさん:2006/07/14(金) 05:00:38
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):
1〜15位までの順位を人a〜eと教科Mathematics,Physics,Englishと配列する
おそらくこんな感じ
char kamoku[3][12] = {"Mathematics", "Physics", "English"};
char name[5] = {'a', 'b', 'c', 'd', 'e'};
int tokuten[3][5] = {{12, 1, 14, 8, 4},{11, 3, 5, 10, 13},{2, 15, 9, 7, 6}};
調べたい順位を入力して第何位は誰で教科は何と表示されるようにする
ただし2重ループを使うこと
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限: 最終期限が来週の水曜
[5] その他の制限:タイトルは確か配列とポインタだったかと

うん、問題用紙無くしてうろ覚えなんだ(´・ω・`)
自分の説明でここの住民に伝わるかもわからないんだ
255デフォルトの名無しさん:2006/07/14(金) 07:01:28
伝わってるけど面白くないからやらない

やりたくなるような問題の出し方考えてみてくれ
256デフォルトの名無しさん:2006/07/14(金) 13:54:03
すいません
#include <stdio.h>
void strout(char a[]);

main(){
strout("ABCabc123");
}

void strout(char a[]){
int i;
i=0;
while(a[i]){
a[i]=toupper(a[i]);
putchar(a[i]);
++i;
}
putchar('\n');
}
するとcore dumpするんですけど、なぜですか?
コンパイラはCygwinのgccです。
257デフォルトの名無しさん:2006/07/14(金) 13:57:36
>>256
文字列リテラルを書き換えようとしているから。

すれ違い。
258デフォルトの名無しさん:2006/07/14(金) 14:02:31
>>257
はにゃ?でも
#include <stdio.h>
void strout(char a[]);

main(){
char st[10]="ABCabc123";
strout(st);
}

void strout(char a[]){
int i;
i=0;
while(a[i]){
a[i]=toupper(a[i]);
putchar(a[i]);
++i;
}
putchar('\n');
}
とすると正常に出力されるよ?
これも文字列リテラルst[0]を書き換えてるんじゃないの?
259デフォルトの名無しさん:2006/07/14(金) 14:03:46 BE:52406993-#
>>258
stはchar型の配列であってリテラルではない。
260デフォルトの名無しさん:2006/07/14(金) 14:04:22
>>258
char st[10]="ABCabc123";
これはchar配列の初期化であって、文字列リテラルは無関係。
261デフォルトの名無しさん:2006/07/14(金) 14:16:20
>>259,260
ありがとうございました。調べました文字列リテラル。
*stとst[]は違うって解釈でいい?間違ってそう・・・
苦手だな〜文字列。初心者ですみません。
262デフォルトの名無しさん:2006/07/14(金) 14:18:35 BE:27174072-#
>>261
根本的に間違ってる。*stとst[]の違いはリテラルとは一切何の関係もない。
263デフォルトの名無しさん:2006/07/14(金) 14:19:13
>>261
そうではなくて、文字配列をいじる関数で、
文字列定数をいじろうとして怒られているのだよ。
264デフォルトの名無しさん:2006/07/14(金) 14:30:08
関係あるだろ。
char *st = "ABC";
char st[] = "ABC";
265261:2006/07/14(金) 14:38:11
>>262あの、ここを読んだんです・・・
ttp://www9.plala.or.jp/sgwr-t/c/sec10-3.html

で、>>263こんなことをしてみました。
main(){
int sta="ABCDE";
char stb[10]="ABCDE";
printf("%d\n",sta);
printf("%d\n",stb[0]);
}

コンパイルしたら警告されるけど・・・で答えが
4202496
65
でした。これがちがうって解釈でいい?

俺C言語向いてない?
266デフォルトの名無しさん:2006/07/14(金) 15:07:52
ここからすぐに消えろ
267デフォルトの名無しさん:2006/07/14(金) 15:10:12 BE:77640285-#
>>264
型が違うから(同じ型の)リテラルで初期化しても値の入り方が違うのは当然であって、
型の違いとリテラルとの直接的な関係はない。
268デフォルトの名無しさん:2006/07/14(金) 17:10:41
テキストに
main(){
char s[10];
char *p;
strcpy(s,"ABC");
while(*p){
*p=*p+1;
++p;
}
printf("%s",s);
}
って例文が載ってるんだけど、作ってみるとcore dumpするんだけど、
++p;
っておかしいよな?
こういう書き方できる?
269デフォルトの名無しさん:2006/07/14(金) 17:12:02
↑あ、p=s抜かした。while(*p){の前に入れて。
270デフォルトの名無しさん:2006/07/14(金) 17:16:04
dekiru
271デフォルトの名無しさん:2006/07/14(金) 17:19:01
じゃなんでdumpすんの?
272デフォルトの名無しさん:2006/07/14(金) 17:26:41
うちじゃdumpしない
273デフォルトの名無しさん:2006/07/14(金) 17:34:42
えー煤i ̄□ ̄)!
274デフォルトの名無しさん:2006/07/14(金) 17:47:09
むしろなんでdumpすんの?
275デフォルトの名無しさん:2006/07/14(金) 17:56:56
なんでdumpするんだろー( ̄□ ̄)!
276デフォルトの名無しさん:2006/07/14(金) 17:57:21
>>268-274
スレ違い
277デフォルトの名無しさん:2006/07/14(金) 23:21:59
ダンプ松本にしょっぴかれますよ?
278デフォルトの名無しさん:2006/07/15(土) 01:39:27
main(){
  char s[10] = "ABC";
  char *p = s;
  while(*p)
    (*++p)++;
  printf("%s",s);
}
279デフォルトの名無しさん:2006/07/15(土) 08:41:07
char s[4] = "ABC";

ってのは、4bytes のメモリをスタックに確保して、
その中身を 'A' 'B' 'C' '\0' で初期化してる。
s 単体だと当然その先頭ポインタだから、スタック内を指してる。
実体がスタックにあるから書き換え可能。

char* s = "ABC";

だと、リテラル専用の領域(書き換え禁止なメモリ領域)にある
'A' 'B' 'C' '\0' な並びの先頭ポインタを引っ張ってきてるだけ。
ポインタ s の指す先は書き換え禁止な領域なので、
s[0] = 'D'; なんてやると一般保護違反になる。
280デフォルトの名無しさん:2006/07/15(土) 09:34:09
>>279
微妙に間違いを孕んだ上にスレ違いだ。
281254:2006/07/15(土) 12:00:43
(1)1〜15までの順位、a君〜e君、教科Mathematics,Physics,Englishを下のように配列する
char kamoku[3][12] = {"Mathematics", "Physics", "English"};
char name[5] = {'a', 'b', 'c', 'd', 'e'};
int junni[3][5] = {{12, 1, 14, 8, 4},{11, 3, 5, 10, 13},{2, 15, 9, 7, 6}};
(2)scanfで順位を入力し、("第%d位は%cで教科は%s")となるように表示させる。
ヒント:for文を2回使用して縦と横をループさせる

>>255を見て書き直したのはいいのですがほぼ変わってない気がします。
あと一応自力で考えたところまでupしておきます。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2363.txt
根本から間違えてる気がします。
282デフォルトの名無しさん:2006/07/15(土) 12:06:53
無くした問題用紙探してこい
283デフォルトの名無しさん:2006/07/15(土) 13:14:49
>>281
悪いが全然問題の意味がわからない
284254:2006/07/15(土) 13:14:59
guchi("何で数年間使ってない本棚の裏に落ちてるんだよ");

S1〜S5の5人の学生が、数学(Mathematics)、物理(Physics)、
英語(English)のテストを受験した。
得点の高いものから順位をつけた結果を表1に示す。
この結果に対して、任意の成績順位を入力した際に、
誰のどの教科であるかを出力するプログラムを作成したい。

課題A
表1の結果を3*5(もしくは5*3)の要素を持つ2次元配列に定義し、
キーボードから1〜15の範囲で任意の数所を入力した際に、
その順位の科目名と氏名を「第○位は△△の□□です」のように
出力するプログラムを作成せよ。ただし、科目名と氏名はそれぞれ
文字列の配列の要素とし、該当する順位に応じてそれぞれの
文字列配列から参照して表示すること。
ヒント:2重ループを用いて2次元配列の全要素を総当りでチェックする。

課題B
表2は、順位の重複を許可し、同じ得点の場合に同順位として示したものである。
課題Aのプログラムに対して、同じ順位が複数存在する場合にはそのすべてを表示し、
また、該当するものが存在しない場合には「存在しない」と表示するよう修正せよ。
ヒント:該当者が居る場合にだけ値が1となるような変数を利用する。

表 pass C/C++
http://www.imgup.org/iup233474.jpg.html
285デフォルトの名無しさん:2006/07/15(土) 13:32:28
>>284
#include<stdio.h>

int main(void){
char kamoku[3][12] = {"Mathematics", "Physics", "English"};
char name[5][3] = {"S1", "S2", "S3", "S4", "S5"};
int tokuten[3][5] = {{12, 1, 14, 8, 4}, {11, 3, 5, 10, 13}, {2, 15, 9, 7, 6}};
int i, k, num = 0;
printf("1〜15の数字入力:"); scanf("%d", &num);
if(num<1 || num>15){
printf("1〜15だけです。");
return 0;
}
for(i=0; i<3; i++){
for(k=0; k<5; k++){
if(num == tokuten[i][k]){
printf("第%d位は%sの%sです\n", num, name[k], kamoku[i]);
}
}
}
return 0;
}
最初のだけやったもう出かけるから後は知らない
286デフォルトの名無しさん:2006/07/15(土) 13:49:10
どうもありがとうございます。
課題Bは足りない頭を絞ってなんとかします。
なんとかならなかったらまた来ます。
287デフォルトの名無しさん:2006/07/15(土) 13:54:44
<課題1>
日本の通貨体型(500,100,50,10,5,1)で、与えられたおつりの金額に対して貨幣の総数が最少になるようにそれぞれの貨幣の枚数を計算するプログラムを作成せよ。
*プログラムについて
・プログラム名はchange.c
・任意の値はfopen関数で読み出せし、そのファイルをデータファイルと呼ぶ事にする。データファイル名はchange1.txt

----------------------
6
1 5 10 50 100 500
40
75
99
0
----------------------
//↑これがchange1.txtの中身。1行目は貨幣の種類の数、2行目は貨幣の種類、3〜5行目は具体的な例で0が入力されれば終了。

・実行結果
40yen,4mai,(10*4)
75yen,4mai,(50*1)(10*2)(5*1)
99yen,10mai,(50*1)(10*4)(5*1)(1*4)

としたいのですが、うまく行きません。どこがおかしいのか教えてください。
おねがいします。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2365.txt
288デフォルトの名無しさん:2006/07/15(土) 16:11:24
>>287
>>228と問題同じじゃないの?回答もあるよ?

どこがおかしいかと言えば
・whileで無限ループしている("読み込んだ値"が0だったらbreakする)
・1円から数えている(大きい硬貨から数えるべき)
289デフォルトの名無しさん:2006/07/15(土) 17:46:45
>>288
返信ありがとうございます。自分なりにもう一度作ってみようと思ってるんですがなかなかうまく行かなくて・・・
無限ループを使って0を読み取るまでの間繰り返そうと思ってるんですが、これのどこが間違っているのかを見つける事ができません。また、バブルソートを使って並べ替えるようにしたいのですが、それもいまいちわかりません。どうしたらよいのでしょうか。
290デフォルトの名無しさん:2006/07/15(土) 18:14:07
>バブルソートを使って並べ替えるようにしたいのですが、
何を?
291デフォルトの名無しさん:2006/07/15(土) 18:34:44
>>290
わかりにくい書き方ですみません。定義されるお金を大きい順に並べ替えたいんです。具体的に今回は1 5 10 50 100 500といった値です。たまたま昇順になってますが、たまたまで適当に並んだ場合に対応できるものにしたいです。
292デフォルトの名無しさん:2006/07/15(土) 18:55:10
293デフォルトの名無しさん:2006/07/15(土) 19:03:06
【調査】"3+2×4=?"計算、小6の4割が誤答…"改行"は小4の8割が読めず★5
http://news19.2ch.net/test/read.cgi/newsplus/1152948566/
おまいら、まさか・・・↑じゃないよな?
294デフォルトの名無しさん:2006/07/15(土) 19:15:47
3+2*4=11
295デフォルトの名無しさん:2006/07/15(土) 19:51:23
>>292
ありがとうございます。せっかく書いていただいたのですが、初心者故に完璧なる理解が困難であります。失礼かつ恐縮ですが、私の書いた文を訂正する形では無理でしょうか。
296デフォルトの名無しさん:2006/07/15(土) 20:26:33
リタ ーン
改 行
297デフォルトの名無しさん:2006/07/15(土) 21:46:38
>>283

それはお前の頭が悪いだけ
298デフォルトの名無しさん:2006/07/15(土) 21:49:48
3+2×4=20 に決まってるだろ
299デフォルトの名無しさん:2006/07/15(土) 21:55:42
>>298
電卓でやったけど答えは 11ですた
300デフォルトの名無しさん:2006/07/15(土) 22:44:56
[1] 授業単元: C言語
[2] 問題文(含コード&リンク): http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2366.txt
[3] 環境
 [3.1] OS: Windows2000
 [3.2] コンパイラ名とバージョン: Bcc5.5
 [3.3] 言語: C
[4] 期限: 7月18日
[5] その他の制限:
    今までにやった文字列の設定方法
     ・配列の要素に代入
     ・strcpy, strncpy, strcat
     ・sprintf

よろしくお願いします
301:2006/07/15(土) 23:15:14
[1] 授業単元: コンピューター実習T
[2] 問題文(含コード&リンク):
  #include <stdio.h> int main(void)
{ char stack[8];
int stackPointer = -1;
char data; int n;
char str[16];
while(1) {
printf("Enter a data");
scanf("%s", str);
data = str[0];
if ( data >='0' && data <='9' ) {
if (stackPointer >= 7) {puts("Stack is full"); continue; }
stackPointer++;
stack[ stackPointer ] = data;
}
else if ( data=='-' ) {
if (stackPointer < 0) {puts("Stack is empty"); continue; }
printf(" %c\n",stack[ stackPointer ]);
stackPointer--;
}
else if ( data=='q' ) {
break;
}
for(n=0; n<=stackPointer; n++)
printf("%c ",stack[n]); puts("");
}
}
302:2006/07/15(土) 23:16:09
 上記のプログラムを 文字列データに対応させる。
例)
abc (enter)
abc
def (enter)
abc def
- (enter)
data = def
abc
quit (enter)
  でプログラム終了( strcmp を使う )
というプログラムを作る
[3] 環境
 [3.1] OS: (Windows/Linux/等々) : Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C
[4] 期限:7月18日
[5] その他の制限: 特になし
  長くてすいません。よろしくおねがいします。
303デフォルトの名無しさん:2006/07/16(日) 02:12:55
#include <stdio.h>
#include <string.h>
int main(void){
char stack[8][1024], str[1024];
int n, stackPointer = -1;
while(1){
scanf("%1023s[^\n]", str);
if(strlen(str) == 0) continue;

if(strcmp(str, "quit") == 0) break;
if(strcmp(str, "-") == 0){
if(stackPointer < 0){ puts("Stack is empty"); continue;}
printf("data = %s\n",stack[stackPointer]);
stackPointer--;
}
else{
if(stackPointer >= 7){ puts("Stack is full"); continue;}
stackPointer++;
strncpy(stack[stackPointer], str, sizeof(stack[stackPointer]));
}
for(n=0; n<=stackPointer; n++)
printf("%s ", stack[n]);
puts("");
}
return 0;
}
304デフォルトの名無しさん:2006/07/16(日) 03:07:25
>>300
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2368.txt
初級者の俺が練習がてらにやってみた
間違ってても反省しない
面倒くさいのでsscanf使った(>_<)
305デフォルトの名無しさん:2006/07/16(日) 04:05:58
>>304
数箇所突っ込み所があるのだけれど間違っているわけではないから指摘するのは無粋なので遠慮しておくね。
306デフォルトの名無しさん:2006/07/16(日) 06:55:35
汚いソース
307デフォルトの名無しさん:2006/07/16(日) 08:06:13
口先ばっかで自分はソースを出さない汚い奴が多いんだよなw
言うくらいならソースを出せ、ってのは過去に散々出た(ry
308デフォルトの名無しさん:2006/07/16(日) 08:34:21
>>307

いつも出してますが何か?
309デフォルトの名無しさん:2006/07/16(日) 09:04:04
ソースを出すとか出さないとか言う話はナンセンスだろ。
他人のソースにけちをつけるのはすれ違いだということが重要。
310デフォルトの名無しさん:2006/07/16(日) 12:11:09
>>298
*が優先
311デフォルトの名無しさん:2006/07/16(日) 12:26:19
>>307
お前もぐちゃぐちゃ言わずにソース出せ
312デフォルトの名無しさん:2006/07/16(日) 12:27:43
>>309
あのねぇ、他人に指摘してもらうというのは、それが普通の環境に居ない人にとっては、
とても貴重なチャンスなんだよ。
「けちをつけられた」なんて考えずに「指摘してくれてありがとう」くらいになれ。
313デフォルトの名無しさん:2006/07/16(日) 12:43:25
>>312
それは認めるし、個人的には俺の解答の問題を指摘してもらうのは嬉しいが、
それはこのスレの趣旨にそぐわない。
314デフォルトの名無しさん:2006/07/16(日) 12:51:26
>>313
別に毎回毎回誰かが粘着して、細かいとこまでぐちぐち言ってるわけじゃないから、
偶の指摘ぐらいいいんじゃないの?
まあ、指摘された奴が「けちつけられた」と暴れる可能性もあるがw
まぁそうなったらそうなったで、その後のテンプレで「指摘禁止」にすりゃいい。
315デフォルトの名無しさん:2006/07/16(日) 12:54:40
ニートがどうこうとか、低学歴がどうこうなどという他愛も無いやりとり
するくらいなら、コードの内容についてあれこれ言う方が余程生産的
だと思うが。
316304:2006/07/16(日) 13:09:07
なんだかボクのことでモメちゃってるようですいません(>_<)
制限を気にしすぎて汚いソースになっちゃいました
反省してます
317デフォルトの名無しさん:2006/07/16(日) 13:11:11
>>316
ヒント:日曜日
つか、おまいさんのせいじゃないので気にすんな
318デフォルトの名無しさん:2006/07/16(日) 13:11:52
>>316
細かく見てないけど、決して汚いコードなんかじゃないよ。
俺的には、どちらかというと、好きな部類に入る。
319デフォルトの名無しさん:2006/07/16(日) 13:12:32
320デフォルトの名無しさん:2006/07/16(日) 13:15:08
あまり巧く書きすぎると質問者が困るかもしれないので、わざと下手に書いてる。
scanf使うとか、エラーチェックしないとか、関数分割しないとか、変数名をダサくしたりとか。
321デフォルトの名無しさん:2006/07/16(日) 13:20:33
「ソースにけちをつけるな」と言ってるのは、いつもの彼なので気にしないように。
指摘したければ指摘すればいい。俺はしないけど。
322デフォルトの名無しさん:2006/07/16(日) 13:29:40
>>319
ありがとうございます。すみません。
ちなみに自分でもやってみたのですが、なぜかソートができません。
バブルソートから単純選択法によるソートを行ったのですが、それでも駄目でした。
検証していただいたらと思います。

http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2369.txt
323デフォルトの名無しさん:2006/07/16(日) 13:37:24
濱ちゃん
324デフォルトの名無しさん:2006/07/16(日) 13:44:32
>>321
「いつもの彼」って誰だよ…
俺はいつのまにか有名人にでもなったか?
325デフォルトの名無しさん:2006/07/16(日) 13:45:41
>>324
「いつもの彼」さん
お疲れ様です!
326デフォルトの名無しさん:2006/07/16(日) 13:46:47
>>322
いろいろとおかしい。
BCCでやったらエラーがいっぱい出てくる。
int ssort(int n,int a[])
{
int i,j,min,temp;
for (i=0;i < n-1;i++){
min=i;
for (j=i+1;j < n;j++){
if (a[j] < a[min]){
min=j;
}
}
temp=a[min];
a[min]=a[i];
a[i]=temp;
}
return;
}
327デフォルトの名無しさん:2006/07/16(日) 13:47:34
>>324
「いつもの彼」も同じようなこと言ってるからな。
違うんなら、お前は奴と同じレベルだってことだ。
328デフォルトの名無しさん:2006/07/16(日) 13:48:00
>>304が汚いとすると業務で見てるソースは何て表現すればいいんだ?
329デフォルトの名無しさん:2006/07/16(日) 13:49:49
核廃棄物
330284:2006/07/16(日) 13:57:34
>>285を参考に課題Bに挑戦しましたが、
ヒントすら理解出来ずに行き詰ってます。
どなたか回答していただけるようお願いしたいです。
331デフォルトの名無しさん:2006/07/16(日) 14:04:44
>>330
#include<stdio.h>

int main(void){
char kamoku[3][12] = {"Mathematics", "Physics", "English"};
char name[5][3] = {"S1", "S2", "S3", "S4", "S5"};
int tokuten[3][5] = {{11, 1, 14, 7, 3}, {11, 3, 3, 10, 13}, {2, 15, 9, 7, 6}};
int i, k, num = 0, flg = 0;
printf("1〜15の数字入力:"); scanf("%d", &num);
if(num<1 || num>15){
printf("1〜15だけです。");
return 0;
}
for(i=0; i<3; i++){
for(k=0; k<5; k++){
if(num == tokuten[i][k]){
printf("第%d位は%sの%sです\n", num, name[k], kamoku[i]);
flg = 1;
}
}
}
if(!flg){
printf("第%d位は存在しません\n", num);
}
return 0;
}
24時間ぶりに書き込もうか
332284:2006/07/16(日) 14:05:05
画像が404になってたので、得点順位の配列書いておきます。

int tokuten[3][5] = {{11, 1, 14, 7, 3}, {11, 3, 3, 10, 13}, {2, 15, 9, 7, 6}};
333デフォルトの名無しさん:2006/07/16(日) 14:05:48
>>326
返信ありがとうございます。319さんに書いてもらったソースが理解できたので、そちらを参考にしたいと思います。
ここで、お金の定義に25円玉と20円玉を加えても、40円から44円の間で最少にする事ができる用にするには、どうすればよいのでしょうか?
334デフォルトの名無しさん:2006/07/16(日) 14:07:21
残念。表がうpローだから消えてます。
次にもし上げるんなら、passなんかつけちゃ駄目だぞ。
335デフォルトの名無しさん:2006/07/16(日) 14:14:31
>>333
ごめ、ちょっと意味が分からない。
ひょっとして、25,20円を加えたら25,20も計算されちゃうって言うこと?
336284:2006/07/16(日) 14:17:09
何度もありがとうございます。
中身を自分なりに解釈してレポート仕上げてきます。
>>334
ご指摘ありがとうございます。
もし次回があったときのことを考えて覚えておきます。

chirashi("夏休みにCの理解深めます");
337デフォルトの名無しさん:2006/07/16(日) 14:19:15
>>333
今、意味が分かった。
無理
338デフォルトの名無しさん:2006/07/16(日) 14:22:03
>>335
わかりにくい文章すみません(>_<。)おっしゃる通りで、25円玉20円玉といったお金があるとしたらって感じです。1円玉5円玉10円玉20円玉25円玉50円玉100円玉500円玉というお金にchange1.txtを書き直すって意味です。
そうしたら40〜44円の間、25円玉を用いると最少じゃなくなってしまうから、その間は20円以下で考えるようなソースにしたいんです。
ちょっと、またわかりにくいかもしれませんが、よろしくお願いします。
339デフォルトの名無しさん:2006/07/16(日) 14:24:44
>>338
過去スレに同じ(ような)問題があったぞ。探してみ。
340デフォルトの名無しさん:2006/07/16(日) 14:31:36
こいつは、相手にすればどんどん付け上がるから、そのへんで放置しとけ。
341デフォルトの名無しさん:2006/07/16(日) 14:34:27
>>340
お前に命令される筋合いは無い
342デフォルトの名無しさん:2006/07/16(日) 14:35:03
本人乙
343デフォルトの名無しさん:2006/07/16(日) 14:38:24
黙れ、ガキンチョ
344デフォルトの名無しさん:2006/07/16(日) 14:40:41
345デフォルトの名無しさん:2006/07/16(日) 14:40:57
>>340
すみません、そういうつもりはありません。ただ次の課題がそういう問題なのにたいし、自分で試してもなかなかできないからお聞きしました。

>>341〜343
えっと、、、私が書いたのではございません。他人によって書かれた物です。
346デフォルトの名無しさん:2006/07/16(日) 14:43:17
お前がやろうとしていることは、お前のソースコードレベルではできない。
再起関数を使って総当りするのが一番簡単な方法だ。
347デフォルトの名無しさん:2006/07/16(日) 14:50:31
>>346
はい。最終的にはそう持っていきたいです。初心者ですが、解きたいので技術料を払うので教えていただけませんか?
348デフォルトの名無しさん:2006/07/16(日) 15:02:45
ここは宿題を解くスレであって、
お前の技術力を上げるスレではない。
349デフォルトの名無しさん:2006/07/16(日) 15:08:05
>>348
すみません。板違いな発言を失礼しました。撤回します。もうしばらく自分でがんばってみます。わからなければ、またよろしくお願いします。
350デフォルトの名無しさん:2006/07/16(日) 15:10:31
いやあのね、だから過去スレあされって。
351デフォルトの名無しさん:2006/07/16(日) 15:31:44
>>350
自分なりに探してみましたが、総当りするものでなかなかヒントになる物が見つかりませんでした。これは全探索って形でやればよいのですよね?
352デフォルトの名無しさん:2006/07/16(日) 15:47:26
>>327
お前がいつもの煽り厨よりもさらに低レベルだというのは言うまでもない。
とにかく、ごちゃごちゃとうるさい。指摘するくらいなら指摘を具現化したソースを黙って出せってことだ
いちゃもんしかつけない奴がうざい。
353デフォルトの名無しさん:2006/07/16(日) 15:58:56
指摘したけりゃ指摘すりゃいいじゃん。指摘することと別解をだすことは違うよ。
まあ「俺様のコードにけちをつけるな」なスタンスの人には、何を言っても無駄なんだろうけど。
354デフォルトの名無しさん:2006/07/16(日) 16:00:38
それに、君もソース出してるなら、君の相手もソース出してるんだと何故想像できないんだろう?
想像できてれば「いちゃもんしかつけない奴がうざい。」なんてことは言わないはずなんだが。
355デフォルトの名無しさん:2006/07/16(日) 16:04:39
338のものです。結局苦肉の策と言うか、この用にしかできませんでした。

http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2370.txt
356デフォルトの名無しさん:2006/07/16(日) 16:04:46
やかましい!宿題出せハゲ!
357デフォルトの名無しさん:2006/07/16(日) 16:35:39
>>352
(^3^) エェー 
358デフォルトの名無しさん:2006/07/16(日) 16:48:56
>>356
ライフゲームの育毛バージョン作って
359デフォルトの名無しさん:2006/07/16(日) 17:10:57
>>353
> 指摘することと別解をだすことは違うよ
そうじゃなくて、指摘部分の間違いを修正して出しゃ言葉よりもストレートに伝わるんじゃね?
まあここでソースを出せ!だのお前が出せだの言っていない第三者が議論しても無駄だが
360デフォルトの名無しさん:2006/07/16(日) 17:57:35
>>359
いや、指摘したほうがストレートに伝わるでしょ。
ソースレビューの基本は、場所を特定することと、問題点を指摘すること。
何をそんなにこだわってるの?
361デフォルトの名無しさん:2006/07/16(日) 18:07:13
ポインタレスプログラムをお願いします><
362デフォルトの名無しさん:2006/07/16(日) 18:14:11
>>359
ぐだぐだ言うなら、修正したコードを出せってのはお子様の意見。
まあ指摘した奴がコードも書けないのに指摘してるって思いたいんだろうけど。
363デフォルトの名無しさん:2006/07/16(日) 18:19:33
このスレは、コード書けないやつを、ちょっとコード書ける奴が見下すスレだから、
俺様のコードにいちゃもんつけるなというのは良く分かる。
364デフォルトの名無しさん:2006/07/16(日) 18:33:42
[1] 授業単元: 数値解析
[2] 問題文:
(ニュートン補間の章)
下記の表とアルゴリズムA・Bを使って次のプログラムを作成する。
問1)誤差関数の表においてx0=1.0、x1=1.1、x2=1.2の3点の関数値を使って
erf(1.14)の値を推測する。ただしアルゴリズムAとBを用いる。

問2)誤差関数の表においてx0=1.0、x1=1.1、x2=1.2、x3=1.3の4点の関数値を使って
erf(1.14)の値を推測する。ただしアルゴリズムAとBを用いる

[3] 環境
 [3.1] LINUX
 [3.2] gcc 
 [3.3] 言語:C
[4] 期限: 7月17日 
[5] その他の制限: 問題文長くてすみません。あとなるべく初歩的な知識でも理解できるようなのだと大助かりです。
問1、問2と2つもありますがよろしくお願いします
365デフォルトの名無しさん:2006/07/16(日) 18:34:54
誤差関数の表
x  erf(x)
1.0 0.84270079294971
1.1 0.88020506957408
1.2 0.91031397822964
1.3 0.93400794494065
1.4 0.95228511976265
1.5 0.96610514647531
1.6 0.97634838334464
1.7 0.98379045859077
1.8 0.98909050163573
1.9 0.99279042923526
2.0 0.99532226501895

アルゴリズムA(差分商の計算)
for(i=0,1,・・・,n){
di  ← f(xi)

for(k=1,2,・・・,n){
for(i=0,1,・・・,n−k){
di←( di+1 − di) / (xi+k − xi )
}
}

アルゴリズムB(v = pn (α)の計算)
v ← d0
for(i=1,2,・・・,n)
v←(α - xi ) v + di


表と使用するアルゴリズムA・Bです
366デフォルトの名無しさん:2006/07/16(日) 19:18:57
用の誤用が気になる
367デフォルトの名無しさん:2006/07/16(日) 20:21:08
[1] 授業単元:データ構造
[2] 問題文(含コード&リンク):ttp://sund1.sakura.ne.jp/uploader/source/up16554.zip
(ファイルが4つあるのでzipですみません)
[3] 環境
 [3.1] OS:Linux
 [3.2]コンパイラ:gcc
 [3.3] 言語: C
[4]期限:7月18日午前9時
[5] その他の制限: あらかじめ決められている枠組みを変えることはできません。指定された関数の中だけを作ってください。

問題説明:
問題は線形リスト探索(単方向)を完成させろというものです。
分割されている4つのファイルのうち、liststructure.c.txtにある関数search(探索)、insert(挿入)、delete(削除)
の中身を作成することで線形リストのプログラムを完成させるものです。
*あらかじめ書かれている、枠組みを変えることはできないです。その中で動くように作る事が条件になっています
よろしくお願いしまする。

↓参考に自分で作ってみた物です
ttp://sund1.sakura.ne.jp/uploader/source/up16557.txt
ですがバグが出てうまくいかないのです。
368デフォルトの名無しさん:2006/07/17(月) 01:23:11
[1] 授業単元:初級プログラミング

[2] 問題文(含コード&リンク):
このプログラム(http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2374.txt
がの一文ごとに何をやっているのかがわかるようにコメントを付けること。
また、関数ごとに何をする関数か役割を書き、引数と返戻値は何かを明らかにすること。

[3] 環境
 [3.1] OS: (WindowsXP)
 [3.2] コンパイラ名とバージョン: (borland C++)
 [3.3] 言語: (C言語)

[4] 期限: ([2005年7月18日まで] )

[5] その他の制限:とくに無し
369デフォルトの名無しさん:2006/07/17(月) 02:08:17
[1] 授業単元: 数値解析
[2] 問題文n×nの係数行列Aと右辺ベクトルbを適当に与えたとき、Ax=bの解xをLU分解により(AをLU分解して)
求めるプログラムを作る。そのプログラムにおいて、n=4、
    |2 2 -6 3|   |-0.5|
A=  |1 -4 2 2 | b=| 8 |
   |2 1 -3 -5|   | -9 |
   |1 -2 1 2 |   | 6 |
としたときの数値解を求め、出力する。なお、プログラムでは変数mを用いる。
ヒント:解はx4=1.5、x3=1、x2=-0.5、x1=1
[3] 環境
 [3.1] LINUX 
 [3.2] gcc
 [3.3] 言語: C
[4] 期限: 7月20日
[5] その他の制限:

問題文分かりにくくてすみません。よろしくお願いします
370369:2006/07/17(月) 02:09:47
C言語習いたてなのでできる限りレベル低くお願いします。
371デフォルトの名無しさん:2006/07/17(月) 02:30:21
>>369
それ66代目で答えうpされてたよ。多分まだ残ってると思う。
372デフォルトの名無しさん:2006/07/17(月) 02:34:05
>>370
C/C++の宿題を片付けます 66代目
http://pc8.2ch.net/test/read.cgi/tech/1151477344/690
373369:2006/07/17(月) 02:45:21
あああ・・・すみません。確認しないで書き込んでました・・・。
69代目を見つけて「あ、新しいのこっちだったのか」と思って・・・。
374368:2006/07/17(月) 04:14:32
頭が悪いながらも調べつつなんとか自力でできそうなので
授業をもっとちゃんと受ければよかったと
後悔しながら自分でやる事にしました。

どうしても分からない場合はピンポイントで質問しようと思うので
その時はご教授願います。
375デフォルトの名無しさん:2006/07/18(火) 16:45:39
つーかなんでいつも宿題スレを重複させてんだ?
376デフォルトの名無しさん:2006/07/18(火) 19:26:45
荒れたときの避難用
377デフォルトの名無しさん:2006/07/18(火) 19:37:52
派閥争い
378デフォルトの名無しさん:2006/07/18(火) 20:59:37
いやだねぇ、意地でも自分が立てたスレがカニ本家みたいな
379デフォルトの名無しさん:2006/07/19(水) 23:45:55
[1] C言語
[2] 1個1000円の商品があります。この商品には、まとめて買うと割引があります。
割引率は10個未満=なし、10個以上100個未満=1割引、100個以上1000個未満=2割引、1000個以上はすべて3割引き
購入個数を与えると、購入金額を求めるプログラム。購入個数は700個とする。

pro1.とpro2.(while文とfor文)で作成した。各自でどちらを採用するか決め、理由を200時以内に適切に述べよ。

http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2407.txt

[3] 環境
[3.1] Windows
[3.2] VC 6.0
[3.3] 言語:C言語
[4] 無期限
[5] その他の制限:なし
whileもforもやっている個とは同じだし、違いや長所短所が見つけられません。宜しくお願いします。
380デフォルトの名無しさん:2006/07/20(木) 00:36:18
意表をついてgotoで実装することをお勧めする
381デフォルトの名無しさん:2006/07/20(木) 01:22:54
ハァハァ僕はgoto信者なんです(:.;゚;Д;゚;.:)ハァハァ
382デフォルトの名無しさん:2006/07/20(木) 02:26:48
> whileもforもやっている個とは同じだし、違いや長所短所が見つけられません
ハァ?
100個以上1000個未満=2割引 ならpro2だろ
383デフォルトの名無しさん:2006/07/20(木) 02:31:23
購入個数が700個って決まってるんだしどっちも無駄無駄
384デフォルトの名無しさん:2006/07/20(木) 02:44:32
> n=n++;
385デフォルトの名無しさん:2006/07/20(木) 02:52:46
気持ちは分かるがマルチイクナイ
386デフォルトの名無しさん:2006/07/20(木) 03:00:58
どっちのコードもありえないくらい汚い。よって両者却下。
387デフォルトの名無しさん:2006/07/20(木) 12:08:55
[1] 2次元配列
[2] ttp://www.s.kyushu-u.ac.jp/~z6hs01in/k_and_r/chapter-2/chapter-2.html
  解答していただきたいのはページ中段のプログラム22−3です。
[3] 環境
 [3.1] windowsXP
 [3.2] gcc
 [3.3] Cのみ
[4] 7月31日まで
[5] 特にありませんが、基礎的な内容で解いていただければ幸いです。
よろしくお願いします。
388デフォルトの名無しさん:2006/07/20(木) 12:58:10
>>387
既出
389デフォルトの名無しさん:2006/07/20(木) 13:28:00
>>388
失礼ですがどこにありますか?
390デフォルトの名無しさん:2006/07/20(木) 14:51:58
[1] 授業単元:プログラム言語
[2] 問題文:
整数の配列をパラメタとして、配列の中で最大と最小の数を求める関数を定義する。
この関数をmainとは異なるファイル(minmax.cpp)で定義して作成する。
この関数のプロトタイプ宣言は独立したヘッダファイル(minmax.h)として定義する。
[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン:visual studio
 [3.3] 言語: C++
[4] 期限:21日まで
 void minmax(int array[], int n, int *minPtr, int
*maxPtr)
{... ここを書き加える
}int main(){
int data[10] = {4, 2, 5, 9, 2, 1, 4, 5, 4, 5};
int min, max;... ここを書き加える
printf("min = %d, max = %d\n", min, max);
return 0;
}
... ヘッダファイルの内容
------
void minmax(int array[], int n, int *minPtr, int *maxPtr)
{... ここを書き加える}
--------
int main()
{int data[10] = {4, 2, 5, 9, 2, 1, 4, 5, 4, 5};
int min, max;... ここを書き加える
printf("min = %d, max = %d\n", min, max);
return 0;
}
391デフォルトの名無しさん:2006/07/20(木) 14:55:33
>>390
本当にC++でいいの?
後悔しない?
392デフォルトの名無しさん:2006/07/20(木) 15:01:45
>>389
すまん、別スレだった。

C言語なら俺に聞け(入門篇)
ttp://pc8.2ch.net/test/read.cgi/tech/1146700389/934
393デフォルトの名無しさん:2006/07/20(木) 15:07:19
>>390
[main.cpp]
#include <iostream>
#include "minmax.h"
using namespace std;

int main(void)
{
int data[10]={4,2,5,9,2,1,4,5,4,5};
int min,max;
minmax(data,10,&min,&max);
cout << "min=" << min << " max=" << max << endl;
return 0;
}
[minmax.h]
#include "minmax.cpp"
[minmax.cpp]
void minmax(int array[],int n,int *min,int *max)
{
int i;
*min=array[0];
*max=array[1];
for (i=0;i < n;i++){
if (array[i] < *min){
*min=array[i];
}else if (array[i] > *max){
*max=array[i];
}
}
return;
}
394デフォルトの名無しさん:2006/07/20(木) 15:12:45
>>392
ありがとうございます。でも解答されてなかったみたいですね…当たり前か。
395デフォルトの名無しさん:2006/07/20(木) 15:15:29
#include <stdio.h>
int main(){
int n,m,i,j,d=1,g;
printf("Number of Teams --> ");scanf("%d",&n);
printf("Number of Games per Day -> ");scanf("%d",&m);
g=m+1;
printf("\n-------- Schedule ----------");
for(i=0;i<n-1;i++){
for(j=i+1;j<n;j++){
if(g>m){printf("\nDay %d\n",d++);g=1;}
printf("Game %d : %c vs %c\n",g++,(char)(i+'A'),(char)(j+'A'));
}
}
d--;g--;
puts("---------------------------");
printf("Total Number of Days : %d days\n",d);
printf("Total Number of Games : %d games\n",(d-1)*m+g-1);
puts("---------------------------");
return 0;
}
396デフォルトの名無しさん:2006/07/20(木) 15:19:40
訂正
×>printf("Total Number of Games : %d games\n",(d-1)*m+g-1);
○>printf("Total Number of Games : %d games\n",(d-1)*m+g);
397デフォルトの名無しさん:2006/07/20(木) 15:25:19
  長方形(短冊)によって近似した数値積分プログラムを作り、以下の問題を解きなさい。
   i) 関数:y=1/(1+x^2)
     積分区間:x0=0、xf=4
     分割数:2000
   ii) 関数:y=x y^2
     積分区間:x0=1、xf=2
     分割数:2000
   iii) 分割数を多くしたときのメリットとデメリットは?
398デフォルトの名無しさん:2006/07/20(木) 15:31:52
>>397
>解きなさい
いやです。
399デフォルトの名無しさん:2006/07/20(木) 15:46:04
ごめんなさい。テスト文そのままコピーしてました。
解いて下さい。お願いします。
400デフォルトの名無しさん:2006/07/20(木) 16:57:54
>>399
>>1を読むこと。
401デフォルトの名無しさん:2006/07/20(木) 17:02:35
>>397
>y = x y^2
何これ?
402デフォルトの名無しさん:2006/07/20(木) 17:11:28
>>395
どうもありがとうございます。配列使う必要なかったんですね。
403お願いします・・:2006/07/20(木) 20:14:36
http://pc8.2ch.net/test/read.cgi/tech/1151477344/l50
970,(サンプルコード981)
前のスレでレスオーバーになってしまいまして・・
どうかよろしくお願いします・・
404お願いします・・:2006/07/20(木) 20:15:33
まったくわかりません・・
[1] 授業単元: 中課題
[2] 問題文(含コード&リンク): 9マス×9マスの小さな盤面で、数独の問題を解く
プログラムを作成せよ。またわかりやすいレポートを作成せよ(レポは
とりあえず後回しで大丈夫です)
<数独のルール>
1、空いているマスに、1から9までの数字のどれかを入れる。
2、縦列、横列(ともに9列)、太線(外周の線)で囲まれた3×3の
ブロック(それぞれ9マスあるブロックが9つある)のどれにも
1から9までの数字が一つずつ入る。
[3] 環境
 [3.1] OS: UNIX
[4] 期限: 明日の19時
[5] 盤面の状態を入出力するサンプルコードと問題の入出力ファイルは配布されています。
お願いします。。。。


405お願いします・・:2006/07/20(木) 20:16:27
コピーさせていただきました。よろしくです
406死にかけてるものです:2006/07/20(木) 20:44:41
宿題の提出が月曜日と言われ、困り果て2chへ。沢山の宿題をここにコピペして宜しいのでしょうか?
全45問です・・・。
407デフォルトの名無しさん:2006/07/20(木) 20:49:27
>>406
アプロダ使え。
408デフォルトの名無しさん:2006/07/20(木) 21:33:49
[1] 授業単元:
[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2410.txt
問題のヒント:http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2411.txt
図:http://imepita.jp/trial/20060720/717750
[3] 環境
 [3.1] OS: Windows 
[3.2] コンパイラ名とバージョン: bcc
 [3.3] 言語: C
[4] 期限: なるべく早く
[5] その他の制限:

よろしくお願いします。
409死にかけてるものです:2006/07/20(木) 21:48:47
課題の中の一問。
1. 数字列を数値に変換せよ。fgets()やscanf()の%sで入力した数字列をint型やdouble型の数値に変換する。数値として扱わないものが入力された場合にはその旨を表示せよ。
[1] 授業単元: C言語プログラミング
[3] 環境
 [3.1] OS: Unix(Fedora Core)
 [3.2] コンパイラ名とバージョン: gcc バージョンは分かりません
 [3.3] 言語:Cのみ
[4] 期限: 24日午後5時まで
410死にかけてるものです:2006/07/20(木) 21:52:03
自分のC言語プログラムが長くて改行が多すぎるといわれ書けません(T_T)
411デフォルトの名無しさん:2006/07/20(木) 22:15:33
412デフォルトの名無しさん:2006/07/20(木) 22:27:37
>>411
scanfなら&が必要じゃね?
413デフォルトの名無しさん:2006/07/20(木) 22:30:30
不要なのか orz ごめんなさい
414デフォルトの名無しさん:2006/07/20(木) 22:42:27
m9(^Д^)プギャーッ
415デフォルトの名無しさん:2006/07/20(木) 23:52:00
>>410
掲示板部分に書き込むのではなく、ファイルに書いてそれをうpする。
416もうお手上げ・・・:2006/07/21(金) 00:28:13
[1] プログラミング演習
[2]
ある商品ごとの顧客注文数は平均μ=25、分散б^2=5^2 (標準偏差б=5)の正規分布に従う。
T(≦1000)日間の顧客注文数を観測し、その平均値とバラツキを調べよ。
具体的にはユーザー関数を用いて、上記の正規分布に従う乱数をT個発生させる。
T個生成した正規乱数データをExcelに書き込み、Excelの関数ウィザードを利用して、正規乱数データの平均値、不偏分散、標準偏差を求めよ。
[3] 環境
 [3.1] Windows xp
 [3.2] 不明
 [3.3] C++
[4] 出来れば明後日ぐらいまでに。
[5] ユーザー関数は必須らしいです。(但し、自分はここがよく分からない)
417デフォルトの名無しさん:2006/07/21(金) 00:32:40
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
以下に示すプログラムは,ハッシュ法(チェイン法)を用いたデータの保存と探索のプログラムである.
/* Hash Search (Chain) */ の部分を作成し,完成させよ.
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.cgi?mode=thr&no=2124のNo.2418
[3] 環境
 [3.1] OS: (Windows/Linux/等々) WindowsXP
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) gcc バージョンはわかりません
 [3.3] 言語: (C/C++/どちらでも可 のいずれか) C
[4] 期限:   24日月曜日
[5] その他の制限:

まったくわかりません
お願いします
418デフォルトの名無しさん:2006/07/21(金) 00:37:36
[1]C言語初級プログラミング
[2]キーボードから任意の二つの整数を入力し、最大公約数を表示するプログラムを作成せよ。
[3]OS:Linux
  コンパイラ名:gcc
  言語:C言語
[4] 期限:今月末まで
[5] その他の制限:「return」は使えません。for文とif文を中心によろしくお願いします。
419デフォルトの名無しさん:2006/07/21(金) 00:38:27
[1]C言語初級プログラミング
[2]キーボードから任意の二つの整数を入力し、最大公約数を表示するプログラムを作成せよ。
[3]OS:Linux
  コンパイラ名:gcc
  言語:C言語
[4] 期限:今月末まで
[5] その他の制限:「return」は使えません。for文とif文を中心によろしくお願いします。
420デフォルトの名無しさん:2006/07/21(金) 00:39:28
連投申し訳ありませんorz
421デフォルトの名無しさん:2006/07/21(金) 01:11:51
>>419
#include <stdio.h>
main() {
int x,y,z;
printf("数値を2つ入力して下さい : ");
scanf("%d %d",&x,&y);
for(;;) {
if(x%y==0) break;
else { z=x; x=y; y=z%y; }
}
printf("最大公約数 : %d",y);
}
422デフォルトの名無しさん:2006/07/21(金) 01:16:05
return 使えないって?
423デフォルトの名無しさん:2006/07/21(金) 01:18:23
要するに、自分で定義した関数の返り値を使わないってことか?
それでもグローバル宣言でreturnなしでイケるけどw
424デフォルトの名無しさん:2006/07/21(金) 02:00:47
>>417
now = &hash[hash_func(name2[0])];
while(now){
if(strcmp(now->name, name2) == 0){
flag = 1;
break;
}
now = now->next;
}
425デフォルトの名無しさん:2006/07/21(金) 02:39:54
まったくわかりません・・
[1] 授業単元: 中課題
[2] 問題文(含コード&リンク): 9マス×9マスの小さな盤面で、数独の問題を作る
プログラムを作成せよ。またわかりやすいレポートを作成せよ(レポは
とりあえず後回しで大丈夫です)
<数独のルール>
1、空いているマスに、1から9までの数字のどれかを入れる。
2、縦列、横列(ともに9列)、太線(外周の線)で囲まれた3×3の
ブロック(それぞれ9マスあるブロックが9つある)のどれにも
1から9までの数字が一つずつ入る。
<問題作成時のルール>
1、縦列、横列(ともに9列)、太線(外周の線)で囲まれた3×3の
ブロック(それぞれ9マスあるブロックが9つある)のどれにも
数字が3箇所埋まっている状態にする。
[3] 環境
 [3.1] OS: UNIX
[4] 期限: 明日の19時
[5] 答えが複数ある問題を作らないように気を付けよとのことです
お願いします。。。。

426417:2006/07/21(金) 02:52:00
>>424
きちんとできました
本当にありがとうございます
427デフォルトの名無しさん:2006/07/21(金) 02:57:22
428427:2006/07/21(金) 02:58:12
ああ、違うか。こんどは問題を作るのか。
429お願いします・・:2006/07/21(金) 09:09:02
>>427 おはようございます。425は僕ではありませんよ?
430お願いします・・:2006/07/21(金) 09:12:36
>>427そこにアクセスできません・・
もしかしてやってもらえましたのでしょうか?
431お願いします・・:2006/07/21(金) 09:19:46
>>427どうもありがとうございました!
ところでサンプルコードというのはなんだったのでしょうか?
432デフォルトの名無しさん:2006/07/21(金) 14:44:53
[1] 授業単元: C++演習
[2] 問題文(含コード&リンク): main関数及びmain関数以外の関数を用いて以下のような玉取りゲームを作成せよ。
20個の玉がある。まず先攻後攻はプレイヤーが決められるものとする。その後プレイヤーとCOMが交互に玉を取っていく。
そして一回に取れる数は1〜5個である。
最後の玉を取ったものが負けであり、プレイヤー勝利時には「貴方の勝ちです」、COM勝利時は「貴方の負けです」と最後の表示する。
[3] 環境
 [3.1] OS: Windows XP
 [3.2] コンパイラ名とバージョン: Borland 
[3.3] 言語: C++
[4] 期限: 明日まで
[5] その他の制限:なるべく初心者に分かりやすいプログラムを目指すこと。

というような問題なのですが超初心者の自分はいきなりこのような問題を出されてもサッパリです…orz
もし解ける方がいたらお願いします。
433デフォルトの名無しさん:2006/07/21(金) 15:09:10
>>432
COM側の手はどう生成すればいいんだろ。
つーか、お互いに最善手を打つと仮定して且つ、
先手後手をプレイヤが決められるのならこれでいいだろ。
int main()
{
printf("貴方の勝ちです\n");
return 0;
}
434デフォルトの名無しさん:2006/07/21(金) 15:11:05
>>433
ワロタ
435デフォルトの名無しさん:2006/07/21(金) 15:27:58
ゲーム苦手なのでどういう思考回路にしたらいいのかさっぱりわからん
ボールが2個残ってるときは1個取り
ボールが3個残ってるときは2個取り
ボールが4個残ってるときは3個取り



ボールが10個残ってるときは・・・
436デフォルトの名無しさん:2006/07/21(金) 15:32:08
437デフォルトの名無しさん:2006/07/21(金) 15:38:09
パスってそんな
438デフォルトの名無しさん:2006/07/21(金) 15:39:36
いやむしろ(*data)--;
439デフォルトの名無しさん:2006/07/21(金) 15:41:27
>>438
スマソ
440デフォルトの名無しさん:2006/07/21(金) 16:11:01
>>436
コンパイルしましたけど…コンピューターが玉1個しかとらずに、
しかもパスを駆使して確実に負けます…。


説明文が悪かったですね…。
スイマセン…。
441デフォルトの名無しさん:2006/07/21(金) 16:13:12
442デフォルトの名無しさん:2006/07/21(金) 16:18:26
>>441
ありがとうございます。実行結果とプログラムを見比べてどんなプログラムなのか
自分でも確認してみます。
443デフォルトの名無しさん:2006/07/21(金) 16:22:18
>>425 をお願いします
444デフォルトの名無しさん:2006/07/21(金) 16:39:25
>>440
ヒント:ネタ回答
445デフォルトの名無しさん:2006/07/21(金) 16:43:43
ここまでひどいネタコードを書けるとは、賞賛に値しますね。
446お願いします・・:2006/07/21(金) 17:21:09
まったくわかりません・・
[1] 授業単元: 中課題
[2] 問題文(含コード&リンク): 9マス×9マスの小さな盤面で、数独の問題を解く
プログラムを作成せよ。またわかりやすいレポートを作成せよ(レポは
とりあえず後回しで大丈夫です)
<数独のルール>
1、空いているマスに、1から9までの数字のどれかを入れる。
2、縦列、横列(ともに9列)、太線(外周の線)で囲まれた3×3の
ブロック(それぞれ9マスあるブロックが9つある)のどれにも
1から9までの数字が一つずつ入る。
[3] 環境
 [3.1] OS: UNIX
[4] 期限: 月曜に伸ばしてもらいました。
[5] 盤面の状態を入出力するサンプルコードと問題の入出力ファイルは配布されています。
お願いします。。。。

今日提出しにいったところ、サンプルコードから続きを書けと
いうことでした。。 
また入出力ファイルは
imput.dat quiz1.dat quiz2.dat quiz3.dat
とあり、gcc してから ./a.out
をすると ファイルを選択する画面になって、
例えばquiz1.dat と入力すれば、その空白を埋めるようになります。
どなたかどうかお願いします。
本用にお願いします。。
447デフォルトの名無しさん:2006/07/21(金) 17:23:42 BE:69876094-#
448お願いします・・:2006/07/21(金) 17:23:45
上の補足ですが
imput.dat
__6_____1
_7__6__5_
8__1_32__
__5_4_8__
_4_7_2_9_
__8_1_7__
__12_5__3
_6__7__8_
2_____4__


quiz3.dat
2__67____
__6___2_1
4_____8__
5____93__
_3_____5_
__28____7
__1_____4
7_8___6__
____53__8
サンプルコードは1のリンクしてあるところにはってあります
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
449デフォルトの名無しさん:2006/07/21(金) 17:25:09
[1] 授業単元:プログラム
[2] 問題文(含コード&リンク):

n×n複素行列の逆行列を求めるプログラムを作成せよ

[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン:gcc 3.4
 [3.3] 言語: C
[4] 期限: 26日まで
[5] その他の制限:よくわからないけど、matrix?などは使ってはいけない

おねがいします
450お願いします・・:2006/07/21(金) 17:27:07
>>447こちらの7でよろしいのでしょうか??
451お願いします・・:2006/07/21(金) 17:32:30
こちらの6ではダメでした。。。
どこかの丸写しがどうとかいわれ・・
サンプルコードから続きを書けということでした・・
452お願いします・・:2006/07/21(金) 17:34:14
こちらの7では、実行したときにファイルの選択になりますでしょうか?
453デフォルトの名無しさん:2006/07/21(金) 18:03:22
uzaina
454デフォルトの名無しさん:2006/07/21(金) 20:16:45
[1] 授業単元: プログラミング実習
[2] 問題文(含コード&リンク):
  和、差、共通集合の要素数と内容を表示するプログラム
  http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2426.txt
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 2006年07月26日まで
[5] その他の制限:
  http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2425.txt
  上記のプログラムにコマンドライン引数でファイルを指定できるように書き加えてください。

よろしくお願いします。
455もうお手上げ・・・:2006/07/21(金) 21:16:14
よろしければ>>416お願いします。
456デフォルトの名無しさん:2006/07/21(金) 21:51:09
覆面算をするプログラムなのですが、某書を丸写ししたはずなのにきちんと動きません。
SEND+MORE=MONEYに対応する解がないと言われてしまいます(1つあるはず)。
というわけで点検していただけないでしょうか?
そしてどういう操作をしているのかを解説していただけると嬉しいです。助かります。
よろしくお願いします!!
長いのであぷろだ使いました↓

http://zetubou.mine.nu/itoshiki/nozomu/zetubou26032.txt
457デフォルトの名無しさん:2006/07/22(土) 00:26:31
【事故】遮断機くぐって、母子死傷 男性渡ったので後に続いたら 池袋「開かずの踏切」
http://news19.2ch.net/test/read.cgi/newsplus/1153458339/

突然ですが、ここでグモッなニュースです
458デフォルトの名無しさん:2006/07/22(土) 00:29:20
send+more=money

定義からs>=1, m>=1
s+m=m*10+o or s+m+1=m*10+o
s=m*9+o or s=m*9+o-1
∴s=9, m=1, o=0

s*1000+e*100+m*1000+o*100=m*10000+o*1000+n*100 or s*1000+e*100+m*1000+o*100+100=m*10000+o*1000+n*100
10000+e*100=10000+n*100 or 10100+e*100=10000+n*100
e=n or 1+e=n
∴n=e+1

s*1000+e*100+n*10+d+m*1000+o*100+r*10+e=m*10000+o*1000+n*100+e*10+y
9000+e*100+(e+1)*10+d+1000+r*10+e=10000+(e+1)*100+e*10+y
10010+e*111+d+r*10=10100+e*110+y
e+d+r*10=90+y
y=e+d+r*10-90

d+e=y or d+e=10+y

d+e=e+d+r*10-90 or d+e=10+e+d+r*10-90
0=r*10-90 or 0=10+r*10-90
9=r or 8=r
∴r=8

経過から3<=n<=7, 2<=e<=6, 2<=d<=7, 2<=y<=7
y=e+d+r*10-90
y+10=e+d
12<=y+10<=17, 4<=e+d<=13
∴y=2 or y=3
e+d=12 or e+d=13
∴d=7, e=5, n=6, y=2
459デフォルトの名無しさん:2006/07/22(土) 02:37:47
>>456

>>if (ok[d]){
>> digit[c]+d;
>> ok[d]=FALSE;


とりあえず、digit[c]+d;のところでWarningでた。
460デフォルトの名無しさん:2006/07/22(土) 03:17:21
>>456
main()の最後

solution=0;
try(0);
if (solution==0) printf("解はありません。\n");

try()内でsolutionの書き換えがないから解がないと表示されるのは当然。
本の中で変数と関数の説明はされてないの?されてたらそれも書いて欲しいんだけど。
461デフォルトの名無しさん:2006/07/22(土) 04:35:32
いや try() 内で found() が呼び出されたら solution 書き換わるだろ
462デフォルトの名無しさん:2006/07/22(土) 11:42:08
463死にかけてるものです:2006/07/22(土) 12:06:16
金曜日の放課後を使い宿題量が >>406 よりかなり減りました。
再アップしたので再びお願い致します。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2432.txt

[3] 環境
 [3.1] OS: Unix(Fedora Core)
 [3.2] コンパイラ名とバージョン: gcc バージョンは分かりません
 [3.3] 言語:Cのみ
[4] 期限: 24日午後5時まで
[5] その他の制限: 指定された以外は標準ライブラリは使ってはいけない
464デフォルトの名無しさん:2006/07/22(土) 12:12:53
とりあえずUNIXでFedora Coreが気になって夜も眠れません><





つかどんだけためたんだおまいさんは・・・・
465デフォルトの名無しさん:2006/07/22(土) 13:09:14
>463
シーザー暗号を実現するプログラム
> --[実行結果例]--------
> 文字列入力 >> Yamanashi
> 鍵 >> 2
> 暗号文: Acocpcuhk
> --

こんな変換ルール実現できねーよw
(結果が間違ってないか?)
466デフォルトの名無しさん:2006/07/22(土) 13:13:40
確実に間違ってるだろ
467デフォルトの名無しさん:2006/07/22(土) 13:32:03
[1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク):
問題(ちょっと長いです)
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2434.txt
プログラム
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2433.c
データ
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2435.txt
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 来週の月曜日いっぱい
[5] その他の制限: なし

今もやってるのですが、条件がややこしくてよくわかりません。
問題文長いですが、どなたかよろしくお願いいたします。
468デフォルトの名無しさん:2006/07/22(土) 13:48:43
>463
前大敵に見栄えよく

後の味方は心づよく
469デフォルトの名無しさん:2006/07/22(土) 13:53:27
宿題ではないのですが質問です。

[2] 問題文:

double sum=0;

for( i=1 ; i<=2 ; i++ )
{
sum += 1/i;
}

これだとsumの値は、

sum = 1/1 + 1/2 = 1.500000

のようになると思ったのですが、なりません。(sum = 1.000000 になってしまいました)
どうすれば小数までちゃんと計算してくれるのでしょうか。

[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: Borland C++ 5.5.1 for Win32
 [3.3] 言語: C言語
470デフォルトの名無しさん:2006/07/22(土) 13:59:43
>>469
型キャストについて調べてみるといい
あとそういう質問は次からはここでしてね

【初心者歓迎】C/C++室 Ver.29【環境依存OK】
http://pc8.2ch.net/test/read.cgi/tech/1152367512/
471デフォルトの名無しさん:2006/07/22(土) 14:00:05
iをdoubleで宣言するか
1/i ⇒1.0/i にする
472お願いします・・:2006/07/22(土) 14:00:21
まったくわかりません・・
[1] 授業単元: 中課題
[2] 問題文(含コード&リンク): 9マス×9マスの小さな盤面で、数独の問題を解く
プログラムを作成せよ。またわかりやすいレポートを作成せよ(レポは
とりあえず後回しで大丈夫です)
<数独のルール>
1、空いているマスに、1から9までの数字のどれかを入れる。
2、縦列、横列(ともに9列)、太線(外周の線)で囲まれた3×3の
ブロック(それぞれ9マスあるブロックが9つある)のどれにも
1から9までの数字が一つずつ入る。
[3] 環境
 [3.1] OS: UNIX
[4] 期限: 月曜に伸ばしてもらいました。
[5] 盤面の状態を入出力するサンプルコードと問題の入出力ファイルは配布されています。
お願いします。。。。

今日提出しにいったところ、サンプルコードから続きを書けと
いうことでした。。 
また入出力ファイルは
imput.dat quiz1.dat quiz2.dat quiz3.dat
とあり、gcc してから ./a.out
をすると ファイルを選択する画面になって、
例えばquiz1.dat と入力すれば、その空白を埋めるようになります。
どなたかどうかお願いします。
本用にお願いします。。
お願いします・・
留年してしまいます。。
自分が悪いのはわかってますが。。
473デフォルトの名無しさん:2006/07/22(土) 14:00:58
いいかげんにしろ
474デフォルトの名無しさん:2006/07/22(土) 14:02:06
留年したまへ
475お願いします・・:2006/07/22(土) 14:04:05
上の補足ですが
imput.dat
__6_____1
_7__6__5_
8__1_32__
__5_4_8__
_4_7_2_9_
__8_1_7__
__12_5__3
_6__7__8_
2_____4__


quiz3.dat
2__67____
__6___2_1
4_____8__
5____93__
_3_____5_
__28____7
__1_____4
7_8___6__
____53__8
サンプルコードは1のリンクしてあるところにはってあります
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm

上の掲示板の67代目の130番にサンプルコードをかかせていただきました、
どうか本当によろしくお願いします。。
476デフォルトの名無しさん:2006/07/22(土) 14:04:58
友達いないのか?
477デフォルトの名無しさん:2006/07/22(土) 14:13:16
大学で口を開いたことはありません。
478デフォルトの名無しさん:2006/07/22(土) 14:14:07
じゃ来年頑張って
479デフォルトの名無しさん:2006/07/22(土) 14:15:46
お願いします!!!
死活問題なんです!!
留年したら学費の問題で退学しないといけないかもしれないんです!!!
480デフォルトの名無しさん:2006/07/22(土) 14:16:13
ご愁傷様
481デフォルトの名無しさん:2006/07/22(土) 14:19:00
退学したら学費も浮くし、生活楽になるよw
482デフォルトの名無しさん:2006/07/22(土) 14:22:02
人が下手にでりゃあ偉そうに言いやがって
チンカスどもが

さっさと解けやクソども
483デフォルトの名無しさん:2006/07/22(土) 14:22:26
お前全然死に物狂いになってないだろ。
本当に真剣なら、大学(あるいは専門学校か?)に行って、誰でも捕まえて頼んでみろ。
もしくは、かたっぱしからソフトウェアハウスに電話して、3万出すから宿題といてくれと
頼んでみろ。だれか引っかかるはずだ。
484デフォルトの名無しさん:2006/07/22(土) 14:23:16
>>482
どうでもいいけど、お前彼の息の根を止めたかもよ
485デフォルトの名無しさん:2006/07/22(土) 14:24:42
対人恐怖症でクラスの笑いものだし
醜刑恐怖症で郵便局とかにも行けないんです
電話してもお金を振り込めません
486デフォルトの名無しさん:2006/07/22(土) 14:25:36
もう2chじゃ、余程の物好きがあらわれない限り、こたえてもらえないと思うよ。
純真なリア高とかが答えるかも知れんけどなw
487デフォルトの名無しさん:2006/07/22(土) 14:26:37
たった今他の板で答えもらえちゃいましたwww
ヒャッホー!
死ね2ちゃんねらー
488お願いします・・:2006/07/22(土) 14:27:36
>>477以降はぜんぶ偽者です。。。
ぜひともお願いします。。
489デフォルトの名無しさん:2006/07/22(土) 14:28:00
次の課題で討ち死にしなされ
490デフォルトの名無しさん:2006/07/22(土) 14:28:49
491 ◆9Ce54OonTI :2006/07/22(土) 14:29:31
>>488も偽者です。私が本物です。
お願いします、10万円払います。
492デフォルトの名無しさん:2006/07/22(土) 14:31:01
半分前金ならやってあげるよ
493デフォルトの名無しさん:2006/07/22(土) 14:33:32
>>491は偽者です。
でも3,000円くらいなら払えます・・・
494デフォルトの名無しさん:2006/07/22(土) 14:34:13
やすっ!
プログラマなめとんか!
495デフォルトの名無しさん:2006/07/22(土) 14:34:47
いいかげんうざいぞ。
おとなしく待つか、別の手をうて
496デフォルトの名無しさん:2006/07/22(土) 14:36:51
彼女とデートの約束があるので時間がないんです・・・
497デフォルトの名無しさん:2006/07/22(土) 14:37:41
彼女にやってもらえ。
498デフォルトの名無しさん:2006/07/22(土) 14:43:30
彼女はまだ17歳なんです・・・
499デフォルトの名無しさん:2006/07/22(土) 14:44:37
しゃぶるだけなら
500デフォルトの名無しさん:2006/07/22(土) 14:56:17
彼女と一回セクロスさせるならOK。
501デフォルトの名無しさん:2006/07/22(土) 15:02:06
俺、山本みたいになるのいやだから3000円でいいや
502デフォルトの名無しさん:2006/07/22(土) 15:02:15
アナル貸してくれるならおkだぜ
503デフォルトの名無しさん:2006/07/22(土) 15:14:08

こいつ笑いのセンスない
504デフォルトの名無しさん:2006/07/22(土) 15:15:55
>>472
この中から索せ
ttp://sourceforge.net/search/?words=sudoku&type_of_search=soft&limit=100

スレが荒れるからもう来るなよ
505お願いします・・:2006/07/22(土) 15:47:24
ちょっとまってくださいよ・・
誰かの荒らしですよ・・・
506デフォルトの名無しさん:2006/07/22(土) 15:48:24
変身忍者
507お願いします・・ ◆zyUwiBi7uc :2006/07/22(土) 15:49:43
トリップつけました
どなたかお願いします・・
508デフォルトの名無しさん:2006/07/22(土) 15:50:38
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク): エンゲル係数を求めよ (家計の消費支出と飲食費を入力しエンゲル係数を求める)
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
 [3.3] 言語:どちらでも可
[4] 期限: 2006年07月26日まで
[5] その他の制限: 特になし

どうか、よろしくお願いします。
509お願いします・・ ◆zyUwiBi7uc :2006/07/22(土) 15:51:13
475以降は全て偽者です・・
お願いします。一度休学しているので。。
510デフォルトの名無しさん:2006/07/22(土) 15:54:32
うるせぇ俺だって留年した。
俺だって英語や現代数学はさっぱりだった。
課題だって試験だってさっぱりだった。
友達だって居なかった。
でも、頑張って卒業した。
できない教科も必死に授業出て勉強して単位取った。
そして今は職についた。

お前も自分でやってみろ。
511デフォルトの名無しさん:2006/07/22(土) 16:00:11
>>508
#include <stdio.h>

int main()
{
int zyUwiBi7uc,kiero;

printf("消費支出:");
scanf("%d",&zyUwiBi7uc);
printf("食料費:");
scanf("%d",&kiero);

printf("エンゲル係数は%.1f",(double)kiero/zyUwiBi7uc*100);

return 0;
}
512デフォルトの名無しさん:2006/07/22(土) 16:03:19
>>510
うるせぇ お前はそんなんだから出世できないんだよ。
他人をうまく利用できるようになれ。
自分で何でもやってるようじゃ一生平社員だ。
513デフォルトの名無しさん:2006/07/22(土) 16:26:00
>>512
うるせぇ技術だけもらったら辞めるから
ここで出世しなくても一向にかまわんわ
514プログラム初心者 ◆03Srrf7..c :2006/07/22(土) 16:32:57
[1] 授業単元: プログラム言語基礎
[2] 問題文(含コード&リンク): n人数分の数学の得点を100点満点で入力せよ
                80以上 : A
                79〜70 : B
                69〜60 : C
                59以下 : Z
[3] 環境
 [3.1] OS: Windows XP
 [3.2] コンパイラ名とバージョン: borland
 [3.3] 言語: C言語
[4] 期限: [2006年7月25日21:10まで]
[5] その他の制限: 順列を使ってやれ だそうです。

プログラム初心者で、こんな問題出されてもさっぱりわからないです‥‥
どうか これの問題が解ける人がいたらたすけてください。
515デフォルトの名無しさん:2006/07/22(土) 16:34:16
[2] 問題文(含コード&リンク): n人数分の数学の得点を100点満点で入力せよ
                80以上 : A
                79〜70 : B
                69〜60 : C
                59以下 : Z


問題はしょるな
全部書け
516プログラム初心者 ◆03Srrf7..c :2006/07/22(土) 16:37:36
すいません 書き忘れてました。 
n人数分の数学の点数100点満点で入力し
      80以上 : A
      79〜70 : B
      69〜60 : C
      59以下   : Z
   として  A、B、C、Z の人数を表示せよ

本当にすいません かきわすれてました。 
517デフォルトの名無しさん:2006/07/22(土) 16:39:52
> 順列を使ってやれ

本当か?
518プログラム初心者 ◆03Srrf7..c :2006/07/22(土) 16:42:29
はい 先生は順列を使った ほうが 簡単にできると いってました。
519デフォルトの名無しさん:2006/07/22(土) 16:44:01
配列じゃなくて?
520プログラム初心者 ◆03Srrf7..c :2006/07/22(土) 16:45:11
はっ 配列でした。 間違えだらけで本当にすいません。
521デフォルトの名無しさん:2006/07/22(土) 16:56:58
int count[4]={0}; /* A,B,C,Z分の配列 */
while(人数分){
if(Aランク) ++count[0];
if(Bランク) ++count[1];
if(Cランク) ++count[2];
if(Zランク) ++count[3];
}
printf("A:%d人\n",count[0]);
printf("B:%d人\n",count[1]);
printf("C:%d人\n",count[2]);
printf("Z:%d人\n",count[3]);


擬似コードで書くとこんな感じだが、配列使う意味が不明だなw
522プログラム初心者 ◆03Srrf7..c :2006/07/22(土) 16:59:49
本当にありがとうございます。  C言語全くわからなくて困っていたときにこのスレみつけて 本当によかったです。
 これからは じぶんでも プログラムが作れるようにがんばります。 
523デフォルトの名無しさん:2006/07/22(土) 18:48:43
っていうか京大のやつで質問してるやついるだろw

先生見てるぞ、と言ってみる
524デフォルトの名無しさん:2006/07/22(土) 19:15:13
妄想癖の京大助手
525デフォルトの名無しさん:2006/07/22(土) 19:49:29
n人は乱数でだすのか?
あと、どこまで習ってんのよ?
526デフォルトの名無しさん:2006/07/22(土) 19:52:05
>>513
再就職のときに、会社を辞めた理由を聞かれるから覚悟しておいた方がいいよ。
#つーか、漏れは聞く。
527デフォルトの名無しさん:2006/07/22(土) 20:09:00
またいつもの彼らか?
528508:2006/07/22(土) 20:12:10
>>511
ホントありがとうございます!!
529デフォルトの名無しさん:2006/07/22(土) 20:19:22
[1]苦しんで覚えるC言語 14章 文字列を扱う方法まで
[2] 問題1.キーボードから入力された文字が英字であるか否かを判断するプログラムを作れ。
  ヒント:アスキーコード表によれば65〜90が英大文字、97〜122が英小文字となっている。したがって、入力された文字が65〜90または97〜122なら英字。また、65〜90の範囲を調べるためのプログラム表現は以下のようになる。
  if(x>=65 && x<=90)...
  あるいは直接英字を用いて
  if(x>='&& x<='z')...
としてもよい
問題2
  1から100までの間の奇数の和を求めるプログラムを作れ。
  ヒント:奇数は1,3,5.。。、99と変化するので、i=1から初めて2ずつ
  増やしていくと奇数が求められる。したがって、forループは
  for(i=1;i<=99;i=i+2)という書き出しになる。
問題3
  1-2+3-4...+99-100を求めるプログラムを作れ。
  ヒント:余り演算子%を用いて奇偶を判定し、奇数のときは加算、偶数の
  ときは減算する。
問題4
  キーボードから西暦年を入力し、その年がうるう年であるか否kを決定す
  るプログラムを作れ。以下のいずれかを満足するとき、うるう年である。
  (1)その年が4の倍数でかつ100の倍数でないとき
  (2)その年が400の倍数のとき
問題5
  キーボードから20個の整数を入力して、ある数字の後にそれより小さな数
  字が続く場合が何回あるかを数えるプログラムを作れ。
530デフォルトの名無しさん:2006/07/22(土) 20:20:08
問題6
  キーボードから月を入力し、下記を参考にしてそれを漢数字、陰暦とその
  読み方を出力するプログラムを、switch文を用いて作れ、たとえば12を入力したとき
  十二月 師走 しわす
  と出力する。0を入力したときプログラムの終了とする。
  (参考)
  一月...睦月(むつき)
  二月...如月(きさらぎ)
  三月...弥生(やよい)
  四月...卯月(うづき)
  五月...皐月(さつき)
  六月...水無月(みなづき)
  七月...文月(ふみづき)
  八月...葉月(はづき)
  九月...長月(ながつき)
  十月...神無月(かんなづき)
  十一月...霜月(しもつき)
  十二月...師走(しわす)
問題7
  日を入力して、それを漢数字で出力するプログラムを作れ。たとえば25を
  入力したとき、二十五日と出力する。0を乳y録したときプログラムの終了
  とする。
ヒント:1から31までうぃ一、二、...、三十一として用意するのは大変なので、
    以下のような対をもつ。
1  2 3  4 5  6 7  8 9 10
一 二 三 四 五 六 七 八 九 十
たとえば、25が入力されたときは2と5に分けて、さらに真ん中に十を入
れて二十五を合成する。
531デフォルトの名無しさん:2006/07/22(土) 20:24:36
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] Borland C++ Compiler
 [3.3] 言語: C言語
[4] 期限: [2006年7月25日(火)まで]
[5] 苦しんで覚えるC言語 14章 文字列を扱う方法まで

こんなに沢山すいません これが最後の宿題だそうです。
問題六なら0を入力したときっていう以外は解けそうな感じでしたがやっぱり自分の力では解けそうにありません
どうかよろしくお願いします。
532デフォルトの名無しさん:2006/07/22(土) 20:53:00 BE:23292634-#
>>530
問題6
#include<stdio.h>
#include<stdlib.h>
int main(void){char* mon[]={"一月...睦月(むつき)","二月...如月(きさらぎ)",
"三月...弥生(やよい)","四月...卯月(うづき)","五月...皐月(さつき)","六月...水無月(みなづき)",
"七月...文月(ふみづき)","八月...葉月(はづき)","九月...長月(ながつき)",
"十月...神無月(かんなづき)","十一月...霜月(しもつき)","十二月...師走(しわす)",};
char tmp[100];int m;while(1){fgets(tmp,sizeof(tmp),stdin);switch((m=atoi(tmp))){case 1:case 2:
case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:puts(mon[m]);break;
case 0:return 0;}}return 0;}

問題7
#include<stdio.h>
#include<stdlib.h>
int main(void){char* kan[]={"","一","二","三","四","五","六","七","八","九",};
char tmp[100];int d;fgets(tmp,sizeof(tmp),stdin);d=atoi(tmp);
if(0<d&&d<=31){if((d/10)>1)printf(kan[d/10]);if(d/10)prntf("十");printf("%s日\n"kan[d%10]);
return 0;}
533デフォルトの名無しさん:2006/07/22(土) 20:57:58
>>529
問題1
#include <stdio.h>
#include <ctype.h>

int main () {
char c;

scanf("%c",&c);
if(isalpha(c)==0){
printf("英字ではありません\n");
}
else printf("英字です\n");
return 0;
}
534デフォルトの名無しさん:2006/07/22(土) 21:01:44
>>529
問題2
#include <stdio.h>

int main () {
int i;
int x;
for(i=1;i<=99;i+=2){
x+=i;
}

printf("%d",x);
return 0;
}
535デフォルトの名無しさん:2006/07/22(土) 21:04:48 BE:34939229-#
>>529
問題1
#include<stdio.h>
#include<ctype.h>
int main(void){if(isalpha(getchar()))puts("英文字");else puts("それ以外");return 0;}

問題2
#include<stdio.h>
int main(void){int a=1;int d=2;int n=50;int s=n*(2*a+(n-1)*d)/2;printf("%d\n",s); return 0;}

問題3
#include<stdio.h>
int main(void){int a=0;for(int i=1;i<101;i++)a+=((i&1)?1:-1)*i;printf("%d\n",a);return 0;}
536デフォルトの名無しさん:2006/07/22(土) 21:06:09
>>529
問題 3 あってる保障はない
include <stdio.h>

int main () {
int i;
int x=0;

for(i=1;i<=100;i++){
if(i%2==0) x+=i;
else x-=i;
}
printf("%d",x);
return 0;
}
537デフォルトの名無しさん:2006/07/22(土) 21:09:27 BE:104814869-#
>>529
問題4
#include<stdio.h>
#include<stdlib.h>
int main(void){char tmp[100];int y;fgets(tmp,sizeof(tmp),stdin);y=atoi(tmp);
if(((y%4)==0&&(y%100)!=0)||((y%400)==0))puts("閏年");else puts("平年");return 0;}

問題5
#include<stdio.h>
#include<stdlib.h>
#include<limit.h>
int main(void){char tmp[100];int a,b=INT_MIN,c=0;for(int i=0;i<20;i++){fgets(tmp,sizeof(tmp),stdin);
a=atoi(tmp);if(b<a)++c;b=a;}printf("%d回\n",c);return 0;}
538デフォルトの名無しさん:2006/07/22(土) 21:12:40
>>537
なんかこっちの書き方の方がぷろっぽいんだよな
539デフォルトの名無しさん:2006/07/22(土) 21:21:11
問題3は奇数を足す、偶数を引くって考えた方が早くね?って口先だけで言ってみるが
ソースを書くのはまんどくせっ
540デフォルトの名無しさん:2006/07/22(土) 21:23:36 BE:139752498-#
>>532
問題7訂正
#include<stdio.h>
#include<stdlib.h>
int main(void){char* kan[]={"","一","二","三","四","五","六","七","八","九",};
char tmp[100];int d;fgets(tmp,sizeof(tmp),stdin);d=atoi(tmp);
if(0<d&&d<=31){if((d/10)>1)printf(kan[d/10]);if(d/10)printf("十");printf("%s日\n",kan[d%10]);
}return 0;}
541デフォルトの名無しさん:2006/07/22(土) 21:24:32
>>540
なんかおまえプロっぽい書き方するなwwwwww
542デフォルトの名無しさん:2006/07/22(土) 21:25:50
トーマス氏はプロ(お金を得る職)としてやっているんだから当然。
つまらない課題を出す学校の卒業生はブラックリストにされちゃいますよ?
543デフォルトの名無しさん:2006/07/22(土) 21:27:15 BE:62112184-#
>>532
問題6訂正
#include<stdio.h>
#include<stdlib.h>
int main(void){char* mon[]={"","一月...睦月(むつき)","二月...如月(きさらぎ)",
"三月...弥生(やよい)","四月...卯月(うづき)","五月...皐月(さつき)","六月...水無月(みなづき)",
"七月...文月(ふみづき)","八月...葉月(はづき)","九月...長月(ながつき)",
"十月...神無月(かんなづき)","十一月...霜月(しもつき)","十二月...師走(しわす)",};
char tmp[100];int m;while(1){fgets(tmp,sizeof(tmp),stdin);switch((m=atoi(tmp))){case 1:case 2:
case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:puts(mon[m]);break;
case 0:return 0;}}return 0;}
544デフォルトの名無しさん:2006/07/22(土) 21:27:48
>>542
ああそうだったんだ
ごめんねかあちゃんここ北の初めてだからごめんね
でもなぜか俺の書くプログラムは厨房っぽいんだよなorz
545デフォルトの名無しさん:2006/07/22(土) 21:27:51
トーマス氏はニートだが
546デフォルトの名無しさん:2006/07/22(土) 21:28:03 BE:48525555-#
この程度のコードでプロもクソもねえだろうがよ…
547デフォルトの名無しさん:2006/07/22(土) 21:29:23
>>546
この程度でもプロだから尊敬されてんじゃん、照れるなってw
548デフォルトの名無しさん:2006/07/22(土) 21:29:59 BE:40761173-#
「プロだから」という理由で尊敬されるのは嫌だなぁ。
549デフォルトの名無しさん:2006/07/22(土) 21:30:04
>>546
書き方がなんかカッコいいんだよな
550デフォルトの名無しさん:2006/07/22(土) 21:32:52
改行しないで書けばいいんじゃね
551デフォルトの名無しさん:2006/07/22(土) 21:34:17
>>550
それだと俺の脳みそがついていきません
552デフォルトの名無しさん:2006/07/22(土) 21:36:50
問題4
あってる保障はねえ

#include <stdio.h>

int main () {
int x;
scanf("%d",&x);
if((x%4==0)&&(x%100!=0)||x%400==0) printf("うるう年\n");

else printf("うる年じゃねえ\n");
return 0;
}
553デフォルトの名無しさん:2006/07/22(土) 21:40:30 BE:46584746-#
>>550
仕事で納品するコードで改行無しとかアリエネエけどなw
554デフォルトの名無しさん:2006/07/22(土) 21:42:21
仕様変更の仕様変更の仕様変更の仕様変更でもはやなにが仕様かわからなくなるのが
普通なのって本当?
555デフォルトの名無しさん:2006/07/22(土) 21:53:59
内容:
[1]授業単元:C言語
[2] 問題文(含コード&リンク):3年間の月別売上は、次の表のようであった。
各年ごとの売上平均と、3年間を通しての売上平均を求めるプログラムを作成せよ。
 月   1 2 3 4 5 6 7 8 9 10 11 12
A年売上 60 30 66 6 56 85 30 70 89 10 30 85
B年売上 8 90 40 54 46 5 60 7 36 84 26 30
C年売上 38 94 83 35 48 93 35 27 84 47 33 54

[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン:Visual studio.net2003
 [3.3] 言語:C++
[4]期限:[2006年7月23日(日)夜まで]
[5] その他の制限: 特になし

どうかよろしくお願いします。
 
556デフォルトの名無しさん:2006/07/22(土) 22:01:21
↑すいませんコンパイラはBorland C++ Compiler です
557デフォルトの名無しさん:2006/07/22(土) 22:18:47
プロプロ言ってるのは自演?
558デフォルトの名無しさん:2006/07/22(土) 22:29:03
>>555
あってる保障はねえ
つうか全部の値を入力するのがめんどくせえ

#include <stdio.h>

int tukiheikin(int x[]){
int i;
int y=0;
for(i=0;i<12;i++){
y+=x[i];
}
printf("月:平均%d\n",y/12);
return y;
}

int main () {
int a[12]={60,30,66,6,56,85,30,70,89,10,30,85};
int b[12]={8,90,40,54,46,5,60,7,36,84,26,30};
int c[12]={38,94,83,35,48,93,35,27,84,47,33,54};

int x=0;
x+=tukiheikin(a);
x+=tukiheikin(b);
x+=tukiheikin(c);
printf("%d\n",x/3);
return 0;
}
559デフォルトの名無しさん:2006/07/22(土) 22:36:02
x/(各年のサイズ*3)
だと思った
560デフォルトの名無しさん:2006/07/22(土) 22:38:59
>>559
あわわわわそんな手段があったとは
561デフォルトの名無しさん:2006/07/22(土) 22:46:19
>>526
再就職?
そんなことするつもりならそもそも辞めないが?
562デフォルトの名無しさん:2006/07/22(土) 22:48:50
何でtukiheikinなのに合計値返してんだよ
カスは解凍すんなカス
563デフォルトの名無しさん:2006/07/22(土) 22:49:35
564デフォルトの名無しさん:2006/07/22(土) 22:50:27
>>561
何の自慢か知らんが、チラ裏にでもどうぞ
565デフォルトの名無しさん:2006/07/22(土) 22:51:19
>>562
最初は平均返すつもりだった
途中から合計を返すつもりになった
566デフォルトの名無しさん:2006/07/22(土) 22:51:34
>>562=>>564
このスレに何の御用で?
567デフォルトの名無しさん:2006/07/22(土) 22:56:51
>>566
お真も名
568デフォルトの名無しさん:2006/07/22(土) 22:58:58
> >>562=>>564
ここが既に違うし
さすがカスw
569デフォルトの名無しさん:2006/07/22(土) 23:00:34
>>565
あーよwwww
570デフォルトの名無しさん:2006/07/22(土) 23:00:55
質問させてください。
[1] 授業単元:プログラミングT
[2] 問題文:
 ・キーボードから目標値(正の整数)の入力を受け付ける。
 ・キーボードから整数の入力を受け付け、合計値を求めていく。
 ・合計値が目標値を超えたら、入力した個数とその中での
 最大値を表示して終了。
 [実行例]
 >目標値(整数)を入力してください。
 100
 >数字を入力してください。
 10
 30
 50
 40
 >目標値: 100
 >入力した整数の数: 4
 >最大値: 50

[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:2006年7月25日まで
[5] その他の制限:「for」を必ず使うこと。

何度考えても分かりません。どうか、お願いします。
571デフォルトの名無しさん:2006/07/22(土) 23:02:30
>>565
しっかり汁
572デフォルトの名無しさん:2006/07/22(土) 23:14:00
>>570
#include <stdio.h>

int main () {
int i;
int x=0,y=0;
int limit;
int max=0;
printf("最大値を入力してください");
scanf("%d",&limit);
for(i=1;max<limit;i++){
scanf("%d",&x);
if(y<x){
y=x;
}
max+=x;
}

printf("入力回数:%d\n",i);
printf("合計値:%d\n",max);
printf("最大値:%d\n",y);

return 0;
}

あってる保障なす
573デフォルトの名無しさん:2006/07/22(土) 23:14:02
>>570
#include <stdio.h>
int main(void){
int end, max, sum, tmp, i;
printf(">目標値(整数)を入力してください。\n");
scanf("%d", &end);
printf(">数字を入力してください。\n");
for(sum = max = i = 0; ; i++){
scanf("%d", &tmp);
sum += tmp;
max = (tmp > max) ? tmp : max;
if( sum >= end )
break;
}
printf(">目標値: %d\n", end);
printf(">入力した整数の数: %d\n", i+1);
printf(">最大値: %d\n", max);
return 0;
}
574570:2006/07/22(土) 23:20:29
>>572,>>573
ありがとうございます!助かりました。
575467:2006/07/22(土) 23:29:14
>>467をどなたかお願いできませんでしょうか?
プログラムは途中まで与えられていますが、さっぱりです。
576デフォルトの名無しさん:2006/07/22(土) 23:53:20 BE:15528724-#
クズの分際で催促するなクズ。
577デフォルトの名無しさん:2006/07/23(日) 00:03:13
>>575
ごめんさっぱりわからん
578デフォルトの名無しさん:2006/07/23(日) 00:09:54
>>576
プロならちゃちゃっとやっちゃってくだちゃいよ?
579デフォルトの名無しさん:2006/07/23(日) 00:17:44
>>575
できません
580デフォルトの名無しさん:2006/07/23(日) 00:57:18
[1] 授業単元:cプログラミング
[2] 問題文(含コード&リンク):
大きさ20の配列keyを用意し、キーボードから値を入力する。 この配列keyの要素を、単純挿入法で昇順にソートするプログラムを作成せよ。
ただし、ソートの途中経過を画面に出力すること。 また、最後に比較回数を画面に出力すること。
【ヒント】
配列の大きさの指定 ‥ ただし最初の要素は番兵用。よって入力は SIZE - 1 回。
単純挿入法‥未ソートの部分の先頭の要素を、ソート済みの部分に挿入する
途中経過‥未ソートの部分が1つ減るたびに(外ループ)出力。
比較回数‥初期値0の変数を用意し、比較のたびに(内ループ)インクリメント。
[3] 環境
 [3.1] OS: xp
 [3.2] visual studio2003
 [3.3] 言語: c
[4] 期限: 25日まで
[5] その他の制限: ループ、探索、ソート、配列、構造体など
581デフォルトの名無しさん:2006/07/23(日) 01:33:19 BE:52408139-#
>>578
プロの仕事を要求するならそれなりの対価を払う覚悟はできてるんだろうな?
582デフォルトの名無しさん:2006/07/23(日) 01:51:58
583デフォルトの名無しさん:2006/07/23(日) 01:53:49
>>581
体でウホッな支払いはおkでつか?w
まぁ、対価がある場合はバグがあったときはサポートも含んでもらわんと・・・
ここでの金銭のやりとりもどうかと思うけど、お金が欲しいなら個別に窓口でも設けてみては?
トーマス氏ならずいぶんと稼げるんでは?
584デフォルトの名無しさん:2006/07/23(日) 02:21:23
585お願いします・・ ◆zyUwiBi7uc :2006/07/23(日) 02:28:03
まったくわかりません・・
[1] 授業単元: 中課題
[2] 問題文(含コード&リンク): 9マス×9マスの小さな盤面で、数独の問題を解く
プログラムを作成せよ。またわかりやすいレポートを作成せよ(レポは
とりあえず後回しで大丈夫です)
<数独のルール>
1、空いているマスに、1から9までの数字のどれかを入れる。
2、縦列、横列(ともに9列)、太線(外周の線)で囲まれた3×3の
ブロック(それぞれ9マスあるブロックが9つある)のどれにも
1から9までの数字が一つずつ入る。
[3] 環境
 [3.1] OS: UNIX
[4] 期限: 明日の19時
[5] 盤面の状態を入出力するサンプルコードと問題の入出力ファイルは配布されています。
お願いします。。。。

586お願いします・・ ◆zyUwiBi7uc :2006/07/23(日) 02:30:08
上の補足ですが
imput.dat
__6_____1
_7__6__5_
8__1_32__
__5_4_8__
_4_7_2_9_
__8_1_7__
__12_5__3
_6__7__8_
2_____4__


quiz3.dat
2__67____
__6___2_1
4_____8__
5____93__
_3_____5_
__28____7
__1_____4
7_8___6__
____53__8
サンプルコードは1のリンクしてあるところにはってあります
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
生意気な口をきいたのは僕ではありません 誤解しないでください。
サンプルコードから続きを書けということで、
わかる方ならそれほど時間もかけさせないと思います。
本当にどうかよろしくお願いします。
587デフォルトの名無しさん:2006/07/23(日) 02:35:13
588デフォルトの名無しさん:2006/07/23(日) 02:50:52
>>585
普通に人間が思考して解くやりかたでなく
最初の盤面の状態からある数を適当において
別の盤面の状態をつくり、この状態を使って再帰で呼び出す

そんな感じのを昔作った。まあガンガレ。
大昔、プログラマ初心者の頃
6時間かけて糞ソースになったので作り直しでまた6時間
計12時間コースだった

いまの自分なら2時間コースだと思いたい
589デフォルトの名無しさん:2006/07/23(日) 03:02:21
>>585
まぁなんだ・・・粘着してたのがおまいさんじゃなくてもここじゃもう_
数独のプログラムならいっぱい落ちてるからそっからコピペのが早いと思うよ
590デフォルトの名無しさん:2006/07/23(日) 03:17:27 BE:15528342-#
>>583
もちろん「プロとして」請けるなら納期やらサポート範囲やら納品物やらをきっちり定義した
購入仕様書なり契約書なりを作った上で相応の仕事をすることになるが。
最低0.1人月としても10万前後だからな。クズ学生如きがそこまでやるとは思えん。
591デフォルトの名無しさん:2006/07/23(日) 03:30:12
>>585
解く方法教えてくれれば作る
そうでないなら考えたり調べたりするの面倒だからやんね
592デフォルトの名無しさん:2006/07/23(日) 03:30:58
[1] 授業:プログラミング演習
[2] 問題文:
・100個のノードを生成する
・ノードに重みを指数分布に従ってつける(0〜100)
・任意のノードペアを選び、重みの和を取り、重みの和が100以上のノードペアにリンクを張る
・それぞれのノードが持つリンク数を計算する
・リンクの数の分布
 (リンクが1つ・・・○○、リンクが2つ・・・○○、・・・みたいな)
[3] 環境:[Windows XP Borland C++ Compiler 5.5(BCC Developer) C言語
[4] 期限:一応ないので焦りませんが、早目がうれしいです。
[5] その他の制限:どんな方法を使っても大丈夫です。

以前はありがとうございました。本当に感謝感激です。
で、こんどは応用ということで、指数分布に従って重みをつけろとのことです。
以前貰ったプログラムをうpするので、宜しくお願いします。
593デフォルトの名無しさん:2006/07/23(日) 03:31:16
>>590
俺もプログラマだが実際問題そんな金の動くようなことしてる気がしないんだよなぁ
なんで成立してんだか・・・
594592:2006/07/23(日) 03:33:00
595デフォルトの名無しさん:2006/07/23(日) 03:47:50
>>593
それがわからないなら、辞めたほうがいいかも
596デフォルトの名無しさん:2006/07/23(日) 03:55:29
こんな楽に金稼げる仕事はなかなか辞められませんな
597デフォルトの名無しさん:2006/07/23(日) 03:57:12
プロのグラマーでお金を稼ぐエッチィボディの人たちのことでつか?
598デフォルトの名無しさん:2006/07/23(日) 03:58:57
俺はモデル系よりグラマー系がいいと思っている。
599デフォルトの名無しさん:2006/07/23(日) 05:44:36 BE:139752689-#
ミクロ系貧乳めがねッ娘が最強。
600デフォルトの名無しさん:2006/07/23(日) 06:20:35
ロリペド社会不適合性犯罪者か
601デフォルトの名無しさん:2006/07/23(日) 06:40:03
>>580 ちうか、SIZEの値を20にしてへんかったんでまた修正 orz
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2441.c
602デフォルトの名無しさん:2006/07/23(日) 06:41:59 BE:17469533-#
>>600
バカな。生殖能力があるのは大前提だ。
603デフォルトの名無しさん:2006/07/23(日) 10:42:09
529〜531です
解いてくれて本当にありがとうございました
604467:2006/07/23(日) 11:06:52
>>577,>>579
そうですか・・・。
なんとか自分でがんばってみます。
605デフォルトの名無しさん:2006/07/23(日) 11:48:47
きんもーっ☆
606死にかけてるものです:2006/07/23(日) 12:10:48
土曜日を使い >>463 よりさらに量が減り、そして詰まりました
再再アップしたのでよろしくお願い致します。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2442.txt

[3] 環境
 [3.1] OS: Linux(Fedora Core)
 [3.2] コンパイラ名とバージョン: gcc バージョンは分かりません
 [3.3] 言語:Cのみ
[4] 期限: 24日午後5時まで
[5] その他の制限: 指定された以外は標準ライブラリは使ってはいけない。

>>464
Linuxでした。orz すみません。

>>465,>>466
実行結果例の暗号文が間違えていました。すみません。
暗号文:Acocpcujk
607デフォルトの名無しさん:2006/07/23(日) 12:29:07
[1] 授業単元: 認識工学
[2] 問題文(含コード&リンク): ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2443.txt
[3] 環境
 [3.1] OS: Windows XP
 [3.2] コンパイラ名とバージョン: Borland C++ 5.5
 [3.3] 言語: C
[4] 期限: 2006/07/26
[5] 特にありません…。俺には難しいのですがよろしくお願いします。
608デフォルトの名無しさん:2006/07/24(月) 00:33:51
[1] 授業単元: コンピュータグラフィックス1
[2] 問題文(含コード&リンク):tp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2445.zip
[3] 環境
 [3.1] OS: WindowsXPpro sp2
 [3.2] コンパイラ名とバージョン:VisualStudio2002+cmd
 [3.3] 言語:C
[4] 期限: 2006/07/27
[5] gather_1関数の作成をお願い致します。 bmpはお持ちの物で構いません。
609デフォルトの名無しさん:2006/07/24(月) 01:57:44
>>608
きちんと問題文ぐらい書け
610デフォルトの名無しさん:2006/07/24(月) 02:50:51
agemasu
611デフォルトの名無しさん:2006/07/24(月) 03:18:57
【質問テンプレ】
[1] 授業単元:数値解析
[2] 問題文(含コード&リンク):
4元1次方程式をガウス法により解くプログラムを作成しなさい。

また、以下の条件を満たすこと。
1.任意の係数をキーボードから入力する。
2.求められた解を用いて検算を行う。
3.前進消去において、ピボット選択を行う。
4.関数calsolでxを求める部分を、5元、6元と増やしていっても簡単
 に変更できるようにする(for文などを使用してループ形式にする)。

プログラム例↓
http://www.mech.saitama-u.ac.jp/lab/system/lecture/NumericalAnalysis/kadai/kadai13.png
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:よく分かりません。
 [3.3] 言語:C/C++/どちらでも可
[4] 期限:[2006年07月24日8:00amまで
[5] その他の制限:
612デフォルトの名無しさん:2006/07/24(月) 03:27:34
hagemasu
613デフォルトの名無しさん:2006/07/24(月) 05:07:08
614613:2006/07/24(月) 05:30:06
615デフォルトの名無しさん:2006/07/24(月) 07:36:47
[1] 授業単元:cプログラミング
[2]自由課題です。プログラムは自分で考えるので、どんなもの作ったらいいか
アイデアだけいくつかお願いします
[4] 期限: 24日 24:00まで
[5] その他の制限: ループ、条件、配列、文字列、ポインタ程度の基礎的な知識で書けるもの
616デフォルトの名無しさん:2006/07/24(月) 07:47:07
>>615
極楽とんぼの山本を無罪にするプログラムを作れ!
617デフォルトの名無しさん:2006/07/24(月) 08:57:59
>>615
地球の公転運動シミュレーション
618デフォルトの名無しさん:2006/07/24(月) 09:53:11
1] 授業単元: コンピューター実習
[2] 問題文(含コード&リンク):
入力した正整数値以下の最大の素数を返すプログラムを作る。
素数を求める部分は関数にすること。

例)
12 (Enter)
11

6 (Enter)


7 (Enter)

[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 7月26日
[5] その他の制限:特になし

お願いします

619デフォルトの名無しさん:2006/07/24(月) 10:10:37
禿しく概出
620デフォルトの名無しさん:2006/07/24(月) 10:58:01
>>618
なんか作ってみたけどコードが凄い不細工になった
素数そのものが入力されたときにそれを表示できね
621デフォルトの名無しさん:2006/07/24(月) 12:38:29
for文に=つけてやればいい悪寒
622デフォルトの名無しさん:2006/07/24(月) 13:18:01
[1] 授業単元: C言語
[2] 問題文(含コード&リンク): ttp://www.iis.u-tokyo.ac.jp/~susaki/c/file1.html
にある課題4
[3] 環境
 [3.1] WindowsXP
 [3.2] Borland C++ 5.5.1
 [3.3] C言語
[4] 期限: 今月中
[5] その他の制限: 特になし

ファイルの中身の数値を3倍させる方法に苦戦してます。
お願いします。
623デフォルトの名無しさん:2006/07/24(月) 13:34:55 BE:52406993-2BP
>>622
学籍番号を晒したら教えてやる。
624デフォルトの名無しさん:2006/07/24(月) 13:55:50
>>615
#define DEF_YUUZAI 1
#define DEF_MUZAI 0

#include <stdio.h>

void main()
{
 Human obj;
 obj.name( "山本" );
 obj.set( DEF_YUUZAI );

 while( obj.getTumi()!=DEF_MUZAI )
  printf( "ごめんなさい\a" );
)
625デフォルトの名無しさん :2006/07/24(月) 13:56:24
[1] 授業単元:コンピュータプログラミング
[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2449.txt
[3] 環境
 [3.1] WindowsXP
 [3.2] VC 6.0
 [3.3] 言語:C
[4] 7月25日17:00まで
[5] その他の制限:

ファイルに書き込むまでしかできません。
お願いします。
626デフォルトの名無しさん:2006/07/24(月) 13:56:57
>>622
while (fscanf(fin,"%d",dat) != EOF){
fprintf(fout,"%d\n",dat*3);
}
627デフォルトの名無しさん :2006/07/24(月) 14:01:04
>>625
左の表を右にです。
すいません。
628デフォルトの名無しさん:2006/07/24(月) 15:00:09
629デフォルトの名無しさん:2006/07/24(月) 15:19:37
>>626
while ((n=fscanf(fin, "%d", &dat)) != EOF) {
if (n == 1) {
fprintf(fout, "%d\n", dat * 3);
} else {
fgetc(fin);
}
}
630デフォルトの名無しさん:2006/07/24(月) 15:50:24
>>609
すみませんでした。

複数のbmpファイル(24か8bit)を結合させて1つのbmpファイルにする、
gather_1.cを作れ、と言う問題でした。。
631デフォルトの名無しさん :2006/07/24(月) 16:00:48
>>628
実行したときに表をウィンドウに表示するにはどうしたらいいですか?
632デフォルトの名無しさん:2006/07/24(月) 16:06:14
>>631
fprintfをprintfに
633デフォルトの名無しさん:2006/07/24(月) 16:08:35
>>631
もしくはfpwをstdoutに
634622:2006/07/24(月) 17:49:22
答えてくださった方ありがとうございます
635デフォルトの名無しさん:2006/07/24(月) 18:04:01
全然わかりません。どうぞよろしくお願いします。

[1] 授業単元: アルゴリズム
[2] 問題文
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2451.txt
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] Borland C++ 5.5.1
 [3.3] 言語:C
[4] 今月中
[5] その他の制限: 特になし
636デフォルトの名無しさん:2006/07/24(月) 18:06:05
>>635
↓これを書き換えて作る

for i in ????

????

end

これは明らかにCでは無い
637デフォルトの名無しさん:2006/07/24(月) 18:16:17
>>635
for i in 1..600
print i.to_s + " "
if i % 24 == 0
print "\n"
end
end
638デフォルトの名無しさん:2006/07/24(月) 18:36:30
ruby ?
639デフォルトの名無しさん :2006/07/24(月) 18:46:11
>>632
>>633
ありがとうございました。
640デフォルトの名無しさん:2006/07/24(月) 18:53:00
641死にかけてるものでした:2006/07/24(月) 19:04:25
>>606 までに出題された課題が返却されてしまいました。明日までに再提出しろと言われ苦戦中です。
どこか間違っているのか教えてもらえないでしょうか?お願い致します。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2454.txt

[3] 環境
 [3.1] OS: Linux(Fedora Core)
 [3.2] コンパイラ名とバージョン: gcc バージョンは分かりません
 [3.3] 言語:Cのみ
[4] 期限: 24日午後5時までだった...
[5] その他の制限: 指定された以外は標準ライブラリは使ってはいけない。
642デフォルトの名無しさん:2006/07/24(月) 19:08:46
[1] 授業単元: プログラミング通論
[2] 問題文(含コード&リンク):

以下に表すマージソートのプロトタイプ宣言を, void mergesort(recordtype a[], int n); として作成せよ。
(他の関数定義は, http://hil86.cs.uec.ac.jp/2006/aqj2/materials/q5-skeleton.c にあります)

ただし、作業用配列 b[] を動的に確保せよ(b = malloc(.....); し、最後に free(b); する)。

void mergesort(recordtype a[], int l, int r) {
int i, j, k, m;
recordtype b[6];

if (l < r-1) {
m = (r + l) / 2;
mergesort(a, l, m);
mergesort(a, m, r);
for (i = m-1; i >= l; i--) b[i] = a[i];
i = l;
for (j = m; j < r; j++) b[r+m-j-1] = a[j];
j = r - 1;
for (k = l; k < r; k++)
if (strcmp(b[i].key, b[j].key) < 0) a[k] = b[i++];
else a[k] = b[j--];
}
}
643642:2006/07/24(月) 19:09:49
#define N 5
int main(void) {
#define BUFLEN 128
char buf[BUFLEN];
int i;
for (i=0; i<N; i++) {
fgets(buf, BUFLEN, stdin);
a[i].key = strnew(chomp(buf));
}
mergesort(a, 0, i); /* → mergesort(a, i); */
print_record(a, i);
}

[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 7月28日まで
644デフォルトの名無しさん:2006/07/24(月) 20:31:13
>>635
ありがとうございました!!
645607 :2006/07/24(月) 20:37:16
>>613-614
ありがとうございます。
本当にもの凄く助かりました。危機でした。
646デフォルトの名無しさん:2006/07/24(月) 21:03:35
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク): キーボードから7桁の整数を2つ読み込み,その積を表示する.ただし,整数型以外の
変数を用いてはならない.
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: VisualStudio.net2003
 [3.3] 言語: C
[4] 期限: できたら今日中にお願いします
[5] その他の制限: 初心者が書くような、プログラムでつくって頂きたいです。
         お願いします
647デフォルトの名無しさん:2006/07/24(月) 21:04:21
[1] 授業単元: CGとインタラクション
[2] 問題文(含コード&リンク): http://www.strangeworld.info/uploader/download.php?file=4387
[3] 環境
 [3.1] OS: Linux
 [3.3] 言語: C

よろしくお願いします

648デフォルトの名無しさん:2006/07/24(月) 22:29:51
(1) 品物の値段とお客の支払った金額を読み込んで、おつりが必要なときには、その額を貨幣の種類と枚
数で表示するプログラムを作りなさい。
(2) 正の整数n から1,3,5,…と順に奇数を引けるだけ引いた時、引けた奇数の個数がpn の整数部分にな
る。このようにして、pn の整数部分を求める方法を女の子(めのこ) 平方という。
正の整数n を読み込み、女の子平方によってpn の整数部分を求めるプログラムを作りなさい。

OS: Windows
  コンパイラ名とバージョン: gcc
  言語: C
期限: 早めで^^;
その他の制限: 特になし

本気困ってます^^;是非お願いします!!
649デフォルトの名無しさん:2006/07/24(月) 22:47:14
>>648
お札はイランの?
650デフォルトの名無しさん:2006/07/24(月) 22:52:41
>>648
(1)
#include <stdio.h>

int main(void)
{
int goods,payment,coin[]={1,5,10,50,100,500,1000};
int size=(sizeof(coin)/sizeof(int)),i;
int res[(sizeof(coin)/sizeof(int))];
scanf("%d%d",&goods,&payment);
payment-=goods;
if (payment < 0){
printf("金がたんねーよ\n");
return 0;
}
for (i=size-1;i >= 0;i--){
res[i]=(payment/coin[i]);
payment-=(coin[i]*res[i]);
printf("%5d YEN\t%d\n",coin[i],res[i]);
}
return 0;
}
651デフォルトの名無しさん:2006/07/24(月) 22:56:50
変数名がコインなのに1000がある。
それなのに2000も5000もない。
652デフォルトの名無しさん:2006/07/24(月) 23:08:48
>>648
#include <stdio.h>

int main () {
int kane;
int nedan;
int turi;
int x[6]={1,5,10,50,100,500};
int y[6];
int i;

printf("値段をいれてください\n");
scanf("%d",&nedan);
printf("お金をいれてください\n");
scanf("%d",&kane);

turi=kane-nedan;
printf("釣り%d\n",turi);

for(i=5;i>=0&&turi>0;i--){
y[i]=turi/x[i];
turi-=x[i]*y[i];
printf("%d円:%d枚\n",x[i],y[i]);
}

return 0;
}
653デフォルトの名無しさん:2006/07/24(月) 23:11:15
>>648
女の子平方って何?
これで合ってる?

int n,m,i;
scanf("%d",&n);
for (m=1,i=0;n > 0;n-=m,m+=2,i++);
printf("%d\n",i);
654デフォルトの名無しさん:2006/07/24(月) 23:12:47
>>653
なんかやらしいな
655デフォルトの名無しさん:2006/07/24(月) 23:21:20
>>654
いやん、ばかん
656デフォルトの名無しさん:2006/07/24(月) 23:30:27
>>655
くだらないことをいうんじゃありません
657鳥肌が立った:2006/07/24(月) 23:33:00
>>656
すいません、ご主人様
658デフォルトの名無しさん:2006/07/25(火) 00:08:45
>>646
できる方いらっしゃいませんでしょうか?
659デフォルトの名無しさん:2006/07/25(火) 00:15:23
>>648
マンコの平方ってさたとえば
2の平方もとめるときには
2-1=1 1回
1-2=-1 2回
って数えてもいいの?

それとも一回になるの?
660デフォルトの名無しさん:2006/07/25(火) 00:16:04
[1] 授業単元:cプログラミング
[2] 問題文(含コード&リンク):
大きさ20の配列keyを用意し、キーボードから値を入力する。 この配列keyの要素を、単純挿入法で昇順にソートするプログラムを作成せよ。
ただし、ソートの途中経過を画面に出力すること。 また、最後に比較回数を画面に出力すること。
【ヒント】
配列の大きさの指定 ‥ ただし最初の要素は番兵用。よって入力は SIZE - 1 回。
単純挿入法‥未ソートの部分の先頭の要素を、ソート済みの部分に挿入する
途中経過‥未ソートの部分が1つ減るたびに(外ループ)出力。
比較回数‥初期値0の変数を用意し、比較のたびに(内ループ)インクリメント。
[3] 環境
 [3.1] OS: xp
 [3.2] visual studio2003
 [3.3] 言語: c
[4] 期限: 25日まで
[5] その他の制限: ループ、探索、ソート、配列、構造体など
661デフォルトの名無しさん:2006/07/25(火) 00:19:08
>>658

main(){
  long i,j;
  scanf("%d %d",&i,&j);
  printf("%d",i*j);
}
662デフォルトの名無しさん:2006/07/25(火) 00:19:11
>>646
#include <stdio.h>

int main () {
unsigned int x;
unsigned int y;

scanf("%d",&x);
if(x<1000000) return 1;
scanf("%d",&y);
if(y<1000000) return 1;

printf("%d",x/y);
return 0;
}

会ってる保障はない
663デフォルトの名無しさん:2006/07/25(火) 00:21:55
>>660
単純挿入法の意味がわかりません
どうみてもググレです本当にありがとうございました
664デフォルトの名無しさん:2006/07/25(火) 00:27:44
>>662
ありがとうございます。助かりました。。
665デフォルトの名無しさん:2006/07/25(火) 00:31:28
>>664
ごめん違う!間違ってる!
これ積じゃない商だ!!!!!!!
666デフォルトの名無しさん:2006/07/25(火) 00:32:00
おいおい、そういう問題じゃないだろ。
667デフォルトの名無しさん:2006/07/25(火) 00:33:34
>>640の方。
震え上がるほどの見事な解答、有難う御座いました。。

(うちの環境ではstdlibヘッダが不要なようでしたが、勿論のこと結合できました。)
668デフォルトの名無しさん:2006/07/25(火) 00:33:35
知らない方が良いことも世の中にはある
669デフォルトの名無しさん:2006/07/25(火) 00:35:01
>>665
自分のレスにとは、言え何か凄い否定の仕方だなwwwwwwwwwww
/を*に変えれば良いと思うよ(判ってると思うけどさww)。
670デフォルトの名無しさん:2006/07/25(火) 00:37:38
>>667
>>640を含む問題文を見たけど凄いね。
学校でこんなレベルの事を学ぶんだ・・・・・。
何処の学校なの?
671デフォルトの名無しさん:2006/07/25(火) 00:40:46
>>669
いや今自分のパソコンでコンパイルしなおしてみたんだが
%dで表示すると10進の整数で表示されるはずなのに-が付いて表示されるんだが・・・
672デフォルトの名無しさん:2006/07/25(火) 00:41:26
>646は整数型をオーバーフローする整数の取り扱いの問題なんじゃないのか?
それ以前に>662は8桁のチェックをしていないようだが。
673デフォルトの名無しさん:2006/07/25(火) 00:42:22
>>662
1000000でいいんですか?0足りてますか?
674デフォルトの名無しさん:2006/07/25(火) 00:43:08
1000000*1000000で計算してみたら分かるよ。
675デフォルトの名無しさん:2006/07/25(火) 00:44:11
>>673
7桁未満を排除するのだからいいだろ。
尤も、>672の指摘する通り8桁を排除していないが。

>>671
>672の指摘通り、オーバーフローしているから。
676デフォルトの名無しさん:2006/07/25(火) 00:44:40
long型にすべきだな。
後なんでunsignedなのかもよく判らない。
677デフォルトの名無しさん:2006/07/25(火) 00:45:20
>>676
ごめんねセイスウチって書いてあるから符号つかっちゃだめかと思った
678デフォルトの名無しさん:2006/07/25(火) 00:45:54
なんだか>>669が哀れだなw
679デフォルトの名無しさん:2006/07/25(火) 00:46:52
>>670
負の整数値のことも思い出してあげてください。
680デフォルトの名無しさん:2006/07/25(火) 00:48:07
=─‐\\‐  /─'''''ニ二\''' |レレゝゝ、\
 ̄く<<く >, ゙、/<三三二\ ̄\ゝゝゝゝゝゞ''ヽ、
<<<<〈__入 ゙、く彡三三三二ヽくゝ\メメメゝ、_ゝ、\
くく<<<<<< ゙、 ゙、ミ三三二ニ─ゝゝゝゝゝ,,,,,,,、 '( ゙''ヽ、ヽ、
くくくくくく彡‐ヽ ゙、ミ三三二ニ'''くくゝゝ_ゝゝ、\\_,>」ノ,
く く く く く 彡゙、゙、三三二ニ‐くゝ、/ ,,,,,,,,メメゝヽ''''"ゝゞ丶、
二─二二彡彡、゙、三三二==くメゝ/   ゙'ヽ、メゝゝゝゝゝゝゞ''ヽ、,,,,,,_
‐'''" ̄ \彡彡ミ、゙、三二=''"く<メ/::      \''、メメゝゝゝ_ゝ 、 ,,、ヽヽ
、  ,,,, ゙彡//ヾ、三二= くゝ/:::....      \>∠レ,‐ニ二メヽ''ヽ ノ
 ゙ヽ、,,,‐//_///,,、゙、三二=  ゙、 ""'''      ヽ>//レレヽ,,___  /
,,,,,,‐'''"""/////,,ヽ ゙、三二─ ゙ヽ.         //ヘヘ,、 レレレレノ  さあ願いを言え
''"      ,l|"////ノ,、\彡'''''‐ニ,、 ::::::::::,,,,,,,,//    ゙ヽフ/|/| レ'  どんな願いも聞き流してやろう。
      /ゝ、/ヽ|ヽレ,,゙ヽ、゙''ヽ、,,,,,,_ヽ''ニ='',,'"、─,,,,,_   ̄"'ノ
     /メ / レ/,''"へへべ''─ ̄メヽ"ゝゞゝヽ、  >''"
681デフォルトの名無しさん:2006/07/25(火) 00:48:34
>>667
( ゚д゚)ポカーン
682デフォルトの名無しさん:2006/07/25(火) 00:54:40
>>646
#include <stdio.h>

int main () {
long x,y;

scanf("%d",&x);
scanf("%d",&y);
if(x<1000000||y<1000000) return 1;

printf("%x",x*y);
return 0;
}
これでなんとか騙せないかな・・・orz
683デフォルトの名無しさん:2006/07/25(火) 01:24:46
一体全体この>682(バカ)は何をしたいのだろう……
684デフォルトの名無しさん:2006/07/25(火) 01:28:39
>>683
> [5] その他の制限: 初心者が書くような、プログラムでつくって頂きたいです。
685デフォルトの名無しさん:2006/07/25(火) 01:31:05
>>683
もうどうしていいかわからないから
とりあえず-が付くとあからさまに積ではないので
16進数にして誤魔化せないかと
686デフォルトの名無しさん:2006/07/25(火) 01:33:08
printf("%I64d",(__int64)x*y);
687デフォルトの名無しさん:2006/07/25(火) 01:36:03
>>660 = >>580 ?
>>601
688デフォルトの名無しさん:2006/07/25(火) 01:39:06
>>685
-×+
689デフォルトの名無しさん:2006/07/25(火) 01:39:37
>>685
%uしらんのか?
690デフォルトの名無しさん:2006/07/25(火) 01:40:59
>>689
しらないつうか手元の本に載ってない
691デフォルトの名無しさん:2006/07/25(火) 01:42:07
>>688
うっせwwwwwwwwwwwwwww
692デフォルトの名無しさん:2006/07/25(火) 01:47:59
>>689
わかった符号なし表示するのに使うのね
でも使っても桁全然たりねえよorz今日はもう寝る
明日考える
693デフォルトの名無しさん:2006/07/25(火) 01:56:22 BE:81522667-2BP
>>660
たしか4つある66のどれかに回答があった。
694デフォルトの名無しさん:2006/07/25(火) 01:57:49
[1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク): キーボードからファイル名を入力し,そのファイルの文字コードを判別し,画面に表示
する.ただし,指定ファイルの文字コードはJIS,EUC,SJISとする.
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン: VisualStudio2003
 [3.3] 言語: C
[4] 期限: できるだけ早くお願いします
[5] その他の制限: 特になし。よろしくお願いします
695デフォルトの名無しさん:2006/07/25(火) 01:59:54
>>693
>>660 = >>580 ?
>>601
696デフォルトの名無しさん:2006/07/25(火) 02:10:36
何かちょっと上の方ワオタ
697デフォルトの名無しさん:2006/07/25(火) 02:11:53 BE:7764522-2BP
>>646
たしか4つある66のどれかに回答があった。
698デフォルトの名無しさん:2006/07/25(火) 02:13:59
>>670
某大のコンシス専攻っす。
 独学でもやってないと毎週大変っす(汗

//他には1からavi,wav,jpegを作ったりもします。(いずれmpeg,movもやるらしい…
699デフォルトの名無しさん:2006/07/25(火) 02:23:40
何年生ですか?
700デフォルトの名無しさん:2006/07/25(火) 02:35:46
毎週ちゃんとやってるなら授業大変そうだと思うけど、
宿題丸投げするくらいだから授業も聞き流してるんだろうなぁ・・・
701デフォルトの名無しさん:2006/07/25(火) 02:39:00
そんな奴らが社会に出てくるんだよな・・・
仕事も惰性、大きなミスがあっても反省なし・・・
むしろ、ミスがあっても良いという価値観のズレ
702デフォルトの名無しさん:2006/07/25(火) 03:21:32
>>694
手抜きだが。手抜きしない場合大変なことになると思われ。
#include <stdio.h>
#include <stdlib.h>
#define JIS 0
#define EUC 1
#define SJIS 2
int doit(const char *fname)
{
FILE *fp;int c;int ret = EUC;
const char *jtypes[] = { "JIS", "EUC", "SJIS" };
if ((fp = fopen(fname, "rt")) == NULL) { perror(fname); return -1; }
while ((c = fgetc(fp)) != EOF) {
if (c == 0x1b) { ret = JIS; break; }
if (c >= 0x80 && c < 0xa0) { ret = SJIS; break; }
}
fclose(fp); puts(jtypes[ret]); return ret;
}
int main(void)
{
char fname[1024]; int rc; int len;

if (fgets(fname, sizeof (fname), stdin) == NULL) return EXIT_FAILURE;
len = strlen(fname);
if (fname[len-1] == '\n') fname[--len] = '\0';
if (fname[len-1] == '\r') fname[--len] = '\0';
rc = doit(fname);
return rc >= 0 ? rc : EXIT_FAILURE;
}
703デフォルトの名無しさん:2006/07/25(火) 05:32:59
>1からavi,wav,jpegを作ったりもします
wavは正弦波や三角波のジェネレータ作って組み合わせるのかな、とかオモタ
704死にかけてるものでした:2006/07/25(火) 10:23:48
文字化けにより >>641 を再アップしました。
よろしくお願いします。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2459.txt
705デフォルトの名無しさん:2006/07/25(火) 10:42:54
マージソートって再帰なしで書けるものだっけ?
706デフォルトの名無しさん:2006/07/25(火) 10:48:12
>>704
ソートのforの継続条件が両方ともおかしい。
前者はendと等しいところまで回しているが、コメントではそうは言っていない。
後者はdouble値を文字と比較しているし、そもそもバッファオーバフローしてしまう。
707デフォルトの名無しさん:2006/07/25(火) 12:24:08
どなたか>>618をお答えいただけないでしょうか?
既出といわれたのですが、どこにあるのかわからなくて・・・
708デフォルトの名無しさん:2006/07/25(火) 12:53:49
#include <stdio.h>

int func(int num){
int i, flag = 0;
for(i = 2; i <= (num - 1); i++){
if(num % i == 0){
flag=1;
break;
}
}
return flag;
}

int main(void){
int n, ans, i;
scanf("%d", &n);
for (i = 2; i <= n; i++)
if (func(i) == 0) ans = i;
printf("%d", ans);
return 0;
}
709デフォルトの名無しさん:2006/07/25(火) 13:04:08
>>707
#include<stdio.h>
#define N 256
int sosu(int n){int i,j,prime[N];
if(n < 2) return -1;
for(i=1;i<N;i++)prime[i]=0;prime[0]=2;
for(j=3;j<=n;j++){for(i=0;i<N;i++){
if(prime[i]==0){prime[i]=j;break;}
if(j%prime[i]==0)break;}}
for(i=0;i<N;i++)if(prime[i]==0)break;
return prime[i-1];}
int main(){int n=2;
while(n>1){scanf("%d",&n);
printf("%d\n\n",sosu(n));}
return 0;}
効率とか特に考えずに書いた。反省はしてない。
710デフォルトの名無しさん:2006/07/25(火) 13:12:11
なんか勘違いしてた orz 丸ごと関数にしたら駄目じゃん
711デフォルトの名無しさん:2006/07/25(火) 13:16:38
別にいいんじゃないの
712642:2006/07/25(火) 13:22:36
どなたか >>642-643 をどうぞよろしくお願いしますm(_ _"m)ペコ
713デフォルトの名無しさん:2006/07/25(火) 13:23:13
>>618
#include <stdio.h>

int sosu2(int x){
int i;
for(i=2;i<x;i++){
if(x%i==0){
return 1;
}
}
return 0;
}
int sosu(int x){
int i;
int y=0;
if(sosu2(x)!=0){
for(i=2;i<x;i++) {
if((x%i!=0)) y=i;
}
}
else y=x;
return y;
}
int main () {
int x;
scanf("%d",&x);

x=sosu(x);
printf("%d",x);
return 0;
}
会ってる保障はない
714デフォルトの名無しさん:2006/07/25(火) 13:32:25
つうかね未だに整数がたのオーヴァーフローの解決ができませんよorz
突破口すらみつかりませんよ
715デフォルトの名無しさん:2006/07/25(火) 13:50:34
>>714=>>646か?
#include<stdio.h>
int main(){long a,b;scanf("%ld %ld",&a,&b);
printf("%.0f",(double)a*(double)b);return 0;}
716デフォルトの名無しさん:2006/07/25(火) 13:52:39
>>715
アホ
717デフォルトの名無しさん:2006/07/25(火) 13:55:31
>>686じゃ(ry
718デフォルトの名無しさん:2006/07/25(火) 13:59:52
1234567を123*10^5 + 4567とかに分解して掛け算すりゃいいんじゃねーの?
719デフォルトの名無しさん:2006/07/25(火) 14:00:27
10^5 -> 10^4 orz
720デフォルトの名無しさん:2006/07/25(火) 14:12:28
>>714
どれかわからんがBignumとかでぐぐりゃやろうとしてるの解決できるよ
721デフォルトの名無しさん:2006/07/25(火) 14:54:30 BE:95109577-2BP
>>714
ヒント:多倍長整数
722デフォルトの名無しさん:2006/07/25(火) 14:58:47
中身見てないけど66代目の552に対する回答じゃダメなの?
まあ、同じ回答すると教授にバレてしまうかもしれないけど
723デフォルトの名無しさん:2006/07/25(火) 15:09:23
>>721
なるほど
巨大すぎる整数は扱える桁に分割してあつかうでおk?
724死にかけてるものでした:2006/07/25(火) 15:22:53
>>706
指摘されたところを調べたところfor文のjが暴走していることに気づき
無事に解決できました。ありがとうございましたm(_ _)m
725デフォルトの名無しさん:2006/07/25(火) 15:41:41
とりあえず巨大な整数を表示することはできたが
これからどうやって積だしたらええねん
726デフォルトの名無しさん:2006/07/25(火) 15:47:29
筆算するときの要領で
727デフォルトの名無しさん:2006/07/25(火) 16:03:07
>>715

でた
728デフォルトの名無しさん:2006/07/25(火) 16:07:21
>>646
#include <stdio.h>

int main () {
long x,y;
scanf("%ld",&x);
scanf("%ld",&y);
if(x<1000000||y<1000000) return -1;
if(x>9999999||y>9999999) return -1;

printf("%.0f",(double)x*(double)y);
return 0;
}

会ってる保障はない
729デフォルトの名無しさん:2006/07/25(火) 16:31:41
[1] C言語実習
[2]
3つの係数a,b,cを読み込み、2次方程式 a*x*x+b*x+c=0の解を求める
関数void qurd(double a,double b,double c)を作成せよ。
ただし、解が重解、2つの実数解、虚数解を持つ場合の3つに分けて答を出力せよ。
何組かのデータを入力でき、ctrl+zで終了するプログラムを作成すること。

問題の画像です。
http://venus.aez.jp/uploda/index.php?dlpas_id=26134
pass:cplus

[3.1] Windows XP
[3.2] VC 6.0
[3.3] C++
[4] 金曜日までに
[5] 標準ライブラリ関数までは習っています。
730デフォルトの名無しさん:2006/07/25(火) 16:34:18
h抜くの忘れた…すみません。
731 ◆WD/2o.3Vnw :2006/07/25(火) 16:37:51
[1] 授業単元:基礎C++プログラミング
[2] 問題文:1800年から2100年の間で入力された
西暦と月からその月のカレンダーを表示する。
また、カレンダーの下にその月の祝祭日を日にち付きで表示する。
ただし、祝祭日は海の日などは改定前と後できちんと分ける。
(春分の日、秋分の日は一定でよい。)
閏年も考慮し、月初めの曜日はツェラーの公式で求める。
カレンダーの表示は2次元配列で表示し、日曜始まりの形式か
月曜はじまりの形式かをユーザが選べるようにする。
関数を最低1つは使用すること。
[3] 環境
 [3.1] OS: Windows XP
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語:C++
[4] 期限: 2006年8月4日17:00まで
[5] その他の制限: 配列・関数まで習いました。クラスなどは
ならっていないです。
遅くとも8月10日までにA〜E5段階で評価が返ってくるので、
作成者様のご希望があれば、評価がきたらここでご報告いたします。
ではよろしくお願いします。
732デフォルトの名無しさん:2006/07/25(火) 17:59:41
>>731
旧暦とか法改正とか国民の休日とかむちゃくちゃ大変だと思うが、その割に六曜は無視していいというアンバランスさ。
とりあえず各祝日の定義と有効期間を調べてまとめてくれよ。
733デフォルトの名無しさん:2006/07/25(火) 18:29:43
>>700-701
すまそ、今回初めて訊いたんだ。。

//しかもテスト1週前に課題出されるというOTL
734デフォルトの名無しさん:2006/07/25(火) 18:35:53 BE:67935375-2BP
成人の日と海の日と国民の休日と天皇誕生日4代分の場合分け処理を強要するくせに
春分の日と秋分の日は一定なのか…
つか明治の改暦前の日付はどう処理するんだ。グレゴリオ暦じゃ明治の休日は表記できないぞ。
天保暦にするのか?天保暦には曜日はないぞ。天保暦の休日は1、6の日と5節句、24節季だけ
でいいのか?神道の大祭を入れるのか?仏教か?
今上天皇の在位を何年までと見積もるんだ?
そこら辺の仕様がわからんと手が出せない。
735デフォルトの名無しさん:2006/07/25(火) 18:39:42
恋の呪縛〜♪
736デフォルトの名無しさん:2006/07/25(火) 18:51:00
ま〜たいつものカレンダーかと思ったら一味違っててバロスwww
737デフォルトの名無しさん:2006/07/25(火) 18:53:21 BE:19410825-2BP
はっきり言って、法定休日の場合分けやるくらいなら春分と秋分の計算の方がはるかに
簡単のような気がしてならない。
738デフォルトの名無しさん:2006/07/25(火) 18:54:27
>>733
毎週ちゃんと授業を受けてるなら丸投げはしないだろ
試験前でも寝食を削って勉強に勤しめ
739デフォルトの名無しさん:2006/07/25(火) 19:39:14
740デフォルトの名無しさん:2006/07/25(火) 19:57:07 BE:77640858-2BP
>>739
国民の休日は「法定祝日に挟まれた平日を休日」なので、日曜日と祝日に挟まれた日は除外。
ちなみに適用も1986年から。
振替休日は2006年までは「日曜日と法定祝日が重なった日の翌日」で2007年からは「日曜日と
法定祝日が重なった日の次の平日」となる。
そのため、春分・秋分を固定にしてしまうと国民の休日と振替休日が正しく表示できない。
新嘗祭は、1872年までは「11月の2回目の卯の日」。
741デフォルトの名無しさん:2006/07/25(火) 20:14:14
一年中夏休みなので休日とかどうでもいいです(´・ω・`)
742デフォルトの名無しさん:2006/07/25(火) 20:19:46
731はsourceforgeにスレをたてろ。
743デフォルトの名無しさん:2006/07/25(火) 20:29:35 BE:108696678-2BP
下限が1800年てことは寛政暦も入るな。閏月の入り方が不定期だからこれもテーブル化しないと
いけないんだが資料がない。
744デフォルトの名無しさん:2006/07/25(火) 20:36:14
ちょっとその課題出した教師ここに呼んで来い
745デフォルトの名無しさん:2006/07/25(火) 20:37:55
746デフォルトの名無しさん:2006/07/25(火) 20:41:11
[1] 授業単元:コンピューター演習
[2] 問題文(含コード&リンク):

****問題1****
ファイルxxx.txt から文字を読み込み,
大文字と小文字を区別しないでアルファベット26文字の出現頻度をカウントし,
最も頻度の大きいアルファベットとその出現回数を出力するプログラムを作成し,ソースコードを投稿せよ.

****問題2****
ファイル yyy.txt の中身は,
ある文書中の文字をすべて数文字づつずらした文書とすることで暗号化したものである.
このファイルから文字を読み込み,
大文字と小文字を区別しないでアルファベット26文字の出現頻度をカウントし,
最も頻度の大きいアルファベットが暗号化される前の e という文字であると仮定して,
ずらした文字を推測し,元の文書を出力して表示するプルグラムを作成し,ソースコードを投稿せよ.

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

お願いします><
747デフォルトの名無しさん:2006/07/25(火) 20:44:05
>>740
あと四方拝は法律上制定されてないみたいだけど、もしかして皇室典範の方も
調べないといけない?
748デフォルトの名無しさん:2006/07/25(火) 21:04:04
お願いします
[1] 授業単元:基本プログラミング
[2] 問題文(含コード&リンク):入力した整数n(0<n<10)に対してサイズnの九九表を出力するプログラム.
0以下,もしくは10以上の数を入力したところで終了
実行例
Input n : 6
 1 2 3 4 5 6
1 1 2 3 4 5 6
2 2 4 6 8 10 12
3 3 6 9 12 15 18
4 4 8 12 16 20 24
5 5 10 15 20 25 30
6 6 12 18 24 30 36

Input n : 3
1 2 3
1 1 2 3
2 2 4 6
3 3 6 9

Input n : 12
Good bye

[3] 環境
 [3.1] OS: UNIX
 [3.3] 言語:C++
[4] 期限: 明日
[5] その他の制限: なし


749デフォルトの名無しさん:2006/07/25(火) 21:08:32
>>748の実行例の九九表が変ですね・・・本当は右端に揃ってます。改めてお願いします
750デフォルトの名無しさん:2006/07/25(火) 21:26:46 BE:7764522-2BP
>>747
皇室祭祀令という法律で規定されているはず。
751デフォルトの名無しさん:2006/07/25(火) 21:31:16
>>748
#include <stdio.h>
int main(){
int kuku[9][9] = {
{1, 2, 3, 4, 5, 6, 7, 8, 9}, {2, 4, 6, 8,10,12,14,16,18},
{3, 6, 9,12,15,18,21,24,27}, {4, 8,12,16,20,24,28,32,36},
{5,10,15,20,25,30,35,40,45}, {6,12,18,24,30,36,42,48,54},
{7,14,21,28,35,42,49,56,63}, {8,16,24,32,40,48,56,64,72},
{9,18,27,36,45,54,63,72,81}
};
int i, j, n;

while(1){
printf("Input n : ");
scanf("%d",&n);
if(n<=0 || n>=10)
break;
for(i=0; i<n; i++){
for(j=0; j<n; j++)
printf("%2d ",kuku[i][j]);
printf("\n");
}
}
return 0;
}
752デフォルトの名無しさん:2006/07/25(火) 21:33:42
>>751
C++
753デフォルトの名無しさん:2006/07/25(火) 21:40:49
キーボードから円の直径dを整数で入力し、文字を使って直径dの円を表示
するプログラムを作成してください。ただし、入力する半径の範囲は2〜79
に制限し、正しい値が入力されるまで何度も入力させるようにして下さい。
754デフォルトの名無しさん:2006/07/25(火) 21:44:50 BE:31057128-2BP
>文字を使って直径dの円を表示

_
755デフォルトの名無しさん:2006/07/25(火) 21:50:28
int main(){
  float input=0;
  
  while(input<2 || input>79)
    scanf("%f",&input);

  printf("直径%fの円",input);

  return 0;
}
756デフォルトの名無しさん:2006/07/25(火) 21:53:37
課題3  Linuxでは、多重アドレス空間(多重仮想記憶)を採用しており、 プロセスごとに別々の仮想アドレス空間を利用している。 以下のような手順でこれを確認しなさい。

・二つのプロセスで、同じ番地に別々のデータが記録されている
・二つのプロセスのうち、片方のプロセスである番地にデータを書込んでも、 もう一方のプロセスの同じ番地には変化がない

なお、特定の番地のデータを調べたり、その番地にデータを書込んだりするには、 C言語ではポインタを利用する。
757デフォルトの名無しさん:2006/07/25(火) 21:54:05
>>746

http://www.borujoa.org/upload/source/upload6925.c

問題2のアルファベット以外の文字の扱いとか'a'〜'z'超えた分とかの扱いは適当だから、修正して使って。
758デフォルトの名無しさん:2006/07/25(火) 21:56:49
>>746
#include <stdio.h>

int main()
{
    const char *filename="yyy.txt";

    int count[26]={0}, i;
    char ch;
    char max_index=-1, max_value=0;

    FILE *fp;

    if ((fp=fopen(filename, "r"))==NULL)
        return 1;

    while( (ch=fgetc(fp)) != EOF)
    {
        if (ch>='a' && ch<='z')
        {
            count[ch-0x60]++;
        }
        else if (ch>='A' && ch<='Z')
        {
            count[ch-0x40]++;
        }
    }
759デフォルトの名無しさん:2006/07/25(火) 21:57:24
>>758
    for (i=0 ; i<26 ; i++)
    {
        if (count[i]>max_value)
        {
            max_index=i;
            max_value=count[i];
        }
    }

    if (max_index == -1)
        printf("アルファベットはありませんでした\n");
    else
        printf("最も頻度の大きいアルファベットは%cでその出現回数は%d回でした\n", max_index+0x60, max_value);

    fclose(fp);

    return 0;
}
760デフォルトの名無しさん:2006/07/25(火) 21:58:13
[1] プロセス制御
[2] Linuxでは、多重アドレス空間(多重仮想記憶)を採用しており、 プロセスごとに別々の仮想アドレス空間を利用している。 以下のような手順でこれを確認しなさい。

・二つのプロセスで、同じ番地に別々のデータが記録されている
・二つのプロセスのうち、片方のプロセスである番地にデータを書込んでも、 もう一方のプロセスの同じ番地には変化がない

なお、特定の番地のデータを調べたり、その番地にデータを書込んだりするには、 C言語ではポインタを利用する。
[3] 環境
 [3.1] OS: Linux
 [3.2]
 [3.3] 言語: C
[4] 期限:週末
[5] その他の制限:

761デフォルトの名無しさん:2006/07/25(火) 21:59:23
>>748
#include <iostream>
#include <iomanip.h>
using namespace std;

int main(){
int n;

cout << "Input n : ";
cin >> n;

if (n <= 0 || n >= 10){
cout << "Good bye" << endl;
} else {
cout << " ";
for (int i = 1; i <= n; i++) cout << setw(3) << i ;
cout << endl;
for (int i = 1; i <= n; i++){
cout << i;
for (int j = 1; j <= n; j++) cout << setw(3) << i * j;
cout << endl;
}
}
return 0;
}
762デフォルトの名無しさん:2006/07/25(火) 22:32:18
>>757
>>758
ありがとうございました。
763 ◆WD/2o.3Vnw :2006/07/25(火) 22:42:09
>>731です、遅くなってすいません、先生に祝日の定義を聞きました…
年によって変わるのは
成人の日(2000年からは1月の第2土曜日・それ以前は全て1月15日)
海の日(2003年から7月の第3月曜日・それ以前は全て7月20日)
体育の日(2000年から10月の第2月曜日・それ以前は全て10月10日)
天皇誕生日(1900〜1987年は4月29日
      1988〜2030年は12月23日、それ以前は無くて良し)
それ以外は今の祝日と全部一緒の日にちで。この程度でいいよ、だそうです…
一生懸命難しいことを考えてくださったみなさま申し訳ないorz
じゃあなんで1800年からなんですかって聞いたら
深く考えずに適当作っちゃった、この授業でそんな難しい課題
だすわけないだろと…言われました。
いろいろ考えてくれた皆様ほんとにごめんなさい…
授業時にちゃんときいておくべきでした…
764デフォルトの名無しさん:2006/07/25(火) 22:44:07
>>763
と、それを見る前にうpしてしまった。
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2462.zip
765デフォルトの名無しさん:2006/07/25(火) 22:49:20
>>760
わかんないけど Segmentation Fault とか Bus Error とか出ないことを保証するやりかたって
あるのかねえ?
766デフォルトの名無しさん:2006/07/25(火) 23:08:06
お願いします
[1] 授業単元:計算機演習
[2] 問題文(含コード&リンク)

50文字以内の文字列をキーボードから入力させると,
その文字列中に"ok"という部分文字列が含まれている場合は,"Yes"
含まれていない場合は,"No" と出力するプログラムを作成せよ。
ただし,"Yes" の場合はその出現回数も出力すること.

[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 今週の金曜日
[5] その他の制限: なし
767デフォルトの名無しさん:2006/07/25(火) 23:09:49
>>763
おい、勝手に天皇を97才で殺すなよ。
768デフォルトの名無しさん:2006/07/25(火) 23:14:00
>>766
#include<stdio.h>
#include<string.h>
int main(){
    char buf[51],*p=buf,*q;
    int count = 0;
    gets(buf);
    while((q=strstr(p,"ok")) != NULL)
        p=q+2,++count;
    printf(count?"Yes %d":"No",count);
    return 0;
}
769765:2006/07/25(火) 23:15:01
バグだ改定。正直面倒になってきたお。
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2463.zip
770764:2006/07/25(火) 23:17:23
すまそ。上764な。>>731のつづき。
765もおれだけど。。765はファイルスコープの変数つくってそれにアクセスしたら .data だか .sdata だかに
領域確保されるから複数プロセスで同一アドレスが保証されそうな希ガス。
771デフォルトの名無しさん:2006/07/25(火) 23:22:03
連投すまん。fork()しろってことかもだ。
772デフォルトの名無しさん:2006/07/25(火) 23:29:44
>>761
ありがとうございました
773デフォルトの名無しさん:2006/07/26(水) 00:10:24
>>760
>・二つのプロセスで、同じ番地に別々のデータが記録されている
すまん、試してみたがこれを実現できねえorz
774デフォルトの名無しさん:2006/07/26(水) 00:12:45
[1] 授業単元:情報
[2] 問題文(含コード&リンク):

課題1
次の仕様を満たすプログラムをC言語を用いて作成せよ:
・入力: 整数a、d、自然数n
・出力: 初項a、公差dの等差数列の初項から第nまでを全て

課題2
次の仕様を満たすプログラムをC言語を用いて作成せよ:
・入力: 非負整数を有限個(初めて負の数が入力された時点で打ち切り、その直前までの数を使う)
・出力: 入力された数の中にある偶数の個数と奇数の個数

課題3
・入力: 自然数n≧2
・出力: 入力された0,1,2…n-1の中でnと互いに素なものの個数
なお、mとnが互いに素であるとは、それらの最大公約数が1であることを言う。

[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン:Bcc5.5
 [3.3] 言語:C
[4] 期限:明日 17:00
[5] その他の制限: なし

宜しくお願いします。
775デフォルトの名無しさん:2006/07/26(水) 00:27:54
>>773
これでいいんじゃね?
#include <stdio.h>
#include <string.h>
int main(int argc, char **argv){
char buf[256] = {0};
strcpy(buf, argv[1]);
for(;;){
printf("%p : %s\n", buf, buf);
sleep(1);
}
return 0;
}
上をコンパイルして、ターミナル二つひらいて、片方で

./a.out aaaaa

もう片方で、

./a.out bbbbbb


とかやれば。保証はないけど、上のbufのアドレスは、、あず一致する。
776デフォルトの名無しさん:2006/07/26(水) 00:29:08
× あず一致する。
○ まず一致する。
777デフォルトの名無しさん:2006/07/26(水) 00:30:45
つーか、バッファ取らなくても、argv[0] のアドレスが同じだろうな。
778760:2006/07/26(水) 00:32:13
>765
>769
>773
ご協力感謝します!

mmap()とかは関係ないですかね?

もうホントC苦手
助けて下され…
779765:2006/07/26(水) 00:33:33
>775
感謝!試してみます!
780779:2006/07/26(水) 00:34:39

>779は>760です、失礼しました
781デフォルトの名無しさん:2006/07/26(水) 00:57:06
c:16:8: warning: unknown escape sequence: '\211'

エラーが出てしまうのですが、、 なんなのでしょう、、 たすけてください
782デフォルトの名無しさん:2006/07/26(水) 00:58:58
これですべての要求を満たしたはず。
pidは同じ番地で異なる値が入る。fork()の仕様だけど。
valは子プロセスが値を書き換えたあと、親プロセスで表示しても値変化なし。

#include <stdio.h>
#include <unistd.h>
int main(void){
int pid;
int val = 0;
pid = fork();
if (pid == 0) {
printf("child: pid:%08x=%d\n", &pid, pid);
val = 1;
printf("child: val:%08x=%d\n", &val, val);
} else {
printf("parent: pid:%08x=%d\n", &pid, pid);
wait(NULL);
printf("parent: val:%08x=%d\n", &val, val);
}
return 0;
}
783760:2006/07/26(水) 01:03:54
セグメンテーション違反…
784デフォルトの名無しさん:2006/07/26(水) 01:07:36
おちけつ。コマンドライン引数を与えるんだ。
785デフォルトの名無しさん:2006/07/26(水) 01:22:49
正の整数n から1,3,5,…と順に奇数を引けるだけ引いた時、引けた奇数の個数が√n の整数部分になる。
このようにして、√n の整数部分を求める方法を女の子(めのこ) 平方という。
正の整数n を読み込み、女の子平方によって√n の整数部分を求めるプログラムを作りなさい。
main() {
int n, x, f;

n=200;
x=n;

for (f=1; f<0 ; f++) {
x = x-((f*2)-1);
if (x < 0) { break; }
}

f--;
printf("√%dの整数部分は%d。", n, f);
}


これで√200の整数部分が0になってしまうんですがなぜでしょう?

救って下さい。期日今日
786760:2006/07/26(水) 01:31:42
皆に感謝。・゚・(ノ∀`)・゚・。
賢人たちよ、ありがとう
787デフォルトの名無しさん:2006/07/26(水) 01:32:03
f<0ってループに入らないけど
788デフォルトの名無しさん:2006/07/26(水) 01:34:26 BE:46584083-2BP
>>763
そのクソ教師の名前を晒したら教えてやる。

>天皇誕生日(1900〜1987年は4月29日

ありえねえ。
789デフォルトの名無しさん:2006/07/26(水) 01:34:30
>>785
とりあえず、>>1も読めないほど焦っているのはわかった。
790デフォルトの名無しさん:2006/07/26(水) 01:34:37
f>0
791デフォルトの名無しさん:2006/07/26(水) 01:36:03
>>774
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2464.txt
まちがっててもしらないんだぜ?
792デフォルトの名無しさん:2006/07/26(水) 01:36:54
同じ授業だ>785
オネガイ一問目の答えも教えて(;;)
793785:2006/07/26(水) 01:39:14
>>787
14と表示されました。
本当にありがとうございましたー!
794デフォルトの名無しさん:2006/07/26(水) 01:42:11
おまえら必死すぎて微笑ましいな。
795785:2006/07/26(水) 01:58:24
>>792
まず、おつりを10000で割る。→福沢先生の枚数
tmpには余りをぶちこんどく。
次はその余りを5000で割る。→5000円札の枚数
tmpにはその余りを。
今度はその余りを1000でry

これを5円玉まで繰り返せば最後に余ったのが自動的に1円玉の枚数だ

ぽまえもK大学でおk?
俺へぼだからあんまあてにすんな
796デフォルトの名無しさん:2006/07/26(水) 02:19:59
>>795
アリガトンクス^^できたぽ

そだよ、あのTAの人絶対小さいころガリガリ君って呼ばれてたよねww

と内輪ねたスマソ
みなさんと795サンにとても助けられました。
賢人たちよ、ありがとう
797デフォルトの名無しさん:2006/07/26(水) 02:31:30
>>791
有難うございます!助かりました〜。
でも課題3が
不要な}
ってエラーが出てしまうんですが、何処が不要なのか分かりません…

解いてもらった上にこんなこと言ってご迷惑かけますが、修正お願いできませんか?
よろしくお願いしますっ(^-^)
798デフォルトの名無しさん:2006/07/26(水) 02:37:44
>>797
うちじゃエラーでないのでなんともいえん。つづきでうpしたらみないこともないが。
ちなみに提出時は課題1,2,3で別々のプログラムにわけたほうがいいお。
799デフォルトの名無しさん:2006/07/26(水) 03:12:32
>>753
#include <stdio.h>
#include <math.h>
#define PI 3.1415926535897932
#define CLEAR() printf("\x1b[2J")
#define LOCATE(x,y) printf("\x1b[%d;%dH",y,x)
#define SCREEN_H 80
#define SCREEN_V 80
int input_decimal(int min, int max) {
char buf[1024]; int n;
for (;;) {fprintf(stderr, "Type an number between %d and %d.\n", min, max);
if (fgets(buf, sizeof (buf), stdin) == NULL) continue;
n = atoi(buf);if (n >= min && n <= max) break;
}
return n;
}
void circle(int n) {
double r = n/2.0;
double step = PI*2/180;
double d, x, y;
CLEAR();
for (d = 0; d < PI*2; d += step) {
x = cos(d) * r; y = sin(d) * r;
LOCATE(SCREEN_H/2+(int)(x+.5), (SCREEN_V/2+(int)(y+.5))/2);
putchar('#');
}
fflush(stdout);
}
int main(void) { int n = input_decimal(2, 79); circle(n); }
800デフォルトの名無しさん:2006/07/26(水) 03:42:16
>>729
#include <stdio.h>
void quad(double a, double b, double c)
{
double d = b*b-4*a*c;

printf("a = %5.2lf, b = %5.2lf, c = %4.2lf\n", a, b, c);
if (d > 0) {
printf("実数解 : x1 = %5.2lf, x2 = %5.2lf\n",
(-b+sqrt(d))/(2*a),
(-b-sqrt(d))/(2*a)
);
} else if (d == 0) {
printf("重解 : x = %5.2lf\n", -b/(2*a));
} else {
printf("虚数解 : 実数部 = %5.2lf, 虚数部 = %5.2lf\n",
-b/(2*a), sqrt(-d)/(2*a));
}
}
int main(void)
{
double a,b,c;
puts("2次方程式の3つの係数を入力してください");
while (scanf("%lf %lf %lf", &a, &b, &c) != EOF) {
if (a == 0) { puts("係数 a は 0 意外でなければなりません"); continue; }
quad(a, b, c);
}
return 0;
}
801デフォルトの名無しさん:2006/07/26(水) 06:50:34
>>800
どうでもいいけどヒントが馬鹿すぎ。
802デフォルトの名無しさん:2006/07/26(水) 06:53:49
>>801 >>794 >>789 >>784 >>742
おまいはこのスレに何しに来てんだと?ただの監視か?
803デフォルトの名無しさん:2006/07/26(水) 07:06:10
>>768
ありがとうございました
>>802
暇なときは回答もするが、忙しいと問題をさっと眺めるだけ。
>729の問題は、わざわざ画像だと言うから何かと思って見てみたのだ。
805デフォルトの名無しさん:2006/07/26(水) 10:09:22
助けてください、、急に変なエラーが出るようになった、、
こんなエラーです

$ gcc otsuri.c
/cygdrive/c/DOCUME~1/ADMINI~1/LOCALS~1/Temp/ccSCn32t.o:otsuri.c:(.text+0x288): u
ndefined reference to `_ptintf'
collect2: ld returned 1 exit status

問題は
(1) 品物の値段とお客の支払った金額を読み込んで、おつりが必要なときには、その額を貨幣の種類と枚
数で表示するプログラムを作りなさい。

806デフォルトの名無しさん:2006/07/26(水) 10:09:53
続き
作ったプログラムはこれです

#include <stdio.h>
main()
{
int price, pay,n;
printf("おつりを計算します、品物の値段を入力してください\n品物の値段=");
scanf("%d", &price);
printf("支払われた金額を入力してください\n支払われた額=");
scanf("%d", &pay);
n=pay-price;
if(n<0){
printf("お金が足りまひぇん");
}
else{
printf("10000円の数=%d",n/10000);
printf("5000円の数=%d",n%10000/5000);
printf("2000円の数=%d",n%5000/2000);
printf("1000円の数=%d",n%2000/1000);
printf("500円の数=%d",n%1000/500);
printf("100円の数=%d",n%500/100);
printf("50円の数=%d",n%100/50);
ptintf("10円の数=%d",n%50/10);
}
}

ヘルプミー^^;
807デフォルトの名無しさん:2006/07/26(水) 10:19:24
綴り間違いを直せ。どこかで"printf"じゃなく"ptintf"になってる。
808729:2006/07/26(水) 10:19:35
>>800
ありがとうございました。
>>804
わざわざ画像で上げてしまってすみません。
809デフォルトの名無しさん:2006/07/26(水) 10:25:03
>>807
出来た!!
ありがとう(;;)  今日提出なんです、ホントに助かりました、、
810デフォルトの名無しさん:2006/07/26(水) 11:02:03
誰かお願いしますヽ(´Д`;≡;´Д`)丿

[1] プロセス制御
[2][任意] mmap()を使うと、 複数のプロセス間で仮想アドレス空間の一部を共有することができる。 このようなプログラムを作成し、 実際に仮想アドレス空間の一部が共有されていることを確認しなさい。
[3] 環境
 [3.1] Linux
 [3.2] gcc 3.4
 [3.3] C
[4] 期限:週末
811デフォルトの名無しさん:2006/07/26(水) 11:46:06
>>760- と予想
812デフォルトの名無しさん:2006/07/26(水) 14:33:31
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク): サーバープログラムを作りエンゲル係数を求めよ (家計の消費支出と飲食費を入力しエンゲル係数を求める)
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
 [3.3] 言語:どちらでも可
[4] 期限: 2006年07月26日まで
[5] その他の制限: 特になし

どうか、よろしくお願いします。
813デフォルトの名無しさん:2006/07/26(水) 14:49:23
こりゃまた珍妙な。
814デフォルトの名無しさん:2006/07/26(水) 15:15:36
>>812
サーバープログラムってどんなやつ?
815デフォルトの名無しさん:2006/07/26(水) 16:04:41
>> 810 こんなんでいいのかな?匿名メモリマッピングで親子のプロセスが交互に値を増やすのを確認できます。
#include <stdio.h>
#include <sys/types.h>
#include <sys/mman.h>
#include <unistd.h>

int main(void)
{
pid_t pid;
int i;

int *mapped_ptr = (int *)mmap(NULL, /* start */
sizeof (int), /* length */
PROT_READ | PROT_WRITE, /* prot */
MAP_SHARED | MAP_ANONYMOUS, /* flags */
-1, /* fd */
0 /* offset */
);
if (mapped_ptr == MAP_FAILED) { perror("mmap"); return 1; }
*mapped_ptr = 0;
if ((pid = fork()) == -1) { perror("fork"); return 1; }
for (i = 0; i < 5; i ++) {
while ((*mapped_ptr&1) == (pid==0)) usleep(200000);
(*mapped_ptr) ++;
printf("%s: Incremented to %d.\n",
pid == 0 ? "Parent":"Child", *mapped_ptr);
}
if (pid != 0) wait(NULL);
munmap(mapped_ptr, sizeof (int));
return 0;
}
816デフォルトの名無しさん:2006/07/26(水) 16:07:15
うは
pid == 0 ? "Parent":"Child", *mapped_ptr);
これは
pid != 0 ? "Parent":"Child", *mapped_ptr);
のまちがいな。
817デフォルトの名無しさん:2006/07/26(水) 16:09:14
>>814
ホームページ上で入力された数値を計算してその結果を表示させる
みたいな感じのやつです
818デフォルトの名無しさん:2006/07/26(水) 16:13:13
CGIをCで作るってことか。正気とは思えんな。
819デフォルトの名無しさん:2006/07/26(水) 16:23:24
>>818
何か壮大な勘違いをしている予感
820デフォルトの名無しさん:2006/07/26(水) 16:29:08
Σ(゚Д゚;≡;゚д゚) え?
821デフォルトの名無しさん:2006/07/26(水) 16:34:39
ここはやはりエンゲル係数計算プロトコルの策定から始めるべきではないだろうか
822デフォルトの名無しさん:2006/07/26(水) 16:36:08
当然UTF8だよな?
823デフォルトの名無しさん:2006/07/26(水) 16:39:27
CGI作ったけど面白そうだからしばらく静観するw
824デフォルトの名無しさん:2006/07/26(水) 16:48:33
分散コンピューティング対応プロトコルでお願いします。
825デフォルトの名無しさん:2006/07/26(水) 17:03:10 BE:23292443-2BP
>>824
DCOMか?
826デフォルトの名無しさん:2006/07/26(水) 18:26:58
812はどんな流れででた課題なのかちゃんと説明したほうがいいよ。期限切れのようだが。
827812:2006/07/26(水) 18:57:27
先生に頼んで期限を2日のばしてもらいました。
この課題はオリジナルのWWWサーバの作成で、
TCPによるサーバプログラムを作成せよという課題でした。
828デフォルトの名無しさん:2006/07/26(水) 19:01:54
こっちともう1つ、どっち使えばええのん?(スレ。
829デフォルトの名無しさん:2006/07/26(水) 19:10:41
ココ山岡
830デフォルトの名無しさん:2006/07/26(水) 19:10:52
[1] 授業単元: 認識工学
[2] 問題文(含コード&リンク): ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2465.txt
[3] 環境
 [3.1] OS: Windows XP
 [3.2] コンパイラ名とバージョン: Borland C++ 5.5
 [3.3] 言語: C
[4] 期限: 2006/08/02
[5] また、です。技術不足で恥ずかしいのですが…。
831デフォルトの名無しさん:2006/07/26(水) 19:19:02
>(その筋の人は一つ抜き法と呼ぶそうです)
ワロタ
832デフォルトの名無しさん:2006/07/26(水) 20:07:06
>>812
#include <stdio.h>
#include <string.h>
#include <netdb.h>
#define PORT 8888
void httpserver(int fd) {
char buf[4096], *p;
int t = 0, f = 0;
FILE *fp = fdopen(fd, "r");
while (fgets(buf, sizeof (buf), fp) != NULL) {
if (buf[0] == '\r' || buf[0] == '\n') break;
if ((p = strstr(buf, "t=")) != NULL) t = atoi(p+2);
if ((p = strstr(buf, "f=")) != NULL) f = atoi(p+2);
}
if (t == 0) { p = "ERR\r\n"; send(fd, p, strlen(p), 0); }
else { sprintf(buf, "%d", 100 * f / t); send(fd, buf, strlen(buf), 0); }
close(fd);
}
int main(void) {
int sock;
struct sockaddr_in server;
int i = 1;
sock = socket(AF_INET , SOCK_STREAM , 0);
setsockopt(sock , SOL_SOCKET , SO_REUSEADDR , (char *)&i , sizeof(int));
server.sin_family = AF_INET;
server.sin_addr.s_addr = INADDR_ANY;
server.sin_port = htons(PORT);
if (bind(sock , (struct sockaddr *)&server , sizeof (server)) < 0) { perror("bind"); return 1; }
listen(sock , 5);
for (;;) httpserver(accept(sock, NULL, NULL));
return 0;
}
833デフォルトの名無しさん:2006/07/26(水) 20:12:16
改定。ちゃんと入力フォームを出すようにした。
頭でこれを追加。
#define FORM "<html><body><form>TOTAL<input type=text name=t><br>FOODS<input type=text name=f><input type=submit></body></html>"

if (t == 0) { p = "ERR\r\n"; send(fd, p, strlen(p), 0); } のかわりに
if (t == 0) { p = FORM; send(fd, p, strlen(FORM), 0); }
834デフォルトの名無しさん:2006/07/26(水) 20:22:21
>>832-833

ありがとうございます!
学校じゃないとできないんで、さっそく明日やってみます!
835デフォルトの名無しさん:2006/07/26(水) 20:29:20
>>834
お前何度もこのスレにお世話になってるだろ?
いい加減cygwin入れろよ。
家でプログラミングできない環境で、宿題なんかできるはずもないしw
836デフォルトの名無しさん:2006/07/26(水) 20:36:58
>>835
わかりました!
いつもありがとうございます!
837デフォルトの名無しさん:2006/07/26(水) 20:53:05
>>836
いや、答えてるのは複数人だから。今回は俺じゃねーし。
838デフォルトの名無しさん:2006/07/26(水) 21:12:26
>>837
いいんだよ。みんな「宿題スレの中の人」さ。
839デフォルトの名無しさん:2006/07/26(水) 22:07:59
>>830
(#^ω^)ビキビキ
難しくて最後まで読めなかったお
840デフォルトの名無しさん:2006/07/26(水) 22:11:06
[1] 授業単元: 卒業研究
[2] 問題文(含コード&リンク):下に記載
[3] 環境
 [3.1] OS: windows
 [3.2] コンパイラ名とバージョン VC 6.0等
 [3.3] 言語:どちらでも可(出来たらC++)
[4] 期限: 2006年08月01日まで
[5] その他の制限: 特になし


宿題というか、卒業研究なのですが
「ニューラルネットワークをバックプロパゲーション法(BP)で学習させて、
その学習させたネットワークを使って出力を出す」
というプログラムが作りたいです。

ttp://www.sist.ac.jp/~suganuma/cpp/3-bu/18-sho/18-sho.htm#e-18-4
ここにあるBP法は、VC++で動いたのですが、
このプログラムだと、学習のみで、テストをすることが出来ません。
学習させたネットワークを使って出力を出したいのですが・・・。

もう、藁にもすがる思いです。
よろしかったら、どなたかお分かりになる方、よろしくお願いします・・・。
841デフォルトの名無しさん:2006/07/26(水) 22:56:10
宿題ならとりあえず提出すればそれでいいだろうけどさ
卒研とか自分でやらないと意味ないんじゃ?
842デフォルトの名無しさん:2006/07/26(水) 22:58:23
>>841
まったくもって正論。
843810:2006/07/26(水) 23:07:19
>815-816
" ゚☆,。・:*:・゚★o(´▽`*)/♪Thanks♪\(*´▽`)o゚★,。・:*:・☆゚ "
844830:2006/07/26(水) 23:28:25
>>839
すみません…
単純化すればただ値を代入して左辺と右辺を比べるだけというものなんで、
文章の説明の仕方がへたくそなのが大きいと思います。
845デフォルトの名無しさん:2006/07/26(水) 23:33:52
>>844
というか何を識別したいのかさっぱりなんだお
識別器というからには何らかの基準で学習行うんだろけど、何の識別器かわからないんじゃ手の打ちようがないお
846830:2006/07/26(水) 23:48:56
長文になってしまったのでテキストにしました。
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2468.txt

正直分からない点もありまして…。
847デフォルトの名無しさん:2006/07/26(水) 23:53:26
>>846
だからどこがわからないのか
848デフォルトの名無しさん:2006/07/26(水) 23:54:38
>>846
何も考えずにSVMとかにしちゃっていいのかお?
線形識別可能とか非線形もとか何か言ってなかったかお?
849830:2006/07/27(木) 00:00:06
指示としては2通りの方法をプログラムにして、
誤識別率を推定せよ、ということだったので、おそらく何も考えずにやっちゃって構わないと思います。
線形識別可能や非線形といったことには触れていなかったはずです。

>>847
一番分からないのは出た値を最終的にどう判断すればいいのかが…
とりあえず左辺と右辺との値を算出して、それを元に何とか考えようかと思ったのですが…。
850デフォルトの名無しさん:2006/07/27(木) 00:10:15
学のある奴らは難しいことやってんだな
俺は高卒だから恥ずかしいわw
851830:2006/07/27(木) 00:12:37
この場における最も恥ずかしい存在が、
自力で解決できない私であることは間違いないですから…。
852デフォルトの名無しさん:2006/07/27(木) 00:13:17
Linuxとかプログラミングとか工作とかhogehoge
http://ex11.2ch.net/test/read.cgi/campus/1150542432/
853デフォルトの名無しさん:2006/07/27(木) 00:18:07
>>849
ごめんお、教師有学習と勘違いしてたお
一つ抜き法でぐぐっててきとーに理解したお
気分が向けば、てきとーな理解でてきとーなプログラム書くお
正直、その筋の人を呼んできたほうがいいと思うお
854830:2006/07/27(木) 00:22:53
とにかく気分が向いてくれるのを願ってます…ひたすら。
855デフォルトの名無しさん:2006/07/27(木) 01:40:38
>>830
識別器を設計する2つの方法の1つ目は、・・・
 最終的に全部の要素について判定するというものです。

もう1つの方法は、・・・
 全部の要素がテストサンプルになるまで繰り返すというものです。

日本語おかしいお
856830:2006/07/27(木) 08:35:20
1つ目の設計方法は与えられた2つのクラスの全要素(30個の8次元ベクトル)で共通のものを設計、
そこに一つ一つ代入して識別、
2つ目の設計方法は1要素を抜き出してそれ以外(29個)で設計、
そこにその抜き出した要素を代入して識別、
次に一度抜き出した要素とは別の要素を抜き出してそれ以外(29個)で設計、
そこに抜き出した要素を代入して識別…ということです。
すみません…。
857デフォルトの名無しさん:2006/07/27(木) 09:40:45
問題文は難しいけど、右辺とサ変を実装すればいいってことか?
858デフォルトの名無しさん:2006/07/27(木) 09:54:34
し し する する すれ しろ!
859デフォルトの名無しさん:2006/07/27(木) 10:24:09
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):下に記載
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:visual studio2003
 [3.3] 言語:C++
[4] 期限:明日の朝まで
[5] その他の制限:特になし

キーボードからの入力で指定されたファイルに書かれている数式を読み込み
数式を計算した結果を表示する。ただし、数式に含まれる可能性がある記号は
「0123456789*/+-()」のみ(すなわち整数と四則演算と括弧だけ)で256以内とする。
また、計算結果が整数とならない場合は浮動小数点で計算結果を表示する。

どなたかお願いしますつ-;)

860デフォルトの名無しさん:2006/07/27(木) 10:28:19
最近の宿題って内容の割に期限が短くないか?
861デフォルトの名無しさん:2006/07/27(木) 10:31:25
多重括弧があるとものすごく面倒だな
862デフォルトの名無しさん:2006/07/27(木) 10:34:23
すみません。
一週間以上前に出た課題なのですが自力でやるつもりが、、、
結局できなくて、ぎりぎりに助けを求める感じになってしまいました。
_| ̄|●
863デフォルトの名無しさん:2006/07/27(木) 10:49:16
>>860

ヒント:夏休み前
864デフォルトの名無しさん:2006/07/27(木) 10:54:39
中置記法から後置記法に変換して計算って方法なら過去スレにあるのを組み合わせてできるかもわからんね
865デフォルトの名無しさん:2006/07/27(木) 11:17:58
>>859
http://fxp.hp.infoseek.co.jp/arti/parser.html
これを計算の結果をdoubleで持つようにして、式をファイルから読み込むように改造すれば
なんとかなるんじゃないの?
866デフォルトの名無しさん:2006/07/27(木) 11:41:10
>>862
で、自力でどこまでやったの?
逆ポーランド記法とかそのパージングとか直接法とかはやってみたの?
やるつもりが、、、ということはやってないんだろ?氏ねばいいよ。
867orz:2006/07/27(木) 11:46:11
[1]授業単元;レポート
[2]問題文(含コード&リンク)西暦と月を入力し、その月のカレンダーを出力してください。
 曜日は「月、火、水、木、金、土、日、月、火、水・・・」と周期的に繰り返されます。もしある月の一日が月曜日なら
 、次の月曜日は八日、その次の月曜日は十五日と七日ずつ違ってくる。つまり一日が日曜日である月のday日が何曜日であるかはdayを七で
 割った余りを計算することでわかる。例えば十八日の場合七で割った余りが四なので木曜日になります。
プログラムの構成:西暦yearと月monthを入力します。
         西暦year年month月一日が何日目(days)かを計算します。
         daysを七で割った余りに応じて空白を出力し、その後1,2,3...と出力します。このとき七つのデータを出力するごとに改行して頂ければ.....
[3]環境:C言語です
[4]お願いします。スルーしないでください。助けてくださいorz
配列までしかならっていません。関数はまだ習っていないです。
期限:7月31日です。お願いします。
868デフォルトの名無しさん:2006/07/27(木) 11:58:38
>>866
お主はこのスレに向いてないと思うでござる。
869デフォルトの名無しさん:2006/07/27(木) 12:09:04
>>867
説明の意味が分からない。。。
その月の一日の曜日が分かれば、あとはなんにも計算する必要はないと思うが。
870デフォルトの名無しさん:2006/07/27(木) 12:26:24
>>867
その月の1日の曜日を計算しなくてはいけないのが非常に面倒
871デフォルトの名無しさん:2006/07/27(木) 12:29:42
>>870
mktime()で、年月日から時間を作って、localtimeで、struct tmに戻せば、
曜日もセットされてるんじゃない?
872デフォルトの名無しさん:2006/07/27(木) 12:30:32
if(k - 1) puts("OK"); else puts("NG"); であるとき,どういう場合に NG と印字されるか説明せよ.

char s[] = "foo"; と,char *p = "bar"; の二つの初期化の違いを述べよ.

call by reference と関数の引数との関係を説明せよ.

s *= (x > y) ? a : b; を if 文を用いて書き直せ.

k = 0; while (k < 100){ k++; } を,永久ループを用いて書き直せ.

整数変数 a, b にそれぞれ 3 が代入されているとき, c = a--; と d = ++b; によって,整数変数 a, b, c, および d には何が代入されるか述べよ.

静的変数と自動変数の違いについて述べよ.

'z' と "z" のそれぞれの違いを述べ,占有するメモリのサイズを答えよ.

すいません 教えてください
873デフォルトの名無しさん:2006/07/27(木) 12:32:04
>>867
というかマルチじゃないか?
874デフォルトの名無しさん:2006/07/27(木) 12:33:51
>>872
>>1読んでテンプレ使え
875デフォルトの名無しさん:2006/07/27(木) 12:33:52
>>871
それだ!
876デフォルトの名無しさん:2006/07/27(木) 12:55:17
[1] 授業単元: Cプログラミング
[2] 問題文
if(k - 1) puts("OK"); else puts("NG"); であるとき,どういう場合に NG と印字されるか説明せよ

 call by reference  と call by reference について両者の違いを述べよ

 k = 0; while (k < 100){ k++; } を,永久ループを用いて書き直せ

 静的変数と自動変数の違いについて述べよ.

 double型のポインタ変数と int型のポインタ変数 は,それら自身のサイズについて,どちらがどれだけ大きいか述べよ

 次の記述において,誤り3を下線で示し,どこが悪いかを説明して,正しいコードに直せ.
double x = 1 / 3;
int k = 3, x[k];
char x[9] = "hoge hoge";
char *p[10] = "test";
char *s = "foo"; *s = 'a';

[3] 環境
 [3.1] Linux
 [3.3] 言語: C
[4] 期限: 14:35からテストです。

お願いします。
877笹井奈琴:2006/07/27(木) 12:56:41
>>859
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2469.cpp
できたー!割と大変だった。

1. ファイル読み込み部分は自分でやってね。
2. ちゃんとしたテストは実施してないので
 細かいバグとか、メモリリークとかあるかも。
878笹井奈琴:2006/07/27(木) 13:06:38
>>876
double x = (double)1/(double)3; // これは間違いなのか?微妙
int k =3, x[3];
char x[] = "hoge hoge"; // intの配列のxと、名前がかぶってるのは無視
char *p = "test"; // char p[] = "test"; or char *p[10] = { "test" }; どれが正しいのか微妙
char s[] = "foo"; s[0] = 'a'; //たぶんこういうこと?
879デフォルトの名無しさん:2006/07/27(木) 13:10:52 BE:122283779-2BP(200)
>>876
(k-1)が否零のとき。
どう見ても同じです。本当にあ(ry
k=0;while(1)if(++k>100)break;
どう見ても同じです。本当にあ(ry
どう見ても誤りが4カ所ある。目的不明なのでどう直せばいいのかも不明。
880笹井奈琴:2006/07/27(木) 13:13:54
>>876
うえにもあったのか、
■NGと印字される時
k-1が0のとき
( kが1(か、1にきわめて近い時) )

■call by valueのまちがい?
call by reference : オブジェクトそのもの(へのポインタ)をわたす
call by value : オブジェクトのコピーを渡す

■永久ループ
for( k=0;;k++ ) if( 100 <= k ) break;

■静的変数と自動変数(自信ないけど、この回答だと、少なくとも△くらいはもらえると思う)
動的変数は制御がブロック内にあるときだけ有効、制御がブロックから外れるとなくなる
静的変数は、プログラム実行中はずっとある。

■double型のポインタとint型のポインタ
ポインタの大きさは一緒
( これって規格で補償されてるんだっけか?)

881笹井奈琴:2006/07/27(木) 13:15:25
結論
問題には番号を付けろ!回答しにくいっ!!
882デフォルトの名無しさん:2006/07/27(木) 13:18:06
「1」double x = 1 / 3;

「2」int k = 3, x[k];

「3」char x[9] = "hoge hoge";

「4」char *p[10] = "test";

「5」char *s = "foo"; *s = 'a';

わかりづらくて、すいません  5個問題があってそれぞれの間違いを示す問題です。
883デフォルトの名無しさん:2006/07/27(木) 13:18:07
>>867
カレンダー状に出力するのが面倒だからあきらめていいかな
884デフォルトの名無しさん:2006/07/27(木) 13:18:24
まあ、冷たいカルピスでも飲んで落ち着けや
885help ◆g/ZMVdytmo :2006/07/27(木) 13:19:22
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
問1、整数型変数iにすでに1以上5以下の値が読み込まれているものとする。
switch分を用いて、iの値が5ならfive、4ならfour、3ならthree、2ならtwo、1ならoneと印刷するプログラムの一部を答えなさい。

問2、上と同じ問題で、iの値が例えば5ならfive four three two one、3ならthree two one と、カウントダウンしていくように印刷するには、(a)の回答の何処をどのように変えたらよいか?
(変数部分だけを答えればよい)

[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 2006/07/27 PM2:30まで
[5] その他の制限: 特になし
886デフォルトの名無しさん:2006/07/27(木) 13:20:28
>>876
答えられる場所だけ。
k=0;while(true){k++;if(!(k<100))break;}
http://www9.plala.or.jp/sgwr-t/c/sec12.html 参考ページ

間違い直しは、
double x = 1.0/3;
char x[10] = "hoge hoge";
先生的にはこういう回答を求めてる?
887デフォルトの名無しさん:2006/07/27(木) 13:22:44
>>884
カルピスねえ
精子のむおwwwwwwwwwwwwwww
888デフォルトの名無しさん:2006/07/27(木) 13:23:12
>>867
既出のモノ
あとは題意にそって改造して
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2285.txt
889笹井奈琴:2006/07/27(木) 13:24:06
>885
■一部?
switch(i) {
case 5: printf("five"); break;
case 4: printf("four"); break;
case 3: printf("three"); break;
case 2: printf("two"); break;
case 1: printf("one"); break;
}

■変数??
案1:printfのパラメータを"five four three two one"とかにかえる
案2:breakをとっぱらう
案3:swichのまえにfor( ; 0 < i; i-- ) を置く
890help ◆g/ZMVdytmo :2006/07/27(木) 13:28:41
>>889
ごめんなさい。
メインプログラムのことです。
891help ◆g/ZMVdytmo :2006/07/27(木) 13:30:39
>>889
変数部分ではなくて変更部分でした
何度もすいません
892笹井奈琴:2006/07/27(木) 13:35:25
>>890,891
まあ、>>889のまま提出してもOKとおもう。
問2の方は、どれか一つに絞った方がいいかな。案3がおすすめ
893デフォルトの名無しさん:2006/07/27(木) 13:37:51
switch文の勉強なんだろうから、案2の方がいいと思うが・・・
894笹井奈琴:2006/07/27(木) 13:40:04
>>893
じゃあ、案2で
895笹井奈琴:2006/07/27(木) 13:49:51
>>877
自分で見直してみたが無様なコードだな...
896help ◆g/ZMVdytmo :2006/07/27(木) 13:54:48
>>892
どうもありがとうございます。
もうひとつ如何しても分からないのがあるのでお願いしたいのですが…

[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
問1、float型の配列要素a[0]〜a[n-1]のあいだの最大値maxと、最小値minを求めて返すvoid型の関数max_minのプロトタイプ宣言を書きなさい。
問2、関数max_minの呼び出しの例を1つ書きなさい。
問3、ダミー要素付き(headerという名の構造体変数)の連結リストによって実現されたスタック(空でないと仮定する)に、関数mallocで確保され、ポインタnewで指されている新しい要素を積む(pushする)ために必要なポインタの付け替えをC言語で書きなさい。
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 2006/07/27 PM2:30まで

何度もすいません。
897hetare ◆NPjWSW9EXI :2006/07/27(木) 14:03:21
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):
ある消費者金融で、gankin円を月利riritsu%の福利で借りた。毎月hensai円ずつ返していくものとする。
gankin(int型), riritsu(float型), hensai(int型) の3つの数値を入力して、返済額合計goukeiを求めて出力するプログラムを作ったら、その一部は次のようになった。
while, if の中、gankin, goukei の後の部分を埋めよ。
[3] 環境
 [3.1] OS:Vine Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 2006/07/27 PM2:40まで


898笹井奈琴:2006/07/27(木) 14:06:23
>>896
それ、ホントに問題全文?
なんか条件がよくわかんない。
不明な点は脳内で補完したけど...文句言わないでよ

問1:
void max_min( const float* a, int n, int* max, int* min );

問2:
#define SIZE 100
float array[SIZE] = { ... };
int x, y;
max_min( array, SIZE, &x, &y );

問3:
header -> next = new;
new -> prev = header;
new -> next = 0;
header = new;
こういうこと????
899hetare ◆NPjWSW9EXI :2006/07/27(木) 14:06:59
プログラムを忘れていました。

goukei = 0;
while(){
gankin = gankin*(1+riritsu*0.01); /* 円未満は切り捨て */
if(){{
goukei += hensai;
gankin ;
}
else{
goukei ;
gankin = 0;
}
}
900help ◆g/ZMVdytmo :2006/07/27(木) 14:09:28
>>898
はい、これが全文なんです…
笹井奈琴さんを信じます!
901デフォルトの名無しさん:2006/07/27(木) 14:12:00
>>898
floatの配列の最大値と最小値をintで受けてどうする。
おまけに、変数名xだとかyだとかって、何考えてるんだ?
902デフォルトの名無しさん:2006/07/27(木) 14:14:26
>>899
>gankin円を月利riritsu%の福利で借りた。
問題を書いた香具師が間抜けなのか書き写した香具師が阿呆なのかどっちだ?
903笹井奈琴:2006/07/27(木) 14:15:09
>>901
ああ、値そのものを返すのか。
( インデックスを返すつもりになってた )

xとかyとかは、まあ...「仮引数と実引数の区別ついてますよ!」ってアピールwww

>>900
問1:
void max_min( const float* a, int n, float& max, float& min );
で、
問2:は、int x, y;をfloat x, y;になおす。
904デフォルトの名無しさん:2006/07/27(木) 14:17:24
905デフォルトの名無しさん:2006/07/27(木) 14:17:41
goukei = 0; 
while(gankin>0){ 
 gankin = gankin*(1+riritsu*0.01); /* 円未満は切り捨て */ 

 if(gankin>hensai){ 
  goukei += hensai; 
  gankin -=hensai; 
 }else{ 
  goukei += gankin; 
  gankin = 0; 
 } 

906デフォルトの名無しさん:2006/07/27(木) 14:18:08
>>903
落ち着け。問題の言語指定はCだ。
907hetare ◆NPjWSW9EXI :2006/07/27(木) 14:18:47
>>902
福利→複利でしたね
写し間違えました…orz
908hetare ◆NPjWSW9EXI :2006/07/27(木) 14:21:45
>>905
本当にどうもありがとうございます!
909デフォルトの名無しさん :2006/07/27(木) 14:23:28
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):
  (a)曜日を含む日付(年月日)を表すことのできる構造体date_tを定義しなさい。
ただし、曜日はSun,Mon....Satのいずれかで表すものとする
  (b)date_t型の変数dateを宣言し、その年は2006,月は7であることを仮定して、
    日と曜日が一致していればYesと、一致していなければNoと出力する部分を
    書きなさい。ただし、2006年7月1日は土曜日であった。
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 30分

意味がわかりません助けてくださいお願いします!
910笹井奈琴:2006/07/27(木) 14:27:51
>>906
ダメだこりゃ、俺。
911hetare ◆NPjWSW9EXI :2006/07/27(木) 14:30:26

[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):
  次に示す挿入ソートの内側の繰り返しに [j >= 1] という条件をAMDで加える必要がある理由を、どういう場合(例示でもよい)にそれが必要になるかも含めて述べなさい。

[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 2006/07/27 PM2:45までです

さっぱり分かりません。
ご教授お願いします。
912hetare ◆NPjWSW9EXI :2006/07/27(木) 14:34:06
プログラムです。

void insertion_sort( int a[], int a)
{
int i, j, t;
for(i = 1; i < n; i++){
j = i;
while( j >= 1 && a[j-1] > a[j] ){
t = a[j]; a[j] = a[j-1]; a[j-1] = t;
j--;
}
}
}
913hetare ◆NPjWSW9EXI :2006/07/27(木) 14:48:42
期限が15:00までに延長されました
さすがに時間が厳しいとでしょうけどお願いします
914デフォルトの名無しさん:2006/07/27(木) 15:03:17
【質問テンプレ】
[1] 授業単元:c言語プログラミング
[2] 問題文(含コード&リンク):
これまでに作成した3種類のソート
単純選択法、単純交換法、単純挿入法について、それぞれを関数化しなさい。
大きさ20の配列keyを用意し、キーボードから値を入力する。 この配列keyの要素を、昇順にソートする
各ソートの途中経過を画面に出力すること。 また、最後に各ソートの比較回数を画面に出力すること。
【ヒント】
キーボードから配列にデータを入力する関数 input_array
配列の内容を画面に出力する関数 output_array
単純選択法を行う関数 linear_sort
単純交換法を行う関数 bubble_sort
単純挿入法を行う関数 insertion_sort
メイン関数
[3] 環境
 [3.1] OS: xp
 [3.2] visual studio2003
 [3.3] 言語: C
[4] 期限: 今月末まで
[5] その他の制限:配列ループポインタソート関数
915デフォルトの名無しさん:2006/07/27(木) 15:03:40
j >= 1なんて不要なんじゃね?
i == 1から始まってるし。強いて言えば、配列がa[0]から始まっていると
いう事か。でもそれじゃ理由にならんね。C言語では当たり前だし。
916デフォルトの名無しさん:2006/07/27(木) 15:04:24
先頭に挿入する場合、それより前と比較するのを防ぐためじゃないか?
917デフォルトの名無しさん:2006/07/27(木) 15:14:24
[1]コンピューティングT
[2]10進の整数を入力し、これをn進(1<n<10)の整数に変換するプログラムを作れ。
   int を使う。
   例.10進整数92を7進数にする場合、94と7を入力すると163が出力されるようにする。
   ヒント.94を7進表記する場合
   94÷7=13…3なので、3を配列要素a[0]に代入する。
   次に、13÷7=1…6なので、6を配列要素a[1]に代入する。
   同様に、1÷7=0…1なので1を配列要素a[2]に代入する。
   このように商が0になるまで続け、配列要素を逆順に表示する。
[3]Windows
C++
[4]2006/7/31
[5]習った制御構造は if else for while だけです。
   return や break は習っていません。
   配列はほんのさわりだけ習いました。
   超初心者ですが、よろしくお願いします。
918デフォルトの名無しさん:2006/07/27(木) 15:28:30 BE:29115353-2BP(200)
>>896
>最大値maxと、最小値minを求めて返すvoid型の

ポカーン(AA略
919デフォルトの名無しさん:2006/07/27(木) 15:33:31 BE:15528724-2BP(200)
>>917
#include<stdio.h>
#include<stdlib.h>
int main(void){char tmp[100];int i,n;printf("10進整数:");fgets(tmp,sizeof(tmp),stdin);
i=atoi(tmp);printf("(1<n<10):");fgets(tmp,sizeof(tmp),stdin);n=atoi(tmp);
printf("%s\n",itoa(i,n));return 0;}
920デフォルトの名無しさん:2006/07/27(木) 15:34:38 BE:52406993-2BP(200)
>>919
最後の行訂正。
itoa(i,tmp,n);printf("%s\n",tmp);return 0;}
921デフォルトの名無しさん:2006/07/27(木) 15:42:22
>>917
#include<stdio.h>
int main(){int a[256],x,n,i=0;
scanf("%d",&x);scanf("%d",&n);
if(n<1||10<n)return 1;
while(x>=n){a[i]=x%n;x/=n;i++;}
a[i]=x;while(i>=0){printf("%d",a[i]);i--;}
return 0;}
922デフォルトの名無しさん:2006/07/27(木) 16:01:27
なんか急に宿題出すぎてどれが解決したのかしてないのかもうわからない
923917:2006/07/27(木) 16:01:27
>>921
>>919
すごく早いレス、本当にありがとうございます。
確かに作動できました。
できれば return を使わないでやりたいのですが、それは可能ですか?
習ったものだけで出来ると先生は仰っていたので。
924デフォルトの名無しさん:2006/07/27(木) 16:05:01
まとめサイトがあればいいんじゃない?
wikiとか
925デフォルトの名無しさん:2006/07/27(木) 16:06:48
>>923
#include<stdio.h>
main(){int a[256],x,n,i=0;
scanf("%d",&x);scanf("%d",&n);
if(1<n&&n<10){
while(x>=n){a[i]=x%n;x/=n;i++;}a[i]=x;
while(i>=0){printf("%d",a[i]);i--;}}}
926デフォルトの名無しさん:2006/07/27(木) 16:09:55
>>924
はい、言い出しっぺの君がやることに決定
927デフォルトの名無しさん:2006/07/27(木) 16:20:08 BE:124224588-2BP(200)
>>923
>できれば return を使わないでやりたいのですが、それは可能ですか?

mainは値を返さなければならない。
928917:2006/07/27(木) 16:22:24
>>925
本当に早いですね。助かりました。
ありがとうございました。
929デフォルトの名無しさん:2006/07/27(木) 17:18:14
>>922
未解決と思わしき課題を全部拾い上げて来い。
お前がだ。
930830:2006/07/27(木) 20:29:33
>>857
そうしていただけると、兎にも角にも次のステップに進めるので、
そうしていただけると極めてありがたいです。
931デフォルトの名無しさん:2006/07/27(木) 21:30:06
>>914 お願いします
932デフォルトの名無しさん:2006/07/27(木) 22:15:52
>>931
『これまでに作成した3種類のソート 』を晒せ
933デフォルトの名無しさん:2006/07/27(木) 22:25:06
よろしくおねがいします

[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):

@ファイルから40個の数値を読み込み,
バブルソートによって数値を降順に並べ替えるプログラムを作成し,
23番目に大きい数を出力するプログラム
○○○.dat を入力データとして使用すること

Aポインタを用いてswap関数を定義し、
数値を降順に並べ替えるクイックソートを実行し、
8番目に大きい数値を出力するプログラム
○○○.dat を入力データとして使用すること

[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 明日まで
[5] その他の制限:特になし
934デフォルトの名無しさん:2006/07/27(木) 22:41:49

 以降、ソートの宿題禁止で。
935デフォルトの名無しさん:2006/07/27(木) 22:45:45
>>830
識別器の式は与えられてるものなのかお?
(たぶん)事後確率が最大で出てくるクラスと判別するんだと思うんだが
これだと何を指標に判別すればよいのやら
右辺>左辺の場合どっちのクラスで、左辺>右辺の場合どっちなのかも書いておくれ
936830:2006/07/27(木) 23:16:55
右辺<左辺 → x∈A1
右辺>左辺 → x∈A2

とあります。
書くのを省いてしまってすみません。
937デフォルトの名無しさん:2006/07/28(金) 00:30:45
>>932

>>914のプログラムです。
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2472.txt

途中まで自力でやりました。
あとは単純挿入法を付け加えれば完成です…。よろしくお願いします
938デフォルトの名無しさん:2006/07/28(金) 00:34:19
>>937です。

単純挿入法のプログラムの方はソートとしてはできあがっているのですが、かなり修正が必要です
そこで挫折してしまいました
939デフォルトの名無しさん:2006/07/28(金) 00:51:30
そこまで自分でやれるなら最後までやったらどうだ?
940デフォルトの名無しさん:2006/07/28(金) 01:37:56
>>938
比較回数だからlinear_sortのcoutの位置が違う

for(j=i+1; j<SIZE; j++)
{
if(p[k] > p[j])
k = j;
count++;
}

tmp=p[i];
p[i]=p[k];
p[k]=tmp;
for(j=0;j<SIZE;j++)
printf("%d ",p[j]);
941デフォルトの名無しさん:2006/07/28(金) 01:43:16
↑はcoutじゃなくてcountね
942ど素人:2006/07/28(金) 02:12:37
前期の追試です。この2問に単位がかかっています。ぜひ、お願いします。
2.通常プログラムカウンタはプログラムの実行にしたがって一定の大きさだけ増えていく.
しかし,時に,プログラムカウンタに直前の値とは大きく異なる値がセットされる
時がある.それはどんな時か?

3.次のプログラムは何を行うプログラムか.簡単に説明しなさい.また,
結果を得るまでに,A[k]==aの比較が行われた回数を書きなさい.

A=new Array(3, 8, 19, 20, 22, 24, 45);
i=0;
j=A.length-1;
a=19;
k=Math.floor((i+j)/2);
while(i<=j){
if(A[k] == a){
break;
}
else if(A[k] > a){
j = k - 1;
}
else{
i = k + 1;
}
k = Math.floor((i+j)/2);
}
if(i>j) k=-1;
document.write(a," ",k);
943デフォルトの名無しさん:2006/07/28(金) 02:13:22
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):

ある整数をキーボードから入力したとき
整数を引数として,その整数が素数ならば 1 を値として返し,
素数でないならば 0 を値として返す関数に書き換えなさい.

その関数を用いて,
ある整数をキーボードから入力すると1からその整数までの素数の数を出力するプログラムを作成しなさい

[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 今日
おねがいします
944デフォルトの名無しさん:2006/07/28(金) 02:15:59
>>942
マルチ&板違い
死ね
945デフォルトの名無しさん:2006/07/28(金) 02:28:25
>>943
#include<stdio.h>
int sosu(int n){int i;
if(n<2)return 0;
for(i = 2; i < n; i++)
if(n % i == 0) return 0;
return 1;}
int main(){int n,i;
scanf("%d",&n);
for(i=1;i<=n;i++)
if(sosu(i))printf("%d ",i);
return 0;}
946デフォルトの名無しさん:2006/07/28(金) 02:34:09
2.割り込み、割り込みから復帰、ジャンプ、故障、電源投入、パルプンテ
947デフォルトの名無しさん:2006/07/28(金) 03:00:05
>>942
これないと動かないと講師に注意しとけ
#include <iostream>
using namespace std;
class Array {
private:
int array[8];
public:
Array() {}
Array(int a, int b = -1, int c = -1, int d = -1,int e = -1, int f = -1, int g = -1, int h = -1) {
array[0] = a; array[1] = b; array[2] = c; array[3] = d;
array[4] = e; array[5] = f; array[6] = g; array[7] = h;
for (length = 0; length < 8; length ++) if (array[length] == -1) break;
}
int operator[](int index) { return array[index]; }
int length;
};
struct Math {static int floor(int n) { return n; } };
Math Math;
struct Document {static void write(int a, char* s, int k) {cout << a << s << k << endl;}
};
Document document;
#define new
948デフォルトの名無しさん:2006/07/28(金) 03:10:16
>>947
ワロタ
949デフォルトの名無しさん:2006/07/28(金) 03:41:43
今日提出の課題なんですが、さっぱりわからなくて焦ってます!
教えて下さい!お願いします!


ABCDの4人が一列に並ぶ方法は、全部で4!=24通りある。その24通りを全て表示する関数 make_pattern を作成せよ。ただし、printf文を10回以上使ってはいけない。

ヒント:4重ループを作成し、ある条件を満たす時にのみ並びを表示する。

950デフォルトの名無しさん:2006/07/28(金) 04:28:50
ひまだから作ってみた。
#include <stdio.h>
#include <stdlib.h>
static int is_gaishutsu(int *buffer, int size, int number) {
for (--size; size>=0; --size) if (buffer[size] == number) return 1;
return 0;
}
static void make_pattern_sub(int *buffer, int radix, int size, int index)
{
int i,j;
if (index >= size) {
for (i = 0; i < size; i ++) putchar('A' + buffer[i]);
putchar('\n');
return;
}
for (i = 0; i < radix; i ++) {
if (is_gaishutsu(buffer, index, i)) continue;
buffer[index] = i;
make_pattern_sub(buffer, radix, size, index+1);
}
}

void make_pattern(int radix, int size) {
int *buffer = malloc(sizeof (int) * size);
make_pattern_sub(buffer, radix, size, 0);
free(buffer);
}
int main(void) {
for (;;){for (;;){for (;;){for (;;){ make_pattern(4, 4); goto END;}}}}
END:
return 0;
}
951デフォルトの名無しさん:2006/07/28(金) 04:34:18
スルーされると悲しいので自演しとく。
> for (;;){for (;;){for (;;){for (;;){ make_pattern(4, 4); goto END;}}}}
ちょw
952デフォルトの名無しさん:2006/07/28(金) 04:57:11
printfが使えないなら、putcharを使えばいいじゃない

void make_pattern(void){
int i, j, k, l;
for(i=0;i<1;i++)for(j=0;j<1;j++)for(k=0;k<1;k++)for(l=0;l<1;l++)
if(i==0){
putchar('A');putchar('B');putchar('C');putchar('D');
putchar('A');putchar('B');putchar('D');putchar('C');
以下略
}
}

printfが使えないなら、putcharを使えばいいじゃない
953デフォルトの名無しさん:2006/07/28(金) 05:00:55
そのヒントを真に受けると以下のようになるが、はっきりいうと問題出した講師を見下していいと思うぞ。
#include <stdio.h>
void make_pattern(void)
{
int i, j, k, l;
char letters[] = "ABCD";

for (i = 0; i < 4; i ++) {
for (j = 0; j < 4; j ++) {
for (k = 0; k < 4; k ++) {
for (l = 0; l < 4; l ++) {
if (((1<<i)|(1<<j)|(1<<k)|(1<<l))==0x0f) {
printf("%c%c%c%c\n", letters[i], letters[j], letters[k], letters[l]);
}
}
}
}
}
}
954デフォルトの名無しさん:2006/07/28(金) 05:09:13
N人の時はどう書けばよいのでしょうか?
955デフォルトの名無しさん:2006/07/28(金) 05:10:35
>>954
そういう問題文なの?
956デフォルトの名無しさん:2006/07/28(金) 05:11:40
阿呆ですか?
957デフォルトの名無しさん:2006/07/28(金) 05:13:33
958デフォルトの名無しさん:2006/07/28(金) 08:08:01
みなさんありがとうございます!
いつの間にか寝てました。。


>>953
この講師が厄介でO阪大学を首席で卒業したらしく、頭が悪いうちの生徒はいつも見下されてるんです。。


959デフォルトの名無しさん:2006/07/28(金) 08:23:28
953の
if (((1<<i)|(1<<j)|(1<<k)|(1<<l))==0x0f) {
これを
if (i!=j&&i!=k&&i!=l&&j!=k&&j!=l&&k!=l) (
にしとくと目立たない模範解答になるよ。
960デフォルトの名無しさん:2006/07/28(金) 08:30:56
>>959
ありがとうございます!
ホントに助かりました!!


961デフォルトの名無しさん:2006/07/28(金) 08:40:22
>>958
#include <stdio.h>
int main()
{
printf("ABCD\nABDC\nACBD\nACDB\nADBC\nADCB\nBACD\nBADC\nBCAD\nBCDA\nBDAC\nBDCA\nCABD\nCADB\nCBAD\nCBDA\n"
"CDAB\nCDBA\nDABC\nDACB\nDBAC\nDBCA\nDCAB\nDCBA\n");
return 0;
}

これで提出しちゃえ
962デフォルトの名無しさん:2006/07/28(金) 10:54:01
>>961
4重ループがないぞ!!1!
963デフォルトの名無しさん:2006/07/28(金) 11:01:23
出題者のセンスを疑うなぁ
964デフォルトの名無しさん:2006/07/28(金) 11:33:58
 横20cm、縦30cmの長方形の台を考え、左下の隅を原点(0,0)とする。
台の上には(10cm,27cm)の位置に半径1cmの玉があり、
時刻0に(x,y)(0≦x≦20,0≦y≦30)の位置から質点をθ(0≦θ≦2π)の角度に
速度v(cm/sec)で突き出すとする。台には摩擦はないものと仮定し、壁面でも
エネルギーを失うことなく、入射角=反射角を満たしつつ跳ね返るものとする。

【問題】引数(x,y,θ,v,T)に対して、もし質点がT秒以内で玉に衝突するなら
衝突するまでの時間を秒単位で、衝突しないなら-1を返す関数を定義し、
(x,y,θ,v,T)=(10,0,π/6,5,45)に対して実行せよ。


学校のC言語の課題です。提出まで残り2時間です><
よろしくお願いします><
965デフォルトの名無しさん:2006/07/28(金) 11:43:19 BE:89861292-2BP(200)
>>927
mainのreturnは省略可。
966デフォルトの名無しさん:2006/07/28(金) 12:08:13
>>964
おれは2時間じゃ_
>>965
まじ?ソースある?
967デフォルトの名無しさん:2006/07/28(金) 12:13:07
>>966
C++とC99の話じゃないかな?<戻り値省略
まぁ、レガシーCでも警告だけだし。
968デフォルトの名無しさん:2006/07/28(金) 12:58:40
C言語で円をコマンドプロンプト上に描く方法,プログラムを教えて下さい。
できれば,直径を使いたいです。
969デフォルトの名無しさん:2006/07/28(金) 13:02:36
>>968
意味不明。市ね。
970デフォルトの名無しさん:2006/07/28(金) 13:14:45
>>969
エスパーではないが意味はかなり明瞭だと思うぞ
テンプレに従ってないからなあ
むしむし
971デフォルトの名無しさん:2006/07/28(金) 13:21:08
>>968
さるプログラミングコンテストの優秀作品だから、きっと参考になると思うよ!('(゚∀゚∩
ttp://www0.us.ioccc.org/1988/westley.c
972デフォルトの名無しさん:2006/07/28(金) 13:34:32
>>964

台が回転しておしまい
973デフォルトの名無しさん:2006/07/28(金) 13:37:05 BE:159753784-2BP(200)
>>967
いや、C89でも警告でないでしょ。
974デフォルトの名無しさん:2006/07/28(金) 13:42:13
>>971
確かソースも円形になってたような
975デフォルトの名無しさん:2006/07/28(金) 14:19:25
キーボードから円の直径dを入力し,文字を使って直径dの円を表示するプログラム
を作成して下さい。ただし入力する半径の範囲は2から79に制限して下さい。
976デフォルトの名無しさん:2006/07/28(金) 14:24:17
>>975
>>1をよく読んで書き直せ
977デフォルトの名無しさん:2006/07/28(金) 14:25:29

#include <stdio.h>

int main(void)
{
int c;
while((c = fgetc(stdin)) != EOF){
fprintf(stdout, "○ (d = %c)\n", c);
}

return 0;
}
978デフォルトの名無しさん:2006/07/28(金) 14:26:30
>>977
ありがとうございます!
979デフォルトの名無しさん:2006/07/28(金) 14:29:02
ばかばっかだな
980デフォルトの名無しさん:2006/07/28(金) 14:30:28
>>978
>>977でいいのか?
俺はてっきり…
981デフォルトの名無しさん:2006/07/28(金) 14:32:08
単位がないからどうとでもなる
982デフォルトの名無しさん:2006/07/28(金) 14:32:34
遠近法か!
983デフォルトの名無しさん:2006/07/28(金) 14:33:26
ひどい質問者だ
984デフォルトの名無しさん:2006/07/28(金) 14:34:13
埋めてしまえ
985デフォルトの名無しさん:2006/07/28(金) 14:38:28
986デフォルトの名無しさん:2006/07/28(金) 14:38:47
次スレ(再利用)

C/C++の宿題を片付けます 66代目
http://pc8.2ch.net/test/read.cgi/tech/1152094206/
987デフォルトの名無しさん:2006/07/28(金) 14:40:25
988デフォルトの名無しさん:2006/07/28(金) 14:41:22
989デフォルトの名無しさん:2006/07/28(金) 14:46:43
すいません。
[1]2単位
[2]キーボードから円の直径dを入力し,文字を使って直径dの円を表示するプログラム
を作成して下さい。ただし入力する半径の範囲は2から79に制限して下さい。
[3]OS(windowsxp),c言語
[4]後,3時間です。
[5]do-while文,for文をつかって下さい。
ほんとにお願いします。
990デフォルトの名無しさん:2006/07/28(金) 14:50:59
テンプレもまともに埋められないのかね
単位落としていいよ
991デフォルトの名無しさん:2006/07/28(金) 14:51:40
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
992デフォルトの名無しさん:2006/07/28(金) 14:52:15
993デフォルトの名無しさん:2006/07/28(金) 14:52:48
994デフォルトの名無しさん:2006/07/28(金) 14:53:24
995デフォルトの名無しさん:2006/07/28(金) 14:54:46
996デフォルトの名無しさん:2006/07/28(金) 14:55:31
997デフォルトの名無しさん:2006/07/28(金) 14:56:02
998デフォルトの名無しさん:2006/07/28(金) 14:56:21
次スレ

【質問は】C/C++の宿題を片付けます 66代目【ちゃんと書け】
http://pc8.2ch.net/test/read.cgi/tech/1152094206/
999デフォルトの名無しさん:2006/07/28(金) 14:56:32
>>989
2単位にワロタ
1000デフォルトの名無しさん:2006/07/28(金) 14:56:34
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。