[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 04/05 20:54 / Filesize : 366 KB / Number-of Response : 964
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん [2008/10/01(水) 07:28:51 BE:151474728-PLT(18888)]
あなたが解けない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] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)

【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
【C 関数検索 man on WWW】 www.linux.or.jp/JM/index.html
【過去ログ検索】        chomework.sakura.ne.jp/
【wiki】               www23.atwiki.jp/homework/

前スレ
C/C++の宿題を片付けます 115代目
pc11.2ch.net/test/read.cgi/tech/1217741118/

29 名前:デフォルトの名無しさん [2008/10/03(金) 23:27:31 ]
[1] 授業単元: C言語
[2] 問題文(含コード&リンク):
  ★以下の仕様を満たすプログラムをC言語で作成しなさい。
  【仕様】座席予約簡易プログラム
  
  ▽通路を挟んだ5行×5列(1−1〜5−5まで)の座席がある列車の座席を予約・キャンル
   するプログラムを作る。
  ▽メニューは、「予約」「キャンセル」「終了」の3種類とする。
  ▽空き状態を0、予約済み状態を1で表現する。初期の予約状態はランダムにしておく。
  ▽「予約」では、予約状況の一覧を表示し、予約する座席数を入力させる。入力数が空席の数以上
であれば、
「空席が足りません」として、再度入力させる。
  ▽次に希望する座席を入力させる(行‐列の順)。入力されたら確認メッセージ
   (「(座席番号)」を予約しますか?)を表示する。Yesならば予約処理をし、「予約しました」と表
示してメニューに戻る。
   Noならばメニューに戻る。
  ▽すでに予約済みの座席を指定した時は、「(座席番号)は予約済みです」とエラーメッセージを表
示し、再度入力させる。
  ▽入力数が2以上のときは複数選択が可能になるようにする(全ての希望を入力した時点で確認メッ
セージを表示)
  ▽入力数が空席の数と同じときは、すぐに予約確認メッセージを表示する。
  ▽「キャンセル」では、「予約」メニューと同様の機能をもたせる(一覧表示・キャンセルする座席
数の入力・
座席番号の入力・確認メッセージ・エラー処理・複数選択機能)
  ▽「終了」では、プログラム終了する。
[3] 環境
 [3.1] OS: Windows xp
 [3.2] コンパイラ名とバージョン:bcc
 [3.3] 言語: C言語
[4] 期限: 来週中ぐらいまで。
[5] その他の制限:条件判断文、繰り返し文、関数(引数、戻り値)、配列を勉強しました      
   これらを使ってお願いします。

30 名前:デフォルトの名無しさん [2008/10/03(金) 23:31:30 ]
>>21
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7752.c

エラー出して終了するときメモリ解放すんの忘れてた。
まあいいか・・

31 名前: ◆3CnrSiNVYE mailto:sage [2008/10/04(土) 12:28:13 ]
[1] 授業単元:プログラミング基礎
[2] 問題文:
ファイルを1つまたは複数指定し、
各ファイルに含まれる行数と文字数を数えて画面に出力するプログラムを作れ。
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:どちらでも
[4] 期限:2008年10月14日
[5] その他の制限:まだ基礎の段階です

32 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 12:47:39 ]
>>31
#include<stdio.h>

void moji_line_count(const char *filename){
FILE *fp;
int prev='\n', moji, moji_count=0, line_count=0;

if((fp=fopen(filename, "rb"))==NULL) return;
for(;(moji=fgetc(fp))!=EOF;prev=moji,moji_count++) if(moji=='\n') line_count++;
fclose(fp);
if(prev!='\n') line_count++;

printf("File : %s\nCharacter count : %d\nLine count : %d\n\n", filename, moji_count, line_count);
}

int main(int argc, char *argv[]){
int i;

for(i=1;i<argc;i++) moji_line_count(argv[i]);
return 0;
}

33 名前:デフォルトの名無しさん [2008/10/04(土) 12:56:52 ]
>>31
#include <stdio.h>
#include <string.h>
void chomp(char *buf)
{
int len = strlen(buf); if (len > 0 && buf[len - 1] == '\n') buf[len - 1] = '\0';
}
int main(int argc, char *argv[])
{
int i, lines, chars; FILE *fin; char buf[512];
for(i = 1; i < argc; i++) {
fin = fopen(argv[i], "r");
if (fin != NULL) {
lines = chars = 0;
while(fgets(buf, 512, fin) != NULL) {
chomp(buf);
chars += strlen(buf);
lines++;
}
fclose(fin);
printf("ファイル\"%s\"の行数は%d、文字数は%d\n", argv[i], lines, chars);
}
else
fprintf(stderr, "ファイル \"%s\"は開けません。\n", argv[i]);
}
return 0;
}


34 名前:12 [2008/10/04(土) 13:03:08 ]
>>17
DFTでお願いします。
一通りググってはみたんですけど、どれも難解で各行説明が難しいです…


35 名前:デフォルトの名無しさん mailto:age [2008/10/04(土) 14:34:48 ]
>>29
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int aki;
char zaseki[5][5];
void chomp(char *buf)
{
int len = strlen(buf); if (len > 0 && buf[len - 1] == '\n') buf[len - 1] = '\0';
}
void yoyaku(void)
{
int i, j, n;
char buf[128];
printf("予約状況:\n");
printf(" ");
for(j = 0; j < 5; j++) printf(" %2d", j+1);
printf("\n");
for(i = 0; i < 5; i++)
{
printf(" %2d", i+1);
for(j = 0; j < 5; j++)
if(zaseki[i][j]) printf(" x");
else printf(" .");
printf("\n");
}


36 名前:デフォルトの名無しさん mailto:age [2008/10/04(土) 14:35:37 ]
printf("x: 予約済み .: 空き\n\n");
if (!aki) {
printf("空席がありません。\n");
return;
}
do {
printf("予約する座席数: ");
scanf("%d", &n);
if (aki < n) {
printf("空席が足りません。\n");
continue;
}
} while(0);
if(n <= 0) return;
while(n--) {
rewind(stdin);
printf("予約を希望する座席(行-列): ");
scanf("%d-%d", &i, &j);
if(zaseki[i - 1][j - 1] == 1) {
printf("座席「%d-%d」は予約ずみです。\n", i, j);
n++;
continue;
}


37 名前:デフォルトの名無しさん mailto:age [2008/10/04(土) 14:36:23 ]
printf("座席「%d-%d」を予約しますか?(YES/NO): ", i, j);
rewind(stdin);
fgets(buf, 128, stdin);
chomp(buf);
if (strcmpi(buf, "YES") == 0) {
zaseki[i - 1][j - 1] = 1;
printf("予約しました。\n");
}
}
}
void cancel(void)
{
int i, j, n;
char buf[128];
printf("予約状況:\n");
printf(" ");
for(j = 0; j < 5; j++) printf(" %2d", j+1);
printf("\n");
for(i = 0; i < 5; i++)
{
printf(" %2d", i+1);
for(j = 0; j < 5; j++)
if(zaseki[i][j]) printf(" x");
else printf(" .");
printf("\n");
}




38 名前:デフォルトの名無しさん mailto:age [2008/10/04(土) 14:37:25 ]
printf("x: 予約済み .: 空き\n\n");
if (aki == 5 * 5) {
printf("予約済みの席はありません。\n");
return;
}
do {
printf("キャンセルする座席数: ");
scanf("%d", &n);
if (5*5 - aki < n) {
printf("予約済みの席が足りません。\n\n");
continue;
}
}while(0);
if(n <= 0) return;
while(n--)
{
rewind(stdin);
printf("キャンセルを希望する座席(行-列): ");
scanf("%d-%d", &i, &j);
if(zaseki[i - 1][j - 1] == 0) {
printf("座席「%d-%d」は予約されていません。\n", i, j);
n++;
continue;
}

39 名前:デフォルトの名無しさん mailto:age [2008/10/04(土) 14:38:02 ]
printf("座席「%d-%d」をキャンセルしますか?(YES/NO): ", i, j);
rewind(stdin);
fgets(buf, 128, stdin);
chomp(buf);
if (strcmpi(buf, "YES") == 0) {
zaseki[i - 1][j - 1] = 0;
printf("予約しました。\n");
}
}
}
int main(void)
{
int i, j, m;
aki = 5 * 5;
for(i = 0; i < 5; i++)
for(j = 0; j < 5; j++) {
zaseki[i][j] = rand() & 1;
if(zaseki[i][j]) aki--;
}
do {
printf("\n\nメニュー(1.予約 2.キャンセル 3.終了): ");
scanf("%d", &m);
switch(m){
case 1: yoyaku(); break;
case 2: cancel(); break;
case 3: return 0;
}
} while(1);
}

40 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 14:52:43 ]
printf("x: 予約済み .: 空き\n\n");
if (aki == 5 * 5) {
printf("予約済みの席はありません。\n");
return;
}
do {
printf("キャンセルする座席数: ");
scanf("%d", &n);
if (5*5 - aki < n) {
printf("予約済みの席が足りません。\n\n");
continue;
}
}while(0);
if(n <= 0) return;
while(n--)
{
rewind(stdin);
printf("キャンセルを希望する座席(行-列): ");
scanf("%d-%d", &i, &j);
if(zaseki[i - 1][j - 1] == 0) {
printf("座席「%d-%d」は予約されていません。\n", i, j);
n++;
continue;
}

41 名前:デフォルトの名無しさん mailto:age [2008/10/04(土) 14:53:42 ]
if((fp=fopen(filename, "rb"))==NULL) return;
for(;(moji=fgetc(fp))!=EOF;prev=moji,moji_count++) if(moji=='\n') line_count++;
fclose(fp);
if(prev!='\n') line_count++;

printf("File : %s\nCharacter count : %d\nLine count : %d\n\n", filename, moji_count, line_count);
}
rewind(stdin);
fgets(buf, 128, stdin);
chomp(buf);
if (strcmpi(buf, "YES") == 0) {
zaseki[i - 1][j - 1] = 1;
printf("予約しました。\n");
}
}
}
void cancel(void)

42 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 14:54:45 ]
うざす

43 名前:デフォルトの名無しさん [2008/10/04(土) 15:16:13 ]
>>35
>>36
>>37
>>38
>>39
>>40
ありがとうございます。本当に助かりました。

44 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 15:24:52 ]
>>35-41
長ぇwww
うpろだに上げろよw

45 名前:21 [2008/10/04(土) 15:37:15 ]
>30
早速作って戴いて
ありがとうございます。実行のとき、
./kadai3-2 s aって入力すると不正な文字ですぅって
でるんですが、どこがおかしいですか?
ファイルは入力ファイル、
出力ファイルの順にコマンドラインの引数で指定していると
思うんですが。


46 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 15:42:58 ]
>>45
おそらくスペースか改行文字かタブ文字が原因

47 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 15:46:09 ]
>>45
数字と,以外受け付けない
スペースも改行も入れられないよ



48 名前:21 [2008/10/04(土) 15:49:59 ]
>>46
ん、ん?
スペース入れずにどうやって入力するのですか?

49 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 15:50:40 ]
>>48
よみこむ中身の方だよ

50 名前:21 [2008/10/04(土) 15:55:25 ]
>>49
えっと読み込むファイルsの中身は
1,2,3,4,5,6,7
としたんですが、どこかおかしいですか?

51 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 16:00:22 ]
>>50
最後に改行してるんじゃね?

52 名前:21 [2008/10/04(土) 16:04:19 ]
>>51
確かめてみたんですが、とくに最後に改行
とかはされていませんでした。

53 名前:デフォルトの名無しさん [2008/10/04(土) 16:23:22 ]
>>30

54 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 16:25:04 ]
ファイルがないときもスコンスコン落ちるし、まあ、大雑把なつくりなんでしょう。
改造するほうがいいよ。

55 名前:21 mailto:sage [2008/10/04(土) 16:51:48 ]
改造か・・・。
できる気がしないけどちょくらやってみる。
でもこれ再提出の上に期限大分オーバー
しちゃってるんだよなぁ。
はぁ。

56 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 17:02:56 ]
かなりの初心者です…。質問があります。
入力された数値を二乗して返す、というプログラムなのですが、↓のようにしました。


printf("Enter a floating number > ");
while( scanf("%f",&data) != EOF ){
 printf("%lf^2 = %lf\n",data,SQUARE(data));
 printf("Enter the next value > ");
}


「SQUARE」は二乗するための関数です。
実行してみると、dataの中には何も数値は入っていませんでした(data = 0.000)。
「while文の条件の中で一度scanfを行っているからdataには入力された数値が入っているんじゃないの??」と
思ったのですが、そうはいっていないようです。ループに入っていることは確認できました。
自分のスキルでは解決できないので、力を貸して下さい…(泣)

57 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 17:06:43 ]
変数はdoubleか?
それならまず%fと%lfを入れ替えてみようか



58 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 17:17:14 ]
書き忘れてました、double型です。
それで、%f → %lfにしてみたら…大丈夫でした(^^
同時に、勉強の必要性を強く感じました…

ただ、このループはCtrl + Dで終了するはずらしいのですが、それを入力するとなぜか無限ループ開始…(^^;
これについてはどうでしょうか??

59 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 17:18:38 ]
windowsならCtrl+Z

60 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 17:23:27 ]
あ、なるほど。学校のPCはLinuxだったからそうなっていたのですね。
確かにCtrl + Zで無事に終了できました。

初心者のばかばかしい質問に答えて下さり、ありがとうございましたm(_ _)m

61 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 18:33:59 ]
>>55 = 21
課題だから最低限の実装でいいかなと思ってたんですみません。
一応少しマシな実装に直しておきました。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7753.c

62 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 20:20:14 ]
三平方の定理の斜辺を求めるプログラムなのですが、
関数をcalcuteとして、a^2 + b^2 = c^2のaとbを入力させて渡そうとしているのですが、コンパイル時にエラーが起こります。
なぜかわかるでしょうか?
以下が関数main、
int main(double *argv[])
{
printf("%f", calcute(argv[1], argv[2]));
return 0;
}
以下がエラーの内容です。
pyt.c:6: error: incompatible type for argument 1 of `calcute'
pyt.c:6: error: incompatible type for argument 2 of `calcute'

63 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 20:22:23 ]
>>62
int main(double *argv[])
なんだこのふざけた引数は

64 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 20:24:11 ]
>>63
小数の内容を入力したいのですが・・・

65 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 20:28:06 ]
>>64

int main(int argc,char *argv[])
{
double a,b;
sscanf(argv[1],"%f",&a);
sscanf(argv[2],"%f",&b);
以下略

66 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 20:28:56 ]
>>65
勉強不足でした。どうもありがとうございます。

67 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 20:35:41 ]
>>65
sscanf(argv[1],"%lf",&a);
sscanf(argv[2],"%lf",&b);



68 名前: ◆3CnrSiNVYE mailto:sage [2008/10/04(土) 20:43:03 ]
>>32
>>33
ありがとうございます。

ところでこれでファイルを指定するにはどうすればよいのでしょうか?
学校のコンパイラはgccなのですが家ではvisualC++2008を使っているのですが…

69 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 20:58:43 ]
>>68
横スレですまんが、>>33のソースは間違っているので使わない方がいいよ。
>>32は正しくできている(ちなみに私も作っていろいろなファイルで結果を取りますた)。

VS C++2008なら、コンパイルなりビルドなりしてコマンドプロンプトだったかな(Windowsしらねぇ)からコマンドライン引数としてファイルを渡せばいいと思う。VS C++のIDEくらいなら、引数を指定して実行とかってメニューがあるかもしれない。

70 名前:65 mailto:sage [2008/10/04(土) 21:03:46 ]
>>67
floatじゃなくてdoubleだから%lfだね。
スマソ

71 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 21:14:14 ]
>>68
ちょっと調べてみたよ。

プロジェクト(P) -> プロパティ(P)でプロジェクトのプロパティを開く。
構成プロパティ -> デバッグ -> コマンド引数にファイル名を書けば良いと思う。

72 名前:31 ◆3CnrSiNVYE mailto:sage [2008/10/04(土) 21:26:24 ]
>>69
>>71
申し訳ありません。ちょっとよくわかりませんでした。
>>71を参考にして適当なテキストファイルのフルパスをコマンド引数に書いてみたのですが、
Ctrl+F5(ビルド)しても「何かキーを押してください」と出て終了してしまいます。

soudan1.biglobe.ne.jp/qa4255056.html
ここを参考にしてみたのですが、よくわかりません

73 名前:31 ◆3CnrSiNVYE mailto:sage [2008/10/04(土) 21:42:41 ]
なんか宿題の本筋からずれてますね。
visualC++のスレで聞いてきます。

74 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 23:21:18 ]
1] 授業単元:C++
[2] 問題文(含コード&リンク):八の字を描け。問題→www.dotup.org/uploda/www.dotup.org3603.zip.html
自分でやってみたのですが、出発地点から円を描く事しかできませんでした。
この画像で黄色のところが出発地点で、緑の所が執着地点です→www.dotup.org/uploda/www.dotup.org3605.zip.html
[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン:Visual Studio 2005又はVisual Studio 2008
 [3.3] 言語:C++
[4] 期限: ([2008年10月6日午前5:00まで
[5] その他の制限:何か説明不足な点がありましたら言って下さい。どうかお願いします。

75 名前:デフォルトの名無しさん [2008/10/05(日) 01:19:04 ]
C言語って懐かしいな

76 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 02:55:53 ]
やったことないからよくわかんないけど、-270度まで回転するのがまずいんでないの?
-90度回転させて、中心点を左の円のものにして+90度からプラス方向に360度回転させて、
元の中心を使って-90度から-270度まで回転させればいくんでない?
やり方は知らないんだけど。

77 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 09:19:23 ]
半円を4つ描くと思えばいい



78 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 09:36:52 ]
twintail.jpからel.hなくなってるじゃん
コンパイルできないからうpれよ

79 名前:デフォルトの名無しさん [2008/10/05(日) 11:25:26 ]
C と C++ とC# と、後なんか。 何がどう違うの? 簡単な表にしてZIPでくれ。

80 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 11:29:00 ]
>>79
失せろ

81 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 11:30:17 ]
>>80 「わかりません」ってハッキリ言えwww

82 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 11:47:12 ]
>>79
どういう視点で違いを知りたい?

83 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 13:15:48 ]
みなさん童貞ですか?

84 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 14:09:03 ]
>>18
ワロタwwww

85 名前:74 ◆5/7mhL.nO6 mailto:sage [2008/10/05(日) 14:53:36 ]
>>78
elってこれですか?
www.dotup.org/uploda/www.dotup.org4202.zip.html

86 名前:デフォルトの名無しさん [2008/10/05(日) 16:52:12 ]
AGE

87 名前:デフォルトの名無しさん [2008/10/05(日) 20:01:02 ]
>>12>>16>>34です
どうか助けてもらえませんか…



88 名前:74 ◆5/7mhL.nO6 mailto:sage [2008/10/05(日) 21:16:20 ]
誰か>>74をお願いいたします。

89 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 21:16:49 ]
>>87
今から始める。のんびりまってて。

90 名前:デフォルトの名無しさん [2008/10/05(日) 21:28:25 ]
>>87
ttp://www.nigauri.sakura.ne.jp/src/up5626.txt

BCC Developerで拡張子を.cppとして作成。
コメントはほとんどなし。
間違ってたらすまない。
まぁ、参考程度にしてもいいし、ゴミ箱直行でもいいし。

91 名前:デフォルトの名無しさん [2008/10/05(日) 21:29:00 ]
>>89
いくらでも待ちます。ハチ公のように。
本当にありがとうございます。

92 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 21:31:49 ]
二度と戻らぬ主人を待ち続けるハチ公であつた。

93 名前:90 [2008/10/05(日) 21:32:38 ]
あ、>>89さんゴメン。かぶった。
プログラム>>89のほうがいいかもしれないよ。俺あんまりこのスレきたことないから

94 名前:デフォルトの名無しさん [2008/10/05(日) 21:33:39 ]
>>90
ありがとうございます。参考にさせてもらいます。
C初めて間もないので、とても為になります。

95 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 21:44:25 ]
>>93
大丈夫、実はやってない。

96 名前:デフォルトの名無しさん [2008/10/05(日) 22:08:56 ]
>>95
マジですか?…
わかりました。では>>90さんのを元に、各行の説明付けに励みたいと思います。
>>90さんありがとうございました。

97 名前:74 ◆5/7mhL.nO6 mailto:sage [2008/10/05(日) 22:18:48 ]
>>74の「八の字」の描き方もお願いします。
円はできたのですが、八の字はどのようにやったら良いかわかりません。



98 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 22:22:58 ]
円を二個くっつければ八の字にならないか?

99 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 22:53:16 ]
○○

でも八の字といえば八の字だよな

100 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 23:01:11 ]
[1] 授業単元:C言語演習
[2] 問題文(含コード&リンク):英文文書整形プログラム
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7754.txt
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限: 10月8日
[5] その他の制限:特にありません

よろしくお願いします

101 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 00:10:49 ]
>>99


こっちじゃね?

102 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 00:13:13 ]
>>100
そこだけ見るとゼペット爺さんなんか痛い子

103 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 00:18:39 ]
>>100
51文字目にカンマやピリオドがあったらどうする?

1.直前の単語ごと次の行へ
2.カンマやピリオドが行の先頭にあっても構わない
3.行の後ろにこっそりつける

104 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 00:29:53 ]
>>103
ピリオドや?などは単語の一部という扱いでいいと思います
ですので「1」で大丈夫です

105 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 03:10:26 ]
>>97
>>76は?もう期限近いけどさ。

106 名前:デフォルトの名無しさん [2008/10/06(月) 04:35:00 ]
>>97
眠れないので作ってみた
void teki_01_dp(void)
{
static float n = 0;
static float inc = 0.1;

for (cnt = 0; cnt < 17; cnt++) {
if (init_fl[cnt] != 0) {
/* 出現済みの敵の場合 */
/* 次の座標を計算 */
#if 0
spx[cnt] += spxg[cnt];
spy[cnt] += spyg[cnt];

zx[cnt] += FrameTime * spx[cnt];
zy[cnt] += FrameTime * spy[cnt];
#else
zx[cnt] += cos(n * PI / 180) * FrameTime * 100;
zy[cnt] += sin(n * PI / 180) * FrameTime * 100;
n += inc;
if (n >= 180.0) {
inc = -0.1;
} else if (n <= -180.0) {
inc = 0.1;
}
#endif
}
}
}
速度とかは超適当す。

107 名前:74 ◆5/7mhL.nO6 mailto:sage [2008/10/06(月) 07:10:44 ]
>>105
期限は今週中なら一応大丈夫です。

>>106
これはどこのソースに書き込みましたか?



108 名前:106 mailto:sage [2008/10/06(月) 07:40:39 ]
>>107
うpろだの内容はそのままビルドできんかったので
1.zako_01.cppを新規に作成
2.zako.cppをコピペ
3.teki_reqをtei_01_reqに変更
4.teki_dpをteki_01_dpに変更
5.読みにくかったので全面書き替え!!
5.teki_01_dpに>>106のを書いた
6.teki_01_reqは固定位置出現にした

最終動きのイメージを今見たんだがハチの字の方向が違うかもしれん
そこはまぁ適当によろしこ
ちなみにPIは3.141592にdefineしてある

109 名前:106 mailto:sage [2008/10/06(月) 07:41:46 ]
書き忘れた
もう仕事に行く時間なので
夜になるまで応答できないかも

110 名前:74 ◆5/7mhL.nO6 mailto:sage [2008/10/06(月) 08:11:20 ]
>>109
ありがとうございます。
やってみるので、夜になったらまた見てもらえますか?
それまで自分でやってみます。

111 名前:21 [2008/10/06(月) 11:27:20 ]
>>61
よし動いた。
・・・あれ肝心のソートがされてないorz
誰か13時までに原因を教えてください。

112 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 12:01:51 ]
1] 授業単元:C++
[2] 問題文(含コード&リンク):
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7745.txt
・「年(西暦)」「月」を入力したら,その月のカレンダーを表示するプログラムを作成しなさい。ただし,下記の条件を満たすものとする。

【条件】
(1)カレンダークラスを作成し,main関数でカレンダークラスの実体を生成し,カレンダークラス内のメンバ関数(show関数)を呼び出してカレンダーを表示する。
(2)カレンダークラスはカプセル化されていること。
(3)カレンダー表示には,年,月および曜日,日を表示すること。
(4)上記以外については自由に作成してよい。

[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン:Visual Studio 2008
 [3.3] 言語:C++
[4] 期限: ([2008年10月8日


113 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 17:59:06 ]
>>112
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7755.cpp

問題文のリンクを元に作ったけども
正直カレンダークラスに year と month ないほうが綺麗になると思う

114 名前:デフォルトの名無しさん [2008/10/06(月) 18:40:58 ]
[1] 授業単元:プログラミング演習
[2] n*3がたの行列Aと3*mの行列Bの積を計算する
プログラムを作成せよ。
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:gcc バージョン5.5
 [3.3] 言語:C
[4] 期限: 10月9日
[5] その他の制限:特にありません

よろしくお願いします。素人でもわかりやすい作りに
していただければ幸いです。



115 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 18:40:59 ]
>>113
そんなに無理矢理三項演算子使わなくても…

116 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 18:53:21 ]
>>115
使わないと分かりにくいかなと思って使ったんだけども・・・
取っても結果同じだから、違和感あるなら取ってね

117 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 19:22:49 ]
#include<stdio.h>
#define n 2
#define m 4
int main(){
int A[n][3] ={{1,2,3}, {4,5,6}};
int B[3][m] ={{1,2,3,4}, {5,6,7,8}, {9,10,11,12}};
int C[n][m],i,j,k,t;
for(i=0;i<n;i++){
for(j=0;j<m;j++){
for(t=0,k=0;k<3;k++){ t += A[i][k]*B[k][j]; }
C[i][j] = t;
}
}
//A
for(i=0;i<n;i++){
for(j=0;j<3;j++){ printf("%3d",A[i][j]); }
printf("\n");
}
//B
for(i=0;i<3;i++){
for(j=0;j<m;j++){ printf("%3d",B[i][j]); }
printf("\n");
}
//C
for(i=0;i<n;i++){
for(j=0;j<m;j++){ printf("%3d",C[i][j]); }
printf("\n");
}

}



118 名前:74 ◆5/7mhL.nO6 [2008/10/07(火) 00:33:44 ]
>>108のように書いたのですが、

このようなエラーはどう対処したら宜しいのでしょうか?

..\zako_01.cpp(52) : warning C4305: '初期化中' : 'double' から 'float' へ切り詰めます。
..\zako_01.cpp(66) : error C2065: 'PI' : 定義されていない識別子です。
..\zako_01.cpp(70) : warning C4305: '=' : 'double' から 'float' へ切り詰めます。
..\zako_01.cpp(72) : warning C4305: '=' : 'double' から 'float' へ切り詰めます。

119 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 00:42:13 ]
#define PI 3

120 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 00:55:07 ]
笑ったけど本気にしたらかわいそうだ

>>118
#define PI 3.141592

warningってのは警告だから無視すればいい

121 名前:デフォルトの名無しさん [2008/10/07(火) 01:35:20 ]
[1] C言語演習
[2] kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7756.txt
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7757.txt
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7758.txt
[3] C
[4] 今週の水曜日

よろしくお願いします。

122 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 02:49:18 ]
>>118
> >>108のように書いたのですが、

>>108
> ちなみにPIは3.141592にdefineしてある

はぁ。

123 名前:74 ◆5/7mhL.nO6 [2008/10/07(火) 04:23:57 ]
>>119
>>120
>>122
すみません見落としていました…

とりあえず、>>106を参考に作りました。
www.dotup.org/uploda/www.dotup.org6018.zip.html

するとこのようなエラーが出るのですが…ファイルを見て確認してみて下さい。
zako_01.obj : error LNK2005: "float * zy" (?zy@@3PAMA) は既に zako.obj で定義されています。
zako_01.obj : error LNK2005: "int * init_fl" (?init_fl@@3PAHA) は既に zako.obj で定義されています。
zako_01.obj : error LNK2005: "float * spy" (?spy@@3PAMA) は既に zako.obj で定義されています。
zako_01.obj : error LNK2005: "float * spx" (?spx@@3PAMA) は既に zako.obj で定義されています。
zako_01.obj : error LNK2005: "float * spyg" (?spyg@@3PAMA) は既に zako.obj で定義されています。
zako_01.obj : error LNK2005: "float * zx" (?zx@@3PAMA) は既に zako.obj で定義されています。
zako_01.obj : error LNK2005: "float * spxg" (?spxg@@3PAMA) は既に zako.obj で定義されています。

124 名前:74 ◆5/7mhL.nO6 [2008/10/07(火) 06:01:05 ]
>>123のエラーは全て自己解決しました。

普通にコンパイルできるのにちゃんと表示されないのですが…
www.dotup.org/uploda/www.dotup.org6039.zip.html

>>108のようにやったのに表示されません…

125 名前:106 mailto:sage [2008/10/07(火) 07:40:12 ]
すまん。もともとあった内容は省略して書いてた。
----- こっから
//アニメーション-----------------------------
timer_a[cnt]+=FrameTime;
if(timer_a[cnt]>0.1){
timer_a[cnt]=0;
no_a[cnt]++;
if(no_a[cnt]>9) no_a[cnt]=0;//アニメーションのループ
}
//敵の表示
elDraw::Layer((int)zx_a[cnt],(int)zy_a[cnt],tkBMP[cnt],40*no_a[cnt],0,40*no_a[cnt]+40,40);
// SHOW2((int)zx[cnt],(int)zy[cnt]-5,"no= %d",cnt);

}//リクエスト if end
}//for end

if(out_cnt==17){//17個全て消えたか?
for(cnt=0;cnt<17;cnt++){
init_fl_a[cnt]=0;

}
---- ここまで
をkadai_d_dpの最後に追加してみそ。

分かってるとは思うが
//敵の表示
elDraw::Layer((int)zx_a[cnt],(int)zy_a[cnt],tkBMP[cnt],40*no_a[cnt],0,40*no_a[cnt]+40,40);
のコールでビットマップを描画してるので
これ消したら当然何も出ない罠

126 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 07:58:09 ]
>>124
表示してないからあたりまえ
#define PI 3.141592F
void teki_01_dp(void)
{
static int no[17];//アニメ用
static float timer[17];//アニメ用
static float n = 0.0F;
static float inc = 0.1F;
int cnt;
for (cnt = 0; cnt < 17; cnt++) {
if (init_fl_01[cnt] != 0) {
zx_01[cnt] += cos(n * PI / 180) * FrameTime * 100;
zy_01[cnt] += sin(n * PI / 180) * FrameTime * 100;
n += inc;
if (n >= 180.0) {
inc = -0.1F;
} else if (n <= -180.0) {
inc = 0.1F;
}
timer[cnt]+=FrameTime;
if(timer[cnt]>0.1){
timer[cnt]=0;
no[cnt]++;
if(no[cnt]>9) no[cnt]=0;//アニメーションのループ
}
elDraw::Layer((int)zx_01[cnt],(int)zy_01[cnt],tkBMP[cnt],40*no[cnt],0,40*no[cnt]+40,40);
}
}
}

127 名前:74 ◆5/7mhL.nO6 [2008/10/07(火) 08:04:53 ]
>>125
>>126
できました!ありがとうございます!
これを元に波線の軌道もやってみますので、分からなくなったら再び質問します。



128 名前:112 mailto:sage [2008/10/07(火) 10:41:20 ]
>>113
デバックしましたけど何も表示されませんでした。

129 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 11:03:35 ]
>>128
デバック???
「修正してやったぜ」って意味か?
失礼な奴だな

知らない言葉は調べたほうがいいぜ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<366KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef