C/C++の宿題を片付けます 116代目
at TECH
1:デフォルトの名無しさん
08/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] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
URLリンク(kansai2channeler.hp.infoseek.co.jp)
【C 関数検索 man on WWW】 URLリンク(www.linux.or.jp)
【過去ログ検索】 URLリンク(chomework.sakura.ne.jp)
【wiki】 URLリンク(www23.atwiki.jp)
前スレ
C/C++の宿題を片付けます 115代目
スレリンク(tech板)
2:デフォルトの名無しさん
08/10/02 20:58:34
age
3:kazu
08/10/02 22:50:19
独学ではじめた者です。
練習問題
・数値を複数回入力し、最後に"END"と入力された後、それぞれに対し
80以上なら"verygood"、80未満で60以上なら"good"、60未満なら"normal"
と表示されるプログラムを作成しなさい。
例) 25(enter押下)
90(enter押下)
73(enter押下)
END (enter押下)
25 normal
90 verygood
73 good
という問題なんですが、
正解が分かりません。
本にはヒントとして
1 文字の入力にはgets()という標準関数を使用する。
2 "END"との比較にはstrcmp()という標準関数を使用する。
3 文字を数値に変換するには、atoi()という標準関数を使用する。
4 繰り返し文(for、while文)とbreak文
と載っていました。
どなたか教えていただけないでしょうか?
よろしくお願いします。
4:デフォルトの名無しさん
08/10/02 22:51:59
>>3
マルチ死ね
5:デフォルトの名無しさん
08/10/02 22:58:09
6 名前: ◆7W9NT64xD6 Mail: sage 投稿日: 2008/08/04(月) 17:31:05
[1]C言語応用
[2]2chの掲示板のdatファイルを解析して、レスストリーム(後述)に分解し、
フレーム付きのページで、ストリーム単位に閲覧することができるような
HTMLファイルを生成する。Windows/Linux/MacOS共に対応し、コマンドラインで
スレURLを与えれば、カレントディレクトリに、取得した時点のYYYYMMDDHHMMSS形式の
名称のディレクトリを作り、そこにフレーム付きページを生成する。
☆レスストリーム
(1)同一スレの別のレスへのアンカーを含まないレスは単一のストリームに含まれる、その
ストリームの代表レスとなる。
(3)同一スレの別のレスへのアンカーを含むレスは、指しているレスが所属するストリーム
のすべてに含まれる。
※一つのレスが複数のストリームに含まれることはあり得る。
[3] Windows/Linux /MacOS/gcc/C言語が望ましいがC++でも可
[4] 7月中でしたが8月中に変更
6:デフォルトの名無しさん
08/10/02 23:00:59
>>3
マルチに答えるのもアレだが
そこまでヒントがあって組めないのはな…
基礎学力の向上がいるだろ。
7:デフォルトの名無しさん
08/10/03 00:00:29
1000 名前:デフォルトの名無しさん[sage] 投稿日:2008/10/02(木) 20:26:11
では遠慮なく
1000ならオレ様勝手にレベルアップ
おめ
8:デフォルトの名無しさん
08/10/03 00:50:51
>>3
マルチに言うのもなんだが、まずどこで躓いてるのか書かないと答えようがない
9:デフォルトの名無しさん
08/10/03 01:11:21
>>3
マルチすんなボケ
10:デフォルトの名無しさん
08/10/03 01:13:09
そのマルチ先ですでに回答されてるけどねw
11:デフォルトの名無しさん
08/10/03 01:42:30
[1] 授業単元: C
[2] 問題文: 3問あります
URLリンク(kansai2channeler.hp.infoseek.co.jp)←7748
[3] 環境
[3.1] OS:WindowsXP
[3.2]コンパイラ名とバージョン:Visual studio
[3.3] 言語:C
[4] 期限:本日13:00まで
[5] その他の制限:特になし
よろしくお願い致します
12:デフォルトの名無しさん
08/10/03 02:09:13
[1] 授業単元: デジタル信号処理
[2] 問題文(含コード&リンク):
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 10月7日17:00
[5] その他の制限:
"数字を縦に羅列したテキストファイルを作り"とありますが、数字の内容、個数、は自由で結構です。
もしめんどくさければ、配列を使うなどしてプログラム内に元の数字を埋め込んじゃってもかまいません。
ずうずうしい注文ですみません。なんとかお願いできませんでしょうか?
13:デフォルトの名無しさん
08/10/03 03:15:23
>>11
このぐらい参考書読んだらすぐ出来るっしょ
URLリンク(kansai2channeler.hp.infoseek.co.jp)
14:デフォルトの名無しさん
08/10/03 10:02:25
>>12
各行ごとに説明ってやる気をなくす問題だなw
いっそう無理矢理数行にして・・
15:デフォルトの名無しさん
08/10/03 10:06:38
>>14
4行でいけるなw
#include<〜> /*ヘッダファイルを読み込む*/
void dft(〜){ 1行で } /*フーリエ変換を行う*/
void idft(〜){ 1行で } /*逆フーリエ変換を行う*/
main(){1行で} /*メイン関数*/
16:デフォルトの名無しさん
08/10/03 11:11:25
>>14
すみません、全部でなくとも大事なとこにだけ説明を入れてもらえれば大丈夫です。
17:デフォルトの名無しさん
08/10/03 16:00:46
>>16
フーリエ変換といってもFFTなのかDFTでいいのか
どちらにしても検索したらソースたくさんあるからググってみれ
18:デフォルトの名無しさん
08/10/03 17:47:43
[1] 授業単元:アルゴリズム概論
[2] 問題文:システムを想定せよ
[3] 環境
[3.1] OS:WindowsXP
[3.2]コンパイラ名とバージョン:Visual Studio 2005
[3.3] 言語:C
[4] 期限:明日
[5] その他の制限:特になし
19:デフォルトの名無しさん
08/10/03 18:23:50
>>18
あまりにも漠然とし過ぎててワロタwww
20:デフォルトの名無しさん
08/10/03 18:42:48
>>18
最近は課題で妄想させるのかw
21:デフォルトの名無しさん
08/10/03 20:48:48
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
ファイルからいくつかの0以上の整数を読み込み,小さい整数から順に並び替えて,
その結果をファイルに保存するプログラムを作成せよ.
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C言語
[4] 期限: ([2008年10月5日24:00まで] または [無期限] のいずれか)
[5] その他の制限: 二分木まで習ってます。
ファイルは入力ファイル、出力ファイルの順にコマンドラインの引数で指定する。
一旦ファイルに記述された並びの通りにリストを作成して,
リストを作成した後にソートを実行すること
入力できる数値データの個数の上限は(メモリが確保できる限り)ない.
数値と数値の区切りにはコンマ(,)を使用せよ。
数値データに数字以外の文字が含まれていた場合,エラーを出力して終了する.
どうかおねがいします。
22:21
08/10/03 20:51:33
ごめんなさい、期限は2008年10月5日24:00までです。
無期限ってのを消すの忘れてました。
23:デフォルトの名無しさん
08/10/03 21:11:21
>>21
ソートの種類は指定されてないの?
24:デフォルトの名無しさん
08/10/03 21:17:00
>>21
リストって一般名詞的な意味じゃなくて
ポインタ使って連結してるあのリストのことでおk?
25:21
08/10/03 21:51:13
>>23
とくに指定されてなかったと思います。
>>24
はい、そのリストです。
宜しくお願いします。
26:デフォルトの名無しさん
08/10/03 23:04:30
>>18
H/W Express5800/110Ge
O/S Windows Server 2003
M/W Oracle10g 10.2.0
W/S IIS6.0
27:デフォルトの名無しさん
08/10/03 23:14:28
>>26
DBMSってミドルウェアに含まれるの?
28:デフォルトの名無しさん
08/10/03 23:26:16
>>26
> M/W Oracle10g 10.2.0
MS SQL Server 2005にしようよ。
29:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/10/03 23:31:30
>>21
URLリンク(kansai2channeler.hp.infoseek.co.jp)
エラー出して終了するときメモリ解放すんの忘れてた。
まあいいか・・
31: ◆3CnrSiNVYE
08/10/04 12:28:13
[1] 授業単元:プログラミング基礎
[2] 問題文:
ファイルを1つまたは複数指定し、
各ファイルに含まれる行数と文字数を数えて画面に出力するプログラムを作れ。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:どちらでも
[4] 期限:2008年10月14日
[5] その他の制限:まだ基礎の段階です
32:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/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
08/10/04 13:03:08
>>17
DFTでお願いします。
一通りググってはみたんですけど、どれも難解で各行説明が難しいです…
35:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/10/04 14:54:45
うざす
43:デフォルトの名無しさん
08/10/04 15:16:13
>>35
>>36
>>37
>>38
>>39
>>40
ありがとうございます。本当に助かりました。
44:デフォルトの名無しさん
08/10/04 15:24:52
>>35-41
長ぇwww
うpろだに上げろよw
45:21
08/10/04 15:37:15
>30
早速作って戴いて
ありがとうございます。実行のとき、
./kadai3-2 s aって入力すると不正な文字ですぅって
でるんですが、どこがおかしいですか?
ファイルは入力ファイル、
出力ファイルの順にコマンドラインの引数で指定していると
思うんですが。
46:デフォルトの名無しさん
08/10/04 15:42:58
>>45
おそらくスペースか改行文字かタブ文字が原因
47:デフォルトの名無しさん
08/10/04 15:46:09
>>45
数字と,以外受け付けない
スペースも改行も入れられないよ
48:21
08/10/04 15:49:59
>>46
ん、ん?
スペース入れずにどうやって入力するのですか?
49:デフォルトの名無しさん
08/10/04 15:50:40
>>48
よみこむ中身の方だよ
50:21
08/10/04 15:55:25
>>49
えっと読み込むファイルsの中身は
1,2,3,4,5,6,7
としたんですが、どこかおかしいですか?
51:デフォルトの名無しさん
08/10/04 16:00:22
>>50
最後に改行してるんじゃね?
52:21
08/10/04 16:04:19
>>51
確かめてみたんですが、とくに最後に改行
とかはされていませんでした。
53:デフォルトの名無しさん
08/10/04 16:23:22
>>30
54:デフォルトの名無しさん
08/10/04 16:25:04
ファイルがないときもスコンスコン落ちるし、まあ、大雑把なつくりなんでしょう。
改造するほうがいいよ。
55:21
08/10/04 16:51:48
改造か・・・。
できる気がしないけどちょくらやってみる。
でもこれ再提出の上に期限大分オーバー
しちゃってるんだよなぁ。
はぁ。
56:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/10/04 17:06:43
変数はdoubleか?
それならまず%fと%lfを入れ替えてみようか
58:デフォルトの名無しさん
08/10/04 17:17:14
書き忘れてました、double型です。
それで、%f → %lfにしてみたら…大丈夫でした(^^
同時に、勉強の必要性を強く感じました…
ただ、このループはCtrl + Dで終了するはずらしいのですが、それを入力するとなぜか無限ループ開始…(^^;
これについてはどうでしょうか??
59:デフォルトの名無しさん
08/10/04 17:18:38
windowsならCtrl+Z
60:デフォルトの名無しさん
08/10/04 17:23:27
あ、なるほど。学校のPCはLinuxだったからそうなっていたのですね。
確かにCtrl + Zで無事に終了できました。
初心者のばかばかしい質問に答えて下さり、ありがとうございましたm(_ _)m
61:デフォルトの名無しさん
08/10/04 18:33:59
>>55 = 21
課題だから最低限の実装でいいかなと思ってたんですみません。
一応少しマシな実装に直しておきました。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
62:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/10/04 20:22:23
>>62
int main(double *argv[])
なんだこのふざけた引数は
64:デフォルトの名無しさん
08/10/04 20:24:11
>>63
小数の内容を入力したいのですが・・・
65:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/10/04 20:28:56
>>65
勉強不足でした。どうもありがとうございます。
67:デフォルトの名無しさん
08/10/04 20:35:41
>>65
sscanf(argv[1],"%lf",&a);
sscanf(argv[2],"%lf",&b);
68: ◆3CnrSiNVYE
08/10/04 20:43:03
>>32
>>33
ありがとうございます。
ところでこれでファイルを指定するにはどうすればよいのでしょうか?
学校のコンパイラはgccなのですが家ではvisualC++2008を使っているのですが…
69:デフォルトの名無しさん
08/10/04 20:58:43
>>68
横スレですまんが、>>33のソースは間違っているので使わない方がいいよ。
>>32は正しくできている(ちなみに私も作っていろいろなファイルで結果を取りますた)。
VS C++2008なら、コンパイルなりビルドなりしてコマンドプロンプトだったかな(Windowsしらねぇ)からコマンドライン引数としてファイルを渡せばいいと思う。VS C++のIDEくらいなら、引数を指定して実行とかってメニューがあるかもしれない。
70:65
08/10/04 21:03:46
>>67
floatじゃなくてdoubleだから%lfだね。
スマソ
71:デフォルトの名無しさん
08/10/04 21:14:14
>>68
ちょっと調べてみたよ。
プロジェクト(P) -> プロパティ(P)でプロジェクトのプロパティを開く。
構成プロパティ -> デバッグ -> コマンド引数にファイル名を書けば良いと思う。
72:31 ◆3CnrSiNVYE
08/10/04 21:26:24
>>69
>>71
申し訳ありません。ちょっとよくわかりませんでした。
>>71を参考にして適当なテキストファイルのフルパスをコマンド引数に書いてみたのですが、
Ctrl+F5(ビルド)しても「何かキーを押してください」と出て終了してしまいます。
URLリンク(soudan1.biglobe.ne.jp)
ここを参考にしてみたのですが、よくわかりません
73:31 ◆3CnrSiNVYE
08/10/04 21:42:41
なんか宿題の本筋からずれてますね。
visualC++のスレで聞いてきます。
74:デフォルトの名無しさん
08/10/04 23:21:18
1] 授業単元:C++
[2] 問題文(含コード&リンク):八の字を描け。問題→URLリンク(www.dotup.org)
自分でやってみたのですが、出発地点から円を描く事しかできませんでした。
この画像で黄色のところが出発地点で、緑の所が執着地点です→URLリンク(www.dotup.org)
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ名とバージョン:Visual Studio 2005又はVisual Studio 2008
[3.3] 言語:C++
[4] 期限: ([2008年10月6日午前5:00まで
[5] その他の制限:何か説明不足な点がありましたら言って下さい。どうかお願いします。
75:デフォルトの名無しさん
08/10/05 01:19:04
C言語って懐かしいな
76:デフォルトの名無しさん
08/10/05 02:55:53
やったことないからよくわかんないけど、-270度まで回転するのがまずいんでないの?
-90度回転させて、中心点を左の円のものにして+90度からプラス方向に360度回転させて、
元の中心を使って-90度から-270度まで回転させればいくんでない?
やり方は知らないんだけど。
77:デフォルトの名無しさん
08/10/05 09:19:23
半円を4つ描くと思えばいい
78:デフォルトの名無しさん
08/10/05 09:36:52
twintail.jpからel.hなくなってるじゃん
コンパイルできないからうpれよ
79:デフォルトの名無しさん
08/10/05 11:25:26
C と C++ とC# と、後なんか。 何がどう違うの? 簡単な表にしてZIPでくれ。
80:デフォルトの名無しさん
08/10/05 11:29:00
>>79
失せろ
81:デフォルトの名無しさん
08/10/05 11:30:17
>>80 「わかりません」ってハッキリ言えwww
82:デフォルトの名無しさん
08/10/05 11:47:12
>>79
どういう視点で違いを知りたい?
83:デフォルトの名無しさん
08/10/05 13:15:48
みなさん童貞ですか?
84:デフォルトの名無しさん
08/10/05 14:09:03
>>18
ワロタwwww
85:74 ◆5/7mhL.nO6
08/10/05 14:53:36
>>78
elってこれですか?
URLリンク(www.dotup.org)
86:デフォルトの名無しさん
08/10/05 16:52:12
AGE
87:デフォルトの名無しさん
08/10/05 20:01:02
>>12>>16>>34です
どうか助けてもらえませんか…
88:74 ◆5/7mhL.nO6
08/10/05 21:16:20
誰か>>74をお願いいたします。
89:デフォルトの名無しさん
08/10/05 21:16:49
>>87
今から始める。のんびりまってて。
90:デフォルトの名無しさん
08/10/05 21:28:25
>>87
URLリンク(www.nigauri.sakura.ne.jp)
BCC Developerで拡張子を.cppとして作成。
コメントはほとんどなし。
間違ってたらすまない。
まぁ、参考程度にしてもいいし、ゴミ箱直行でもいいし。
91:デフォルトの名無しさん
08/10/05 21:29:00
>>89
いくらでも待ちます。ハチ公のように。
本当にありがとうございます。
92:デフォルトの名無しさん
08/10/05 21:31:49
二度と戻らぬ主人を待ち続けるハチ公であつた。
93:90
08/10/05 21:32:38
あ、>>89さんゴメン。かぶった。
プログラム>>89のほうがいいかもしれないよ。俺あんまりこのスレきたことないから
94:デフォルトの名無しさん
08/10/05 21:33:39
>>90
ありがとうございます。参考にさせてもらいます。
C初めて間もないので、とても為になります。
95:デフォルトの名無しさん
08/10/05 21:44:25
>>93
大丈夫、実はやってない。
96:デフォルトの名無しさん
08/10/05 22:08:56
>>95
マジですか?…
わかりました。では>>90さんのを元に、各行の説明付けに励みたいと思います。
>>90さんありがとうございました。
97:74 ◆5/7mhL.nO6
08/10/05 22:18:48
>>74の「八の字」の描き方もお願いします。
円はできたのですが、八の字はどのようにやったら良いかわかりません。
98:デフォルトの名無しさん
08/10/05 22:22:58
円を二個くっつければ八の字にならないか?
99:デフォルトの名無しさん
08/10/05 22:53:16
○○
でも八の字といえば八の字だよな
100:デフォルトの名無しさん
08/10/05 23:01:11
[1] 授業単元:C言語演習
[2] 問題文(含コード&リンク):英文文書整形プログラム
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限: 10月8日
[5] その他の制限:特にありません
よろしくお願いします
101:デフォルトの名無しさん
08/10/06 00:10:49
>>99
○
○
こっちじゃね?
102:デフォルトの名無しさん
08/10/06 00:13:13
>>100
そこだけ見るとゼペット爺さんなんか痛い子
103:デフォルトの名無しさん
08/10/06 00:18:39
>>100
51文字目にカンマやピリオドがあったらどうする?
1.直前の単語ごと次の行へ
2.カンマやピリオドが行の先頭にあっても構わない
3.行の後ろにこっそりつける
104:デフォルトの名無しさん
08/10/06 00:29:53
>>103
ピリオドや?などは単語の一部という扱いでいいと思います
ですので「1」で大丈夫です
105:デフォルトの名無しさん
08/10/06 03:10:26
>>97
>>76は?もう期限近いけどさ。
106:デフォルトの名無しさん
08/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
08/10/06 07:10:44
>>105
期限は今週中なら一応大丈夫です。
>>106
これはどこのソースに書き込みましたか?
108:106
08/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
08/10/06 07:41:46
書き忘れた
もう仕事に行く時間なので
夜になるまで応答できないかも
110:74 ◆5/7mhL.nO6
08/10/06 08:11:20
>>109
ありがとうございます。
やってみるので、夜になったらまた見てもらえますか?
それまで自分でやってみます。
111:21
08/10/06 11:27:20
>>61
よし動いた。
・・・あれ肝心のソートがされてないorz
誰か13時までに原因を教えてください。
112:デフォルトの名無しさん
08/10/06 12:01:51
1] 授業単元:C++
[2] 問題文(含コード&リンク):
URLリンク(kansai2channeler.hp.infoseek.co.jp)
・「年(西暦)」「月」を入力したら,その月のカレンダーを表示するプログラムを作成しなさい。ただし,下記の条件を満たすものとする。
【条件】
(1)カレンダークラスを作成し,main関数でカレンダークラスの実体を生成し,カレンダークラス内のメンバ関数(show関数)を呼び出してカレンダーを表示する。
(2)カレンダークラスはカプセル化されていること。
(3)カレンダー表示には,年,月および曜日,日を表示すること。
(4)上記以外については自由に作成してよい。
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ名とバージョン:Visual Studio 2008
[3.3] 言語:C++
[4] 期限: ([2008年10月8日
113:デフォルトの名無しさん
08/10/06 17:59:06
>>112
URLリンク(kansai2channeler.hp.infoseek.co.jp)
問題文のリンクを元に作ったけども
正直カレンダークラスに year と month ないほうが綺麗になると思う
114:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/10/06 18:40:59
>>113
そんなに無理矢理三項演算子使わなくても…
116:デフォルトの名無しさん
08/10/06 18:53:21
>>115
使わないと分かりにくいかなと思って使ったんだけども・・・
取っても結果同じだから、違和感あるなら取ってね
117:デフォルトの名無しさん
08/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
08/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:デフォルトの名無しさん
08/10/07 00:42:13
#define PI 3
120:デフォルトの名無しさん
08/10/07 00:55:07
笑ったけど本気にしたらかわいそうだ
>>118
#define PI 3.141592
warningってのは警告だから無視すればいい
121:デフォルトの名無しさん
08/10/07 01:35:20
[1] C言語演習
[2] URLリンク(kansai2channeler.hp.infoseek.co.jp)
URLリンク(kansai2channeler.hp.infoseek.co.jp)
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] C
[4] 今週の水曜日
よろしくお願いします。
122:デフォルトの名無しさん
08/10/07 02:49:18
>>118
> >>108のように書いたのですが、
>>108
> ちなみにPIは3.141592にdefineしてある
はぁ。
123:74 ◆5/7mhL.nO6
08/10/07 04:23:57
>>119
>>120
>>122
すみません見落としていました…
とりあえず、>>106を参考に作りました。
URLリンク(www.dotup.org)
するとこのようなエラーが出るのですが…ファイルを見て確認してみて下さい。
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
08/10/07 06:01:05
>>123のエラーは全て自己解決しました。
普通にコンパイルできるのにちゃんと表示されないのですが…
URLリンク(www.dotup.org)
>>108のようにやったのに表示されません…
125:106
08/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:デフォルトの名無しさん
08/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
08/10/07 08:04:53
>>125
>>126
できました!ありがとうございます!
これを元に波線の軌道もやってみますので、分からなくなったら再び質問します。
128:112
08/10/07 10:41:20
>>113
デバックしましたけど何も表示されませんでした。
129:デフォルトの名無しさん
08/10/07 11:03:35
>>128
デバック???
「修正してやったぜ」って意味か?
失礼な奴だな
知らない言葉は調べたほうがいいぜ
130:デフォルトの名無しさん
08/10/07 12:27:22
デバッグ実行のことじゃね
131:デフォルトの名無しさん
08/10/07 12:39:16
VSが「デバッグ開始」て書いてあるから間違って覚えたんだろ
132:デフォルトの名無しさん
08/10/07 12:41:45
>>128
コマンドライン引数が無いときの処理が無いからな
133:デフォルトの名無しさん
08/10/07 13:10:31
>>121
2番目の問題だけ
URLリンク(kansai2channeler.hp.infoseek.co.jp)
134:21
08/10/07 16:58:43
誰か61のプログラムでソートされない原因を
教えてください。
お願いします
135:デフォルトの名無しさん
08/10/07 17:07:23
>>134
やってみたらソートされたが、どんなデータを与えたの?
136:21
08/10/07 17:12:27
>>135
./kadai3-2 s sa
と入力しました。./kadai3-2が実行プログラムで
Sが読み込ませるプログラムでsa
137:21
08/10/07 17:14:56
すいません途切れました。
saが出力させるファイルで
sの中身は1,2,3,4,5,6,7,という
数字が記録されています。
実行するとsaの中身は
1,2,3,4,5,6,7となっていて
ソートされてないのです。
138:デフォルトの名無しさん
08/10/07 17:20:01
>>137
落ち着けよ
意味がわからんよ
139:デフォルトの名無しさん
08/10/07 17:24:26
>>137
見事にソートされているように見えるんだが。。
たとえばsを 3,6,1,5,2,7,4 という内容にしてみたら。
ソートの意味がわかっていないのか、それとも>>21の思っているソートがこちらに伝わっていないのか。
140:21
08/10/07 17:35:18
あっ、あぁ、ほんとだ。
ごめんなさい。
いつのまにか俺のなかで
ソートの種類が勝手に順番を逆にするソート
にすり変わってたorz
思い込みってやだな。
お手数かけました。
心よりお詫び申し上げます。
141:デフォルトの名無しさん
08/10/07 17:54:06
[1] 初級プログラミング
[2]
#include <stdio.h>
int main(void){
int a,b,c,d,e,f,g,h,i,j,k,l,m;//a〜m(13個,数は固定)には整数0か1が毎回ランダムに入るとしてください
a=1;b=0;c=0;d=1;e=0:f=1;g=1;h=1;i=1;j=0;k=1;l=1;m=0;//例
printf("%d",a); printf("%d",b); printf("%d",c); printf("%d",d);
printf("%d",e); printf("%d",f); printf("%d",g); printf("%d",h);
printf("%d",i); printf("%d",j); printf("%d",k); printf("%d",l);
printf("%d",m);
printf("\n");
//表示 1001011110110
/*以下に13ビットの値を16進数に変換するプログラムを記述せよ*/
printf("%d",?); printf("%d",?); printf("%d",?); printf("%d",?);
printf("\n");
return 0;
}
abcdefghijklmが
1001011110110 の時は 12f6 と表示 aが4桁めb〜eが3桁めf〜iが2桁めj〜mが1桁めとなるようにする
[3] 環境
[3.1] OS:linux [3.2] gcc3.4 [3.3] c
[4] 期限: 10/8
[5] その他の制限:なし
142:デフォルトの名無しさん
08/10/07 18:01:51
>>141
?を埋める形じゃないとだめ?
143:デフォルトの名無しさん
08/10/07 18:05:07
というわけでもないと思うので、こうしてみたよ。
printf("%d",a); printf("%x", b*8+c*4+d*2+e); printf("%x", f*8+g*4+h*2+i); printf("%x", j*8+k*4+l*2+m);
もしくは
printf("%d",a); printf("%x", b<<3|c<<2|d<<1|e); printf("%x", f<<3|g<<2|h<<1|i); printf("%x", j<<3|k<<2|l<<1|m);
144:141
08/10/07 18:06:39
>>142
?は自分がこんな感じかなと勝手に考えて書いたものですので
無視してもらっても大丈夫です。
145:141
08/10/07 18:20:49
>>142,143
ありがとうございます。出来ました。
146:デフォルトの名無しさん
08/10/07 20:51:46
ソース
URLリンク(kansai2channeler.hp.infoseek.co.jp)
データ
URLリンク(kansai2channeler.hp.infoseek.co.jp)
テキスト形式のデータを読み込んで,マージソートをして
ナップサック問題をとくソートなんだが
item数 n = 100 重量制限 B = 2000
データは item p[i] w[i]の順に並んでるよ
ここにいてるできる奴ならもっと短くできるよね
B5に収まるくらいの美しいソートおしえてたもれ
<stdio.h><stdlib.h><math.h>くらいだけで
シンプルにできる人、たのんます
あっしのノー味噌ではうつくしくできないので.
147:146
08/10/07 20:58:31
×美しいソート
○美しいソース
です;
頭んなか、ソートだらけか….
148:デフォルトの名無しさん
08/10/07 21:15:30
>>1くらい読め
149:デフォルトの名無しさん
08/10/07 21:15:47
>>146
qsort を使うとか
150:146
08/10/07 21:28:19
>>148
宿題を解いて,もっと短くできるから
やってみろって言われたんです;
テンプレどおりに書かなかったのはすみません。
>>149
マージソートで、数十行くらいで作れるらしいです。
それをやれといわれました;
教科書通りにやるのはできるんですが
短くするとなると、なかなか凡人クラスの頭のキレでは難しくて.
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4309日前に更新/366 KB
担当:undef