08/08/11 15:42:37
[1] 数理物理
[2] 1、∫(sinx)^πdx (∫の上が1、下が0)
の計算をガウス・ルジャンドル積分法とモンテカルロ法で計算し、比較せよ。
2、x,y,z>0 x+y+z<1 で囲まれる三角錐に
(x-1/3)^2+(y-1/3)^2+(z-1/3)^2>(1/2√3)^2
の球で削った部分の体積を求めよ。
[3] 環境
[3.1] Linux
[3.2] ?
[3.3] C
[4] 明後日までにお願いします。
どうしてもわからないのでお願いします。
143:デフォルトの名無しさん
08/08/11 15:57:38
>>142
C/C++の宿題を片付けます 114代目
スレリンク(tech板:619番)
スレリンク(tech板:723番)
144:デフォルトの名無しさん
08/08/11 16:37:38
[1] c入門
[2] 単方向,非循環の線形リストをC言語でつくれ
(条件ポインタ,構造体を使用する・線形リストの生成・データ削除の機能)
[3] 環境
[3.1] Linux
[3.2] gcc
[3.3] C
[4] 今日
145:デフォルトの名無しさん
08/08/11 16:50:52
>>144
C/C++の宿題を片付けます 114代目
スレリンク(tech板:606番)
146:デフォルトの名無しさん
08/08/11 17:15:42
>>145
727 名前:デフォルトの名無しさん[sage] 投稿日:2008/07/31(木) 16:47:18
>>606
URLリンク(kansai2channeler.hp.infoseek.co.jp)
147:デフォルトの名無しさん
08/08/11 17:20:05
>>139
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#define NUMBER_MAX 75
void swap(int *a, int *b){int c;c=*a; *a=*b; *b=c;}
void disp_numbers(int number[], int number_num){
int i;
system("cls");
for(i=0;i<number_num;i++) printf(" %2d ", number[i]);
printf("\n");
}
int main(void){
int number[NUMBER_MAX], i, x, keycode, is_exit=0;
for(i=0;i<NUMBER_MAX;i++) number[i]=i+1;
for(i=0;i<NUMBER_MAX;i++){
for(disp_numbers(number, i);;){
x=rand()%(NUMBER_MAX-i);
printf(" %2d \r", number[i+x]);
if(_kbhit() && (keycode=_getch())){
if(keycode==' ' || keycode=='E' || keycode=='e'){
swap(&number[i], &number[i+x]);
is_exit=(keycode=='E' || keycode=='e');
break;
}
}
}
if(is_exit) break;
}
disp_numbers(number, i);
return 0;
}
148:デフォルトの名無しさん
08/08/11 17:52:30
[1] c入門
[2] 2分探査木と平衡木のどちらかをc言語でつくれ
(データの追加、削除をする機能を含む)
[3] 環境
[3.1] Linux
[3.2] gcc
[3.3] C
[4] 今日
テンプ無視してすいません
よろしく願いします
149:デフォルトの名無しさん
08/08/11 18:04:26
>>148
C/C++の宿題を片付けます 114代目
スレリンク(tech板:175番)
URLリンク(www.psg.cs.titech.ac.jp)
150:デフォルトの名無しさん
08/08/11 19:21:14
>>144
仕様が指定されてない故、クソースでいくでおじゃっ、少し待ってたもう
151:デフォルトの名無しさん
08/08/11 20:03:21
>>144
URLリンク(kansai2channeler.hp.infoseek.co.jp)
番号を追加するだけでおじゃる
152:デフォルトの名無しさん
08/08/11 21:16:58
>>151
番号を追加するとはどういうことでおじゃるか
無能なまろに教えてくだしゃれ
153:デフォルトの名無しさん
08/08/11 22:12:00
ハンゲーム - チョコットランドと言うゲームで
NPC_2047から始まるクエストのプログラムで教えて頂きたいのです
クエストを受ける→クリアを素材、回数制限をなくしたくて
いろいろ試しているのですが
クエストが止まる、うけれなくなるの繰り返しで進めません
どうかご教授おねがいします
プログラムを書きたいのですが長すぎで省略すみません
154:デフォルトの名無しさん
08/08/11 22:16:37
>>152
実行して、追加、一覧表示で調べてみれば分かる
155:デフォルトの名無しさん
08/08/11 22:32:50
>>153
ケーブル抜いて首つれ
156:デフォルトの名無しさん
08/08/12 01:44:24
>>144
>>151は先頭を削除したときの対処をしていなかったでおじゃる。訂正。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
157:デフォルトの名無しさん
08/08/12 08:47:32
自演で宿題w
158:デフォルトの名無しさん
08/08/12 12:27:45
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
A B C D E Fの6つのアルファベットから3つ選んだときの順列を列挙するプログラムを作れ
6P3=120通りである。l
[3] 環境
[3.1] OS:Xp
[3.2] コンパイラ名とバージョン: gcc 3.4
[3.3] 言語: C
[4] 期限: 明日
[5] その他の制限: ありません
159:デフォルトの名無しさん
08/08/12 12:35:15
>>158
puts("ABC");
puts("ACB");
puts("BAC");
puts("BCA");
・
・
・
puts("FED");
160:デフォルトの名無しさん
08/08/12 13:20:25
>>158
#include <stdio.h>
int main()
{
int i,j,k;
int count;
const char *table = "ABCDEF";
count = 0;
for(i = 0; i < 6; ++i){
for(j = 0; j < 6; ++j){
if(i == j)continue;
for(k = 0; k < 6; ++k){
if(k == i || k == j)continue;
if((count % 10) == 0)
printf("\n");
printf("%c%c%c ", table[i], table[j], table[k]);
count++;
}
}
}
printf("\n%d個", count);
return 0;
}
161:デフォルトの名無しさん
08/08/12 13:46:02
テーブル使わないver
#include<stdio.h>
int main()
{
int i,count=0;
for(i=0 ;i<6*6*6;i++)
{
int a1,a2,a3;
a1= i%6;
a2= (i/6)%6;
a3= i/(6*6);
if( a1 == a2||a2==a3||a3==a1)
continue;
printf("%c%c%c\n",a3+'a',a2+'a',a1+'a');
count++;
}
printf("%d",count);
return 0;
}
162:デフォルトの名無しさん
08/08/12 13:50:48
再帰で書こうとしたが無理だったorz
163:デフォルトの名無しさん
08/08/12 13:54:39
157 名前:デフォルトの名無しさん 投稿日:2008/08/12(火) 08:47:32
自演で宿題w
164:デフォルトの名無しさん
08/08/12 13:55:32
>>162
かけなくもないが、これは再帰で書く意味なくないか?
165:デフォルトの名無しさん
08/08/12 13:57:38
どう考えても再帰のほうが楽
#include<stdio.h>
void go(){
int i=0,flag=0,j_[3];
char s[4];
j_[0]=-1;s[3]=0;
do for(flag &= ~(1<<j_[i]);++j_[i]<6;)
if(!(flag&1<<j_[i])){
s[i]=j_[i]+'A';
if(i+1==3)puts(s);
else{
flag |= 1<<j_[i++];
j_[i]=-1;
}
}
while(i--);
}
int main(void){
go();
return 0;
}
166:デフォルトの名無しさん
08/08/12 14:00:10
>>165
天才
167:デフォルトの名無しさん
08/08/12 14:05:55
再・・・帰?
168:デフォルトの名無しさん
08/08/12 14:13:04
うわ、再帰と非再帰間違った。
こっちを適当に非再帰に書き直したやつを張っちまった。
#include<stdio.h>
void go(char s[4],int flag,int i){
int j;
if(i==3){puts(s);return;}
for(j=0;j<6;++j)
if(!(flag&1<<j)){
s[i]=j+'A';
go(s,flag|1<<j,i+1);
}
}
int main(void){
char s[4];
go(s,0,0);
return 0;
}
169:デフォルトの名無しさん
08/08/12 14:20:38
なるほど・・・・使った文字をビット立てて記録しておくわけか
参考になったtnx
170:デフォルトの名無しさん
08/08/12 14:22:51
>>168
s[3]にごみが入ってて変になったよ
171:デフォルトの名無しさん
08/08/12 14:32:58
ここ思ったより人いるね、やっぱ学生が多いのか?
172:デフォルトの名無しさん
08/08/12 14:34:47
>>170
非再帰に直してる途中で発見したバグだから、
非再帰のほうでしかデバグしてなかった。
thx
173:デフォルトの名無しさん
08/08/12 14:50:07
>>165 が優秀過ぎ ><;
174:デフォルトの名無しさん
08/08/12 15:54:25
>>168
int i=0;
int j=1;
char s[4];
この条件で
s[i]=j+'A'
上記(s[0])に入るのって何なんでしょうか。メモリ内で'A'という文字が格納されたアドレスの、1バイト後のアドレス、すなわち'B'をs[0]に代入?
また、以下の条件を追加して、
int flag=0;
>>168にあるように、
if(!(flag&1<<j){
...}
とあったら、これは
・1をjbitずらす(=2)
・flagと2の論理積(=0)
であると思うのですが、その後の ! が解釈出来ません。
もし0じゃなければ、と解釈しようとしても、何が0じゃなければ?という疑問です。
175:デフォルトの名無しさん
08/08/12 15:57:17
'A' にアドレス関係ないぞ、定数だ。
176:デフォルトの名無しさん
08/08/12 16:45:08
>>174
・flagと2の論理積(=0)
↑これが0かどうか
177:デフォルトの名無しさん
08/08/12 18:04:43
>>175
配列に代入する場合、s[i]=1+'A' という表記は、その右辺は、'A'の格納されたアドレスに+1バイトのアドレスに格納された文字と同等である、ということになるのかと思いました。
いずれにしろchar型の配列に格納できるのは1バイトまでですから、上記のように考えてBという文字が格納されたんだと認識しないと意味が分からなかったので。
私の文章を見ると上記と言ってることが違いますね。
>>176
& とはビット毎の論理積で、だとすると
0000 // flag
0010 // 10進数の2の2進表記
0000 // 各ビットの論理積。10進表記すると0
調べたところ、論理積とはある数の第一ビット(右から二番目)が立っているか否かを調べるもの、と書いてありました。
それに従えば、flagは第一ビットが立っていないと言えないでしょうか。
178:デフォルトの名無しさん
08/08/12 18:19:37
>>177
元の話、全然見てないが、、、
環境によるけど通常、'A' は65だ。
s[i]=1+'A' なら、 s[i] = 1 + 65 つまり 66 を代入。
(文字コード66はすなわち 'B'だ)
for(j=0;j<6;++j)
if(!(flag&1<<j)){
この部分は自分で展開してみればいい
j が 0のとき
flag & 1 << 0 → flag & 00000001
1のとき
flag & 1 << 1 → flag & 00000010
以下
flag & 1 << 2 → flag & 00000100
flag & 1 << 3 → flag & 00001000
& の結果、flagの該当位置が1じゃなかったら結果が0になるだろ
0は偽だから、!で反転して真になる。
つまり左から j 番目のビットが0の場合にif文以下が実行される。
179:デフォルトの名無しさん
08/08/12 18:36:42
>>178
分かりました。レス下さった方々、ありがとうございました。
180:デフォルトの名無しさん
08/08/13 16:55:23
宿題カモーーーンっ!リストカモーーンッ!麻呂のクソースで対処するでおじゃっ
181:デフォルトの名無しさん
08/08/14 00:57:13
構わん、うpロダにソースを上げろ(麻呂の碇ゲンジバージョンのAA略)
182:デフォルトの名無しさん
08/08/14 04:51:55
[1] 授業単元:リスト
[2] 問題文(含コード&リンク):
単方向リストのソート関数を完成させよ
ソート順は昇順、降順のいずれでもよい
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 特になし
[5] その他の制限: 標準ライブラリの範囲内で
183:182
08/08/14 04:53:05
>>182 は宿題ではありません
気が向いたらやってみてください
184:デフォルトの名無しさん
08/08/14 06:58:29
麻呂はリストのソートは出来なかったでおじゃる(過去ログ参照)
出来なかったけど、やればなんとかなる、けど マンドクセッ でおじゃる。
185:デフォルトの名無しさん
08/08/14 17:29:32
>>182
list_t *list_sort(list_t *list, int (*cmp_func) (const data_t, const data_t))
{
list_t *i, *j, *next, *item, *tmp;
list_t head;
head.next = list;
for (i = &head; i->next; i = next) {
next = i->next;
for (j = &head; j->next != i->next; j = j->next) {
if (cmp_func(i->next->data, j->next->data) < 0) {
item = i->next;
i->next = i->next->next;
tmp = j->next;
j->next = item;
item->next = tmp;
break;
}
}
}
return head.next;
}
186:デフォルトの名無しさん
08/08/14 17:45:28
■■みんなでサイトつくろうぜwwwwwwwwwwwwwwww■■
「お前ら一緒にサイト作ろうぜwwwwwwwwww」
「2ちゃん越えるサイト作ろうぜwwww」
「仕事無いんだ・・・・・・」
「やろうぜ!」
「みんなでサイトつくろうぜwwwwwwwwww」
URLリンク(gacco.o0o0.jp)
スレリンク(news4vip板)
URLリンク(ex14.vip2ch.com)
興味沸いたらきてください!
======================!! 人材募集中 !!======================
■プログラムを組んでくれる人
*サーバー側
言語はRubyかPerlの予定ですが、Perlが有力候補。
・チャット
定期的にクライアントから着信があり、それに対して更新されたチャットのメッセージを返信する程度の能力。じゃなくて機能。
通信するときのフォーマットは未定。
・ログイン・アカウント管理
ログイン認証、各アカウントの点数などの管理。データベースは未定。
・お絵描き
未定。とりあえず鯖に負担がかからない程度にたまに画像を送信してあげるって感じで
*クライアント側
はっきり言って俺もわからね。Ajaxだとかflashだとかjavaだとか。
■機能提案(正しくは人材ではなく、意見?)
「こんな機能があったら良い!」「こうするともっと楽しくなる!」などの意見募集中。
挨拶とか気にせずスレにどんどん書き込んでくれればおk
■デザイン
サイトのデザインを考えてくれる人、作ってくれる人募集中。
できればphotoshop illustrator使える人(プロジェクト共有しやすいので)
187:デフォルトの名無しさん
08/08/14 18:03:20
>>186
wwwwwwwww 草が多過ぎてぁゃιぃから却下w
188:デフォルトの名無しさん
08/08/15 19:18:21
>>86 でミルククラウンに挑戦するものはいないか!
期日までにできるかどうか分からないし
二次元として計算する予定だからクラウンになるかどうかあやしいけどw
189:デフォルトの名無しさん
08/08/16 09:09:52
宿題こないね
190:デフォルトの名無しさん
08/08/16 09:14:54
休みだしコミケだしな
191:デフォルトの名無しさん
08/08/16 10:58:24
コミケは関係ないだろ
192:デフォルトの名無しさん
08/08/16 12:36:31
逆走すんなよ
193:デフォルトの名無しさん
08/08/16 13:22:02
英語のwrong wayには、一通を逆走するという意味と、道を誤るの二つの意味がある
194:デフォルトの名無しさん
08/08/16 15:41:59
後者の意味でどっちも説明できるな。
195:デフォルトの名無しさん
08/08/16 21:17:46
This is a pen. とかの英文章をファイルで入力して
単語ごとにバッファに詰めたいんですが上手くいきません。
単語の長さも持たせたいので構造体を使いたいです。
知恵を貸してください、お願いします。
196:デフォルトの名無しさん
08/08/16 21:22:40
stringつかえよ
197:デフォルトの名無しさん
08/08/16 21:22:45
上手くいかないソースを出せば知恵を貸してくれる人もいるだろうな
198:デフォルトの名無しさん
08/08/16 21:28:33
strtokとstd::stringでOKだよ
199:デフォルトの名無しさん
08/08/16 22:07:07
while ((c = fgetc(in)) != EOF) {
if ( (c != ' ') || (c != '\t') || (c != '\n') ) {
strcat(wp->string, c);
wp->length = strlen(wp->string);
} else {
strcat(wp->string, '\0');
wp++;
}
}
こんな感じで一個一個結合しようとしたんですが、
strcatは文字列同士じゃないといけないっぽくてでできなくて。
strtok便利そうですね。
200:デフォルトの名無しさん
08/08/16 22:12:02
>>199
よくわかんないけど、
wp->length = strlen(wp->string);
wp->string[wp->length] = c;
++(wp->length);
wp->string[wp->length] = '¥0';
こんな感じじゃ駄目なの?
201:デフォルトの名無しさん
08/08/16 22:30:49
>>200
文字化けとセグメントエラーでした。
strtok使ったほうが簡単そうなんでそっちで考えてみます
202:デフォルトの名無しさん
08/08/17 01:28:39
>>195
C?C++?
C++なら while(ifs >> str) strlist.push_back(str);
だけで済みそうな気がする
203:デフォルトの名無しさん
08/08/17 02:28:36
>>201
おそらくはポインタの指す先が確保されていない
204:デフォルトの名無しさん
08/08/17 09:49:09
すいません関数がわかりません。
[]の中に答えが入ります。
3つの整数を入力して、その和を表示する。
3つの整数の和を求めるkasan()関数を使う。
[]
void main(void)
{
int a,b,c,wa;
scanf("%d%d%d",&a,&b,&c);
printf("%d+%d+%d=%d\n",[]);
}
[]kasan([])
{
int kotae;
kotae=x+y+z;
[]
}
205:デフォルトの名無しさん
08/08/17 09:50:49
printf("%d+%d+%d=%d", a, b, c, kasan(a, b, c);
int kasan(int x, int y, int z)
return kotae;
206:デフォルトの名無しさん
08/08/17 09:52:10
あ、忘れた
#include <stdio.h>
それと
printf("%d+%d+%d=%d", a, b, c, kasan(a, b, c)); ←ここカッコ2つ
207:デフォルトの名無しさん
08/08/17 09:53:43
>>204
最初のところにプロトタイブ宣言が抜けてました。すいません
208:デフォルトの名無しさん
08/08/17 09:56:45
あ、そうだね。
int kasan(int x, int y, int z);
が必要か。
209:デフォルトの名無しさん
08/08/17 10:01:48
さっきのやつです。
点数を入力して、60点以上なら"合格"、60点未満なら"不合格"、と表示する。
点数によって"合格"、か"不合格"かを表示するhantei()関数を使う。
[]/*プロトタイプ宣言*/
void main(void)
{
int ten;
scanf("%d",&ten);
[]
}
[]hantei([])
{
if(data>=60)
printf("合格");
else
printf("不合格");
}
210:デフォルトの名無しさん
08/08/17 10:16:59
void hantei'int data);
hantei(ten);
void hantei'int data)
211:デフォルトの名無しさん
08/08/17 10:20:59
これで最後です。
2つの実数を入力して、その積と商を表示する。
2つの実数の積と商を求めるkeisan()関数を使う。
[]/*プロトタイプ宣言*/
void main(void)
{
float s,t,seki,sho;
scanf("%f%f",&s,&t);
[]
printf("%.1f*%.1f=%.1f\n",[]);
printf("%.1f/%.1f=%.1f\n",[]);
}
[]keisan([])
{
[]=su1*su2;
[]=su1/su2;
}
212:デフォルトの名無しさん
08/08/17 10:28:37
void keisan(float su1 float su2, float *seki, float *sho);
keisan(s, t, &seki, &sho);
printf("%.1f*%.1f=%.1f\n", seki);
printf("%.1f/%.1f=%.1f\n", sho);
void keisan(float su1, float su2, float *seki, float *sho)
*seki=su1*su2;
*sho=su1/su2;
213:デフォルトの名無しさん
08/08/18 23:04:51
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク): 多倍長演算(10進数)
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C++
除算のやり方がよくわかりません。
214:デフォルトの名無しさん
08/08/19 17:37:02
>>213
桁の数、期限が分かりません
215:デフォルトの名無しさん
08/08/19 20:01:05
>>213
やり方は筆算と引き算
符号に注意
216:デフォルトの名無しさん
08/08/19 20:42:09
すいませんはじめてなのですが。
長いソースコードでもここで質問してよろしいですか?
上の方にあるリンクは全然開けなくて。
217:デフォルトの名無しさん
08/08/19 21:04:41
単なる質問ならスレ違い
宿題を丸投げするならできればうpろだを使ってください
218:デフォルトの名無しさん
08/08/19 21:18:27
丸投げではないんですけどすでにソースコードを打ち込んだ後なのですが
メモリリークを起こしていて理由がよくわからないので教えていただきたい
のですが
219:デフォルトの名無しさん
08/08/19 21:22:00
>>218
ロダにうpしてみてよ
複数ファイルならzipとかで
220:デフォルトの名無しさん
08/08/19 21:31:43
遅れてすいませんUpろだに投稿しました。
自分はリソースの番号管理を作っていて、リソースを読み込むときに番号
を使用してるのをカウントして動的に管理しようとしているのですが。
メモリリークを起こしてしまって自分では対処できませんよろしくお願いします。
221:デフォルトの名無しさん
08/08/19 21:32:35
URLリンク(kansai2channeler.hp.infoseek.co.jp)
222:デフォルトの名無しさん
08/08/19 21:34:38
はいこのファイルです。どうかよろしくお願いします
223:デフォルトの名無しさん
08/08/19 21:35:51
エラー E2209 resource1.cpp 275: インクルードファイル 'gslib.h' をオープンできない
エラー E2209 resource1.cpp 308: インクルードファイル 'TestResourceList.h' をオープンできない
おいファイルが足りんぞ
これじゃCodeGuardを掛けられない
224:デフォルトの名無しさん
08/08/19 21:41:50
>>220
boost の shared_ptr についての質問で
class A
class B : public A
boost::shared_ptr< A > ptr=new B;
このとき B のデストラクタは呼ばれますかってこと?
225:デフォルトの名無しさん
08/08/19 21:47:13
すいません修正版をうpろだに上げました。
いいえ、理由はよくわからないのですが。ResourceList単体ではリークは
起こさないのですが。ResourceManagerに実装しようとするとリークが起こってしまうんです
226:デフォルトの名無しさん
08/08/19 22:02:53
これって、そもそも、何に基づいてリークが起きていると判断してるんだ?
227:デフォルトの名無しさん
08/08/19 22:10:59
相変わらず "gslib.h" が無いと言われるからこの行だけコメントアウト
してCodeGuard掛けてみたが、リークはないみたいだぞ
228:デフォルトの名無しさん
08/08/19 22:11:22
>> 226
自分が通っている学校の先生の作ったCxxTestのプログラムでのチェック
なのですが
229:デフォルトの名無しさん
08/08/19 22:17:22
そのCxxTestやらがおかしいんじゃないの?
230:デフォルトの名無しさん
08/08/19 22:36:36
なんかCodeGuard至上主義の人がいるようだが、それ使うと何がどこまで検出されるの?
231:デフォルトの名無しさん
08/08/19 22:47:54
>>229
そうですか、自分でもメモリリークをCrtDbgでやって見ましたがリークが
検出できないのでCxxTestのプログラムの所為かもしれないです。
教えていただいてありがとうございました。
232:デフォルトの名無しさん
08/08/19 22:50:42
>>230
メモリリークはほぼ100%、それから非初期化領域も
かなりの確率で発見できる。これだけのためにC++Builderを買ったぐらい。
ただC++以前に開発された部分がかなり残っているらしく、継承した
クラスを参照で渡すとそれも検出しやがる。例えばstd::ostreamに
std::fstreamを渡すとそれはひどい事に。まあ意図して検出しているの
かもしれんけど。
233:デフォルトの名無しさん
08/08/19 22:52:52
おっと誤解のないように
std::ostreamにstd::ofstreamな。わかると思うけど
こんなの検出する必要ねーしオプションで制御できるようにしとけ
234:デフォルトの名無しさん
08/08/20 15:02:30
<windows.h>をつかわず
ビットマップを読み込んで、色を文字で表したテキストファイルを出力する
◆仕様
・ビットマップは24bit限定
・テキスト出力フォーマット
0 1 2 3 ...
1 xx xx xx
2 xx xx xx
3 xx xx xx
.
.
.
・対象ビットマップ
赤、青、緑、白、黒
◆コマンドライン引数
1.入力ビットマップファイル名
2.出力テキストファイル名
Cでおねがいできますか?
235:デフォルトの名無しさん
08/08/20 15:13:21
まだビットマップ読み込む課題出す駄目教師いるんだな
236: ◆gnmPGtYhqU
08/08/20 15:51:10
[1]C言語応用
[2] URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3]OS:Windows 言語:C
[4]2008/08/26 23:59まで
[5]特に制限はありません
よろしくお願いします
237:デフォルトの名無しさん
08/08/20 15:53:34
>>234
そもそも、ここで言う「ビットマップ」はファイルから読み込むらしいが、
そのフォーマットはどうなってるんだ?
238:234
08/08/20 15:56:08
ペイントでbmpファイルは自作です
239:234
08/08/20 16:28:31
すみません見当違いなレスしてしまいました
DIB形式です
240:デフォルトの名無しさん
08/08/20 17:17:52
すいません、リソースマネージャとかでお世話になった218ですが。
あの後、一応完成まで言ったんですが最後の最後でリンクエラーが起きて
ビルドが行きませんうpろだにはファイルをあげていますので誰かお願いします
241:デフォルトの名無しさん
08/08/20 17:23:10
>>240
リンクくらい貼れよ、バカ
242:デフォルトの名無しさん
08/08/20 17:28:57
すいません。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
これですよろしくお願いします。
243:デフォルトの名無しさん
08/08/20 17:32:50
>>240
そもそも、リンクエラーって何が出てんのよ?
244:デフォルトの名無しさん
08/08/20 17:33:50
>>242
makefileとか無いぞ
245:デフォルトの名無しさん
08/08/20 17:41:33
自分はVisual C++しか使ったことがないのでmakefileとかに詳しくないです。すいません。
エラーは長いですけど以下のように出ています
エラー 1 error LNK2019: 未解決の外部シンボル "public: class
boost::shared_ptr<class IResource<unsigned int> > __thiscall ResourceIDManager::getFreeID<class ResourceManager::IDDeletor>
(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class ResourceManager::IDDeletor)"
(??$getFreeID@VIDDeletor@ResourceManager@@@ResourceIDManager@@QAE?AV?$shared_ptr@V?$IResource@I@@@boost@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@VIDDeletor@ResourceManager@@@Z)
が関数 "private: bool __thiscall ResourceManager::loadGraphicsResource(class ResourceIDManager &,class boost::shared_ptr<class IResource<unsigned int> > &,
class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,bool (__cdecl*)(unsigned int,char const *),void (__cdecl*)(unsigned int))"
(?loadGraphicsResource@ResourceManager@@AAE_NAAVResourceIDManager@@AAV?$shared_ptr@V?$IResource@I@@@boost@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@P6A_NIPBD@ZP6AXI@Z@Z) で参照されました。
ResourceManager.obj
246:デフォルトの名無しさん
08/08/20 17:59:02
>>237
24bit BMPって書いてあるだろ。要するに、ヘッダの部分から下は
一番下の行の左側のRGBから順に記録されているタイプ。
247:デフォルトの名無しさん
08/08/20 18:10:00
>>246
BMPなんてかいてねーよ。
ビットマップとしか書かれてないだろ。
248:デフォルトの名無しさん
08/08/20 18:20:22
>>234
ビットマップを読み込んで、色を文字で表したテキストファイルを出力する
◆仕様
・ビットマップは24bit限定
が読めない日本人じゃない奴が、北京五輪を機に紛れ込みましたか?
祖国のサイトにお帰り下さい。
249:基地外揚げ足取り
08/08/20 18:21:24
>>234
> <windows.h>をつかわず
247 名前:デフォルトの名無しさん 投稿日:2008/08/20(水) 18:10:00
>>246
BMPなんてかいてねーよ。
ビットマップとしか書かれてないだろ。
BMPなんてかいてねーよ。
ビットマップとしか書かれてないだろ。
BMPなんてかいてねーよ。
ビットマップとしか書かれてないだろ。
BMPなんてかいてねーよ。
ビットマップとしか書かれてないだろ。
250:デフォルトの名無しさん
08/08/20 18:22:30
>>247
どうせ答える気がないんだろ、だったら無知、揚げ足取り、横槍程度のバカは
口出しするなよ。言い草がみっともない。人として恥ずかしい。
> BMPなんてかいてねーよ。
> ビットマップとしか書かれてないだろ。
何これ?日本語が読めないバカって頭も悪いんだなw
251:デフォルトの名無しさん
08/08/20 18:25:04
>>247 = >>235
鬱陶しいんだよ、クソガキ。
お前が答えられないだけだろw
教師をバカにする以前に、お前がバイナリすらまともに扱えない証拠。
>>238 にbmpと断っていますが?w
URLリンク(www.mm2d.net)
URLリンク(www.geocities.co.jp)
どちらにしろ、同じようなもの。はいはい、知ったかの答える気無しの野次馬は帰った帰った。
252:デフォルトの名無しさん
08/08/20 18:29:39
>>251
> >>238 にbmpと断っていますが?w
>>234の話だろ。それとも文書の前後が理解できない病気か?
253:デフォルトの名無しさん
08/08/20 18:30:23
>>249
そういう思い込みで手を動かすタイプが、バカコード書くんだろ。
254:デフォルトの名無しさん
08/08/20 18:30:59
>>250
ひょっとして、BMPがなんなのか知らないのか?
255:デフォルトの名無しさん
08/08/20 18:31:52
わざわざ連投しないで1レスにまとめろよ屑
256:デフォルトの名無しさん
08/08/20 18:36:19
>>255
おまえもな
257:デフォルトの名無しさん
08/08/20 18:37:34
>>241とか、分かりやすいだろ、上から目線どころか、バカとか平気で
相手を罵倒する発言をする。夏厨丸出し。ここはお前の管轄じゃないから
とっとと新学期の準備をしとけや。お前みたいな実力も知識も無い無能じゃ
このスレの宿題ですら答えられないから。
258:デフォルトの名無しさん
08/08/20 18:40:55
>>257は馬鹿
259:デフォルトの名無しさん
08/08/20 18:41:10
>>247
これは酷い。言葉が読めないのか、こいつは?w
>>238の条件でBMPファイルを生成してみれば、どうなっているかくらいわかっているはず。
あぁそうか、Windowsを使ってないどこぞの研究所の人か?
世の中はWindowsがメインだぞ。俺は大学では実験や研究では
SolarisやUNIXなどを使っていたが、ワークステーションでもWindows系は
使ってたがね。当然、そこでは標準搭載のペイントはあったけどな、
もう6年くらい前の話だが、自分が大学生だったのは。
260:デフォルトの名無しさん
08/08/20 18:43:10
ハナっから課題に答える気が無い奴が、揚げ足取りみたく
要らない横槍や罵倒、自分の無知をさらすなんてことはするなよ
スレが荒れるだろが >>247 >>241
261:デフォルトの名無しさん
08/08/20 18:43:56
なんか>>237の件で揉めてるのに>>238に書いてあるじゃないかとか、あほくさい・・・
262:デフォルトの名無しさん
08/08/20 18:45:00
>>259
> >>238の条件でBMPファイルを生成してみれば、どうなっているかくらいわかっているはず。
これも、前後感覚が無くなる病気か?
263:デフォルトの名無しさん
08/08/20 18:47:00
>>259
> 世の中はWindowsがメインだぞ。俺は大学では実験や研究では
なんで、オマエの狭い世界が基準なんだよ。
264:デフォルトの名無しさん
08/08/20 18:51:09
>>235
235 名前:デフォルトの名無しさん 投稿日:2008/08/20(水) 15:13:21
まだビットマップ読み込む課題出す駄目教師いるんだな
265:デフォルトの名無しさん
08/08/20 18:55:31
>>264
その場で作ったBMPを読み取ると言う話からすれば、
バリエーションのあるフォーマットに網羅的に対応すると言う課題でもない様だし、
ターゲットとしてバカらしくはある。
266:デフォルトの名無しさん
08/08/20 20:09:16
>>234 >>238
テキスト形式の具体的な内容は?
267:デフォルトの名無しさん
08/08/20 20:48:42
>>234
左上から順にRGBを6桁の16進数にして出力するプログラムは出来たでごわすが
現在、>>1にあるうpろだが利用できないようなので、復旧したらうpするでごわす。
268:デフォルトの名無しさん
08/08/20 21:46:50
>>245
一応、リンクできるようにしてみたけど
URLリンク(kansai2channeler.hp.infoseek.co.jp)
つながり難い
269:デフォルトの名無しさん
08/08/20 21:52:10
>>1にあるうpろだの調子が悪い?
270:デフォルトの名無しさん
08/08/20 22:43:24
>>258が馬鹿
271:デフォルトの名無しさん
08/08/20 23:09:59
BMPの話でここまで必死にバカになれるお前らが羨ましいぜ
272:デフォルトの名無しさん
08/08/20 23:57:20
っつかさ、別に個人を特定して直接自分に対して文句を言ってきた奴が
いるわけでもないのに、口出ししておいて相手を罵倒している奴って何?
後から補足でBMPって本人が言ってんじゃん。BMPなんて書いてないって
どんだけ文字が読めない学の無い奴だよ?って思われるような墓穴を掘るなよw
Windows、ペイント、ビットマップって言ったら普通に知っている人は分かるぞ?
けどさ、それを言うと、自分にとっては当たり前じゃないとか、それ以外にもあるとか
言い出すんだろ?分からないなら口出ししなきゃ良いじゃんw
己の無知を晒す場でもないから、知らないなら別に口出しせんでもよろしい。
なのに、その課題を扱う講師がどうとか、無関係なレスしてんの???
273:デフォルトの名無しさん
08/08/21 00:14:44
>>272
これが前後関係のわからなくなる病気
274:デフォルトの名無しさん
08/08/21 00:15:10
>>272
>>234読めよ、夏厨
275:デフォルトの名無しさん
08/08/21 00:48:15
BMPって書いてあるのに、口出しして墓穴を掘った本人乙w
それに反応するのはお前くらいだよ
276:デフォルトの名無しさん
08/08/21 00:54:15
>>238が読める?読めない?聖徳太(ry
277:デフォルトの名無しさん
08/08/21 00:55:50
>>276
結局、BMPがなんだか知らなかったのか・・・
278:デフォルトの名無しさん
08/08/21 00:56:14
さてと、分からず屋はとりあえず、Windowsに標準搭載の
ペイントで24ビットBMPファイルを何でも良いから作ってみましょう。
先に言っておくが、中身がまったくないってのは無しね。
279:デフォルトの名無しさん
08/08/21 00:57:01
>>276
まあ、Wikipediaをwikiって略すようなもんだから、バカっぽいけど、それほど恥ずかしくないんじゃないの?
280:デフォルトの名無しさん
08/08/21 01:04:43
テンプレに沿ってないだけでここまで荒れるものなのか
なんというか活気があるな
281:デフォルトの名無しさん
08/08/21 01:05:10
あらあら、課題に答える気もないくせに、煽るのに必死な奴が必死だなw
ねぇ、Macユーザ?それともUNIX、Linux系?Windows固有のものではないが、
>>234には
> <windows.h>をつかわず
って条件があるし、24ビットBMPっと言ってしまえば、察するに例のあれでしょ。
あぁ、そうか、windows.hすら知らない初心者か、んじゃあんたみたいなのは
ここで回答せずにROMってなさい、ね?口ばっかりでソースを提示しない卑怯者には
用がないんですけど?
URLリンク(e-words.jp)
URLリンク(ja.wikipedia.org)
URLリンク(ja.wikipedia.org)
282:デフォルトの名無しさん
08/08/21 01:08:50
wingdi.h使えばBITMAPINFOHEADER使えるよ
283:デフォルトの名無しさん
08/08/21 01:10:50
>>281
よっぽど恥ずかしいんだろうけど、もう、気にするなよ。
284:デフォルトの名無しさん
08/08/21 01:13:12
題意が分からなくて答える気がないなら、要らんレスせんでよろしいよ。
本当にお前が日本語が理解できるかも疑わしい。
>>1読め。
> 気に入らない質問やその他や発言はスルーの方向で。
何もあんたを特定して質問者は質問をしてんじゃないんだから。
知らない、分からない奴に押し付けてないだろw
そうやって、自分が知らなかったことを許してもらおうとかしているわけ?
それとも、知らなかったことを言い訳して、認めてもらおうとしてんの?
あんたがどこの誰か知らないが、自分が解けない課題を出す奴を
目の敵にしてどーすんだよ?w
答える気がないなら黙っとれ、鬱陶しい。スレが汚れるからこの変にしとくぞ。
285:デフォルトの名無しさん
08/08/21 01:15:09
>>284
とうとう、>>1を持ち出したよ。
それ、何回もやりすぎで効果ないだろ。
286:デフォルトの名無しさん
08/08/21 01:16:13
>>284
>>1を持ち出して何とか、自分が最後の発言者になりたいんだろうけど、逆効果じゃね?
287:デフォルトの名無しさん
08/08/21 01:16:57
>>284
それ、何行目からコピペなの?
288:デフォルトの名無しさん
08/08/21 01:18:30
回答できない人に向けて質問者は質問なんてしてませんよぉ~?
なんでそれが分からないで、一人で質問者に噛み付いてファビョってんの?w
>>1読め
289:デフォルトの名無しさん
08/08/21 01:21:29
>>288
オマエは質問者じゃないだろ。
当人はとうに飽きて出てったさ。
290:↑課題に答えられなくて悔しいのう悔しいのう
08/08/21 01:35:50
そろそろ寝たら?どうせ解けないんだろ?暇でやることないんだろ?
最近、丸投げのレスがなくて、たまにある課題をwktkして待っていたが
BMPの問題程度の簡単なものでも、解けなくて悔しいんだろうけどさ。
お前もあれだろ、昼夜逆転した生活で脳がおかしくなって
世の中がおかしく見え始めている妄想癖のある危険人物。
他の板でも、深夜に暴れているキチガイを見かけるけど、そいつらって
最後は暴れて逮捕されてるんじゃね?あと、スレが汚れるからこの辺で、な?
お前みたいなのは、引き際を知らないから、余計に泥沼に嵌るんだよ。
とにかくな、ごちゃごちゃ言い訳っぽいことを並べるだけの奴って、
どんな業界でも、無責任で情けなく見えるんだわ。お前が無能だから出来ないんだろって
普通に言われるぞ。ここは答えるのも任意だから、出来なくても誰にも文句いわれないから、
だから安心して寝ろ、な?お前が出来る課題が必ずしも質問されるとは限らないからさ。
出来る人に任せとけ、な?
291:デフォルトの名無しさん
08/08/21 01:41:25
>>290
BMP程度って、中身は簡単なようで複数フォーマットがあって
割と面倒なんでけどw
292:デフォルトの名無しさん
08/08/21 02:00:24
わざわざ限定されてるんだから複数フォーマットは考慮しないでいいだろ
293:268
08/08/21 03:56:42
>>245
URLリンク(kansai2channeler.hp.infoseek.co.jp)
うpろだ復活したので修正したのをあげとく
294:デフォルトの名無しさん
08/08/21 09:38:10
BMPファイル討論して盛り上がったが誰も問題は解いてやってない件www
295:デフォルトの名無しさん
08/08/21 09:44:59
いつもの人は解けない問題がくるとファビョって他人に絡みだすからな
296:234
08/08/21 11:32:45
なんだか争いが起きていたようですが
元はといえばボクの情報漏れが原因なので・・・
みなさんすみません。
>>266
FF00FF みたいな感じだと思います
>>267
よろしくおねがいします
297:デフォルトの名無しさん
08/08/21 13:07:53
>>295
さすがに解けないわけじゃなくて、面倒くさいだけだろ。
298:デフォルトの名無しさん
08/08/21 13:40:44
とりあえず、仕様はっきりさせて仕切り直ししようか?
C言語でやること、24bit色の無圧縮BMPだけを扱えば良さそうなとこまでは把握した。
>・対象ビットマップ
> 赤、青、緑、白、黒
これがいまいちわからない。どゆこと?
299:デフォルトの名無しさん
08/08/21 13:47:39
>>298
この手の問題をやりたくないのは
出題者がいい加減な出題の仕方をしてて、答えるほうが質問者に落としどころを確認しないと
いけないことだ。
300:デフォルトの名無しさん
08/08/21 13:49:35
オレは、赤、青、緑、白、黒 の5色だけ使われてて
テキストファイルにはピクセルに相当する赤、青、緑、白、黒の文字が並ぶんだと思ってたよ・・・
301:デフォルトの名無しさん
08/08/21 13:51:22
>>234
「私の為に争わないで」ってかw
URLリンク(kansai2channeler.hp.infoseek.co.jp)
302:デフォルトの名無しさん
08/08/21 13:53:27
第一24bitビットマップでどうやって赤青緑白黒とか区切るんだよw
RGBそれぞれ256段階指定できるんだぞ。
やっぱり糞問題じゃねーか
303:デフォルトの名無しさん
08/08/21 14:01:55
>>299
出題者は講義を通じて課題の範囲を示しているだろうが、
質問者はやる気の無いド素人だから、課題を理解していない。
それが、源泉だと思う。
304:デフォルトの名無しさん
08/08/21 14:30:22
>>300
0000FF00、FF000000、00FF0000、FFFFFF00、00000000の5種類のデータしか並んでないって事か。
決めうちしちゃって大丈夫かな・・・?
305:デフォルトの名無しさん
08/08/21 14:35:56
>>304
そらなw
PC9801の初期のデジタルモードじゃないだからwww
出題者はやっぱり糞
本気で赤青とかに分類するための条件設定がなくて
ソフト作れーねーよ。
24bitビットマップでざっくり「赤青・・・」に分けるなら色ごとの閾値設定だとかも
よこせよ
306:デフォルトの名無しさん
08/08/21 14:56:46
>>305
糞なのは、質問者だろ。
307:デフォルトの名無しさん
08/08/21 14:57:38
なんでこんなにもビットマップが人気なのか分からんw
308:デフォルトの名無しさん
08/08/21 15:33:57
とりあえずそれっぽいソースに見えるだけなビットマップ for VC++ 8.0
URLリンク(kansai2channeler.hp.infoseek.co.jp)
動作確認?まったくしとらんでおじゃるよ?(鼻糞ほじりながら)
309:デフォルトの名無しさん
08/08/21 17:44:52
閾値がどうとかどうでもいー
ペイントでそのようなファイル作ってくれるんでしょ?他のがあったら捨て置けばいいじゃん
310:デフォルトの名無しさん
08/08/21 17:45:52
>>306
またお前か、答えもせず回答する能力もないくせに、偉そうに
口出ししかしないお前の方が糞なんだよ!このスレでは用なし
要らない子でつよ?wwww
311:デフォルトの名無しさん
08/08/21 19:04:00
[1] 授業単元: プログラミング技術
[2] 問題文(含コード&リンク):
二次元配列「field[5][5]」に格納されている
#####
#####
#****
#****
#****
という文字列(#は壁。*がフィールド)で一番左上が(0,0)とした場合のフィールドの開始位置の座標を求めよ。
上でしたら「X:1 Y:2」
#####
#####
###**
###**
###**
でしたら「X:3 Y:2」という値を求めたいです。
[3] 環境
[3.1] OS: Linux
[3.2] gcc
[3.3] 言語: C)
[4] 期限:無期限
どうかよろしくお願いします。
312:デフォルトの名無しさん
08/08/21 19:08:39
>>311
この場合は?
#####
#####
###**
##***
##***
313:デフォルトの名無しさん
08/08/21 19:11:59
>>312
そうゆうのは無いです。。
あくまで角がある(?)パターンです。
お願いします(;´Д`)
314:デフォルトの名無しさん
08/08/21 19:13:34
>>234
URLリンク(kansai2channeler.hp.infoseek.co.jp)
>>308
偽おじゃるめ、クソースさが足りないでごじゃる
315:デフォルトの名無しさん
08/08/21 19:24:52
>>234 余計なコードを削除したでござる
URLリンク(kansai2channeler.hp.infoseek.co.jp)
316:デフォルトの名無しさん
08/08/21 19:34:27
>>311
#include<stdio.h>
int main(int argc, char *argv[]){
int i, x, y, width=5, height=5, left=-1, top=-1;
int field[5][5]={
{'#', '#', '#', '#', '#'},
{'#', '#', '#', '#', '#'},
{'#', '#', '#', '*', '*'},
{'#', '#', '#', '*', '*'},
{'#', '#', '#', '*', '*'},
};
for(i=0;i<width+height-1;i++){
for(y=0;y<i;y++){
x=i-y;
if(x<0 || x>=width) continue;
if(field[y][x]=='*'){
left=x;
top=y;
break;
}
}
if(y<i) break;
}
printf("X:%d Y:%d\n", left, top);
return 0;
}
317:デフォルトの名無しさん
08/08/21 19:51:46
>>316
本当にありがとうございます!
助かりました!
318:デフォルトの名無しさん
08/08/22 01:57:08
>>316が理解できない。
何でこういうループになるの?
319:デフォルトの名無しさん
08/08/22 02:03:22
無駄の多いループだけど、やってることは難しいことじゃないだろw
320:デフォルトの名無しさん
08/08/22 08:58:01
無限ループじゃないから安心汁!
321:デフォルトの名無しさん
08/08/22 09:36:59
さて、宿題かもーん
322:回答者修行中
08/08/22 11:50:25
質問者もういっちゃいましたね
#include <string.h>
#include <stdio.h>
int main()
{
int i, x, y, width=5, height=5, left=-1, top=-1;
char *p;
char field[5][5]={
{'#', '#', '#', '#', '#'},
{'#', '#', '#', '#', '#'},
{'#', '#', '#', '*', '*'},
{'#', '#', '#', '*', '*'},
{'#', '#', '#', '*', '*'},
};
p=strchr((char *)field,'*');
i = ((int)p - (int)field)/sizeof(char);
y=i/5;
x=i-y*5;
printf("x=%d y=%d",x,y);
return 0;
}
これまともに動いてる?
323:デフォルトの名無しさん
08/08/22 16:03:54
クソコテww
324:デフォルトの名無しさん
08/08/22 18:47:59
>>322
*が存在することが明確なら特に問題ないのかな
y=i/widthのほうがよかったりしないかな、とおもいつつも、ともあれその発想が面白かったです
325: ◆tr.t4dJfuU
08/08/22 22:21:04
[1] プログラミング演習
[2] 問題:URLリンク(kansai2channeler.hp.infoseek.co.jp)
データ:URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS:WindowsXP
[3.2] VC 5.0
[3.3] 言語:C
[4] 期限:2008年08月24日16:00
[5] 特になし。
326:デフォルトの名無しさん
08/08/22 22:52:15
>>322
>((int)p - (int)field)/sizeof(char);
こう書くより
p - (char*)field
こう書いたほうがよくね?
327:デフォルトの名無しさん
08/08/22 23:46:36
>>236をお願いできないでしょうか。
328:デフォルトの名無しさん
08/08/23 00:37:29
[2] 問題文
1.
次のような式で表される数列が与えられたとする。
a0=1,a1=1,an=an-1+2an-2
int型の整数n(n≧0)を受け取り、上記の数列anの値をa0からanまで全て表示する関数printa(n)を作成せよ。
2.
要素数2個のdouble型の配列xy(xy[0]にはx座標、xy[1]にはy座標が納められている)と2行2列のdouble型の2次元配列Aを受け取り、座標(x,y)のAによる1次変換を求めて、その結果を配列xyに格納する返却値無しの関数LinearTrance(xy,A)を作成せよ。
3.
文字列の納められた文字型の配列sとstailを受け取り、sの末尾にstailの文字列が含まれているかどうかを調べ、含まれている場合には1、含まれていない場合には0を返す関数strcmptail(s,stail)を作成せよ。
4.
4個の文字列"abc.txt","xyz.jpg","foo.txt","bar.mp3"と文字列"txt"を受け取り、文字列の末尾に"txt"を含む文字列かあるかどうかを調べて、あればその文字列全てを表示するプログラムを作成せよ。ただし問3で作成した関数を用いること。
[3] 環境
[3.1] OS:Windows
[3.2] すいません、わからないです。
[3.3] 言語:C
[4] 期限:23日正午
見づらいかもですが、よろしくお願いします。
329:デフォルトの名無しさん
08/08/23 01:07:37
1.
void printa(int n) {
int a = 0, b = 1, i;
printf("%d ", a);
if(n==0) return;
printf("%d ", b);
for(i=2; i<=n; i++) {
int temp = a * 2 + b;
printf("%d ", temp);
a = b;
b = temp;
}
}
2.
void LinearTrance(double xy[2], doubleA[2][2]) {
double temp[2];
temp[0] = A[0][0] * xy[0] + A[0][1] * xy[1];
temp[1] = A[1][0] * xy[0] + A[1][1] * xy[1];
xy[0] = temp[0];
xy[1] = temp[1];
}
3.
int strcmptail(char *s, char *stail) {
char *p = s, *q = stail;
while(*p) p++;
while(*q) q++;
while(q > stail) if(*--q!=*--p) return 0;
return 1;
}
330:デフォルトの名無しさん
08/08/23 01:29:43
>>329
int main(void){
char *tail="hogehuga";
char *s="foobarhogehuga", *p;
p=s+20;
printf("%s %s %d\n", p, tail, strcmptail(p, tail));
return 0;
}
331:クソコテ
08/08/23 18:10:22
ありがとうございます
>>324
そうですねマジックナンバーはいただけませんね
>>326
それでいけますか?
あ、いけますね、やっぱりまだ少し勘違いがあるみたいです。
>>327
すみません、私の力不足の用で、途中までやってみましたが、
構造体に入れるところで、異常に長くなってしまうので諦めました。
メモリ上での構造体の配置を仮定すればループでいけますが
あまりにも処理系依存なので止めておきます、
誰かがすごい解答を出してくれるのを待ちましょう。
332:デフォルトの名無しさん
08/08/23 18:59:28
問題文
OSを作りなさい
333:デフォルトの名無しさん
08/08/23 19:05:22
>>332
#include <allornothing.h>
int main(void){
puts("The End");
}
334:デフォルトの名無しさん
08/08/23 19:30:32
>>332
Oh yes なんつって
335:デフォルトの名無しさん
08/08/23 21:20:28
>>330が何を言いたいのか理解できないんだが。
336:デフォルトの名無しさん
08/08/23 21:21:51
>>335
strlen(stail) > strlen(s)
の時に問題あるよ
337:デフォルトの名無しさん
08/08/23 21:25:16
330からそういう意味は読み取れないw
338:デフォルトの名無しさん
08/08/23 21:27:49
>>337
>>330 を実行してアレッ?と思って欲しかったが、回りくどかったようだ
339:デフォルトの名無しさん
08/08/23 21:30:50
お前本人かw
>p=s+20;
こんなこと書くアホが何言ってんだ。
340:デフォルトの名無しさん
08/08/23 21:32:05
>>339
p=&s[20]; が好みか?
341:デフォルトの名無しさん
08/08/23 21:32:39
どこ指してるか理解してんのかよw
342:デフォルトの名無しさん
08/08/23 21:34:22
あーなんてこった orz
343:デフォルトの名無しさん
08/08/24 17:45:45
アセンブラの宿題あるんだけど誰か助けて
344:デフォルトの名無しさん
08/08/24 17:57:45
スレ違い
死ね
345:デフォルトの名無しさん
08/08/24 18:46:54
暇だから宿題出して
346:デフォルトの名無しさん
08/08/24 19:37:12
>>343にきけ
347:デフォルトの名無しさん
08/08/24 20:09:39
≫345
[1]アルゴリズムとデータ構造
[2]
クラスカルの方法を用いて,最小木のアルゴリズムを作れ.
データファイル(data.txt)は
点の数 枝の数 (1行目のみ)
枝番号 始点 終点 枝の長さ
・・・・・・・・・・(これが枝の数だけ続く)
という形式.
グラフを各点に接続する枝を覚えるリスト形式で表現せよ.
↓data.txt
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[5]最小木の最短経路の問題へと発展する1stステップです。ま、解ければね・・・
348:デフォルトの名無しさん
08/08/24 21:15:23
>>347
もっと解いてうれしくなるような問題にしろよ。
349:デフォルトの名無しさん
08/08/24 21:30:21
>>344
>>348
いい加減、お前の方がうざいぞ
350:デフォルトの名無しさん
08/08/24 21:36:03
[1] 授業単元:プログラミング入門
[2] 問題文(含コード&リンク)
ファイルに以下のような数字の列があるとする。
32
82
11
19
90
24
58
48
これをプログラムで読み込んで数字の小さい順に並び替えるプログラムを作れ。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:g77
[3.3] 言語:C
[4] 期限:2008年8月25日正午
[5] その他の制限:なし
よろしくおねがいします。
351:デフォルトの名無しさん
08/08/24 21:47:30
>>350
#include<stdio.h>
#include<stdlib.h>
int compare(const int *a, const int *b){
if(*a<*b) return -1;
if(*a>*b) return 1;
return 0;
}
int main(void){
char *filename="hoge.txt";
int *data=NULL, one_data, data_num=0, i;
FILE *fp;
fp=fopen(filename, "r");
if(fp==NULL){
fprintf(stderr, "\nError: %s file cannot open.\n", filename);
return 1;
}
while(fscanf(fp, "%d", &one_data)==1){
data=realloc(data, sizeof(int)*(data_num+1));
data[data_num++]=one_data;
}
fclose(fp);
qsort(data, data_num, sizeof(int), (int (*)(const void *, const void *))compare);
for(i=0;i<data_num;i++) printf("%d\n", data[i]);
free(data);
return 0;
}
352:デフォルトの名無しさん
08/08/24 21:53:20
>>351
ありがとうございます。
353:デフォルトの名無しさん
08/08/25 01:42:06
>>347
読み込んで記憶するだけでいいの?
それとも内部でグラフを作るの?
354:sage
08/08/25 02:09:56
>>353
グラフはアウトプットしなくてもよいのですが
まずリスト形式で作成すると同時に
枝情報をヒープに格納して(最大ヒープサイズは枝の数である50)
ヒープから短い枝順に順次データを取り出し
クラスカルのアルゴリズムに従って、最小全域木を求めます。
最終的には最小全域木の
ある任意の点Αから、点50までの最短経路を求める問題になります。
おそらく出題者は、グラフを先に作ったうえで
問題にしたっぽいです。
グラフはwinnyの開発画面みたいなやつです。
あぷりますね。
355:347
08/08/25 02:26:40
URLリンク(kansai2channeler.hp.infoseek.co.jp)
URLリンク(kansai2channeler.hp.infoseek.co.jp)
356:347
08/08/25 02:29:34
サーセン。拡張子ま違いました。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
URLリンク(kansai2channeler.hp.infoseek.co.jp)
357: ◆luuqrOhdZk
08/08/25 03:29:06
[1] 授業単元: 授業ではありません
[2] 問題文(含コード&リンク):
「苦しんで覚えるC言語」の第1部13(全ページリンクフリー)
URLリンク(homepage3.nifty.com)
の、「プログラム書き取り」の問題です。
「入力された10個の数値を最後から表示するプログラムを作成せよ。」
(簡単のため3個の数値にしました)
[3] 環境
[3.1] OS: Windows XP Home edition
[3.2] コンパイラ名とバージョン: (Cpad for C++ comiler ver2.31)
[3.3] 言語: C
[4] 期限: ( [無期限])
[5] その他の制限:まだ初心者なので高度な設定等は分かりません
プログラムの、
for(i = 0;i < 3; i++ ){
printf("%d番目を入力:",i);
scanf("%d\n",&array[i]); }
の部分で、実行画面で、
0番目を入力:11
1番目を入力:22
2番目を入力:33
(11、22、33は実行画面で入力する値です。)
としたいのに、なぜか
0番目を入力:11
22
1番目を入力:33
2番目を入力:44
となってしまいます。
よろしくお願いします。以下、プログラム全文と実行画面です。
358: ◆luuqrOhdZk
08/08/25 03:30:17
先の質問のプログラム全文と実行画面です。
#include <stdio.h>
int main(void)
{
int array[3];
int i;
for(i = 0;i < 3; i++ ){
printf("%d番目を入力:",i);
scanf("%d\n",&array[i]);
}
for(i = 2;i >= 0;i--){
printf("%d番目は%d\n",i,array[i]);
}
fflush(stdin);
getchar();
return 0;
}
――実行画面――
0番目を入力: 11
22
1番目を入力: 33
2番目を入力: 44
2番目は33
1番目は22
0番目は11
359:デフォルトの名無しさん
08/08/25 04:02:49
>>357
> scanf("%d\n",&array[i]);
scanf("%d",&array[i]);
360: ◆luuqrOhdZk
08/08/25 05:01:27
>358
お陰様で解決しました。
ありがとうございます。
361:234
08/08/25 09:09:51
>>234です。お返事の方遅れてすみません、今みなさんの書いてくれたコードを読みながら自分でコードつくっています。
また、ご協力お願いします。
362:デフォルトの名無しさん
08/08/25 11:01:55
>>347
言語は?
363:347
08/08/25 11:17:57
>>362
C言語でもC++でもOKです。
自分はVC++使ってたんですけど
引数のエラーが出て
関数がうまく扱えないので
C使ってBorlandでやってまス。
364: ◆O5wSDVhi7.
08/08/25 11:31:16
Cの問題について、ちょいと質問したいのですが、
ファイルの読み込み処理で、入力した名前のファイルがある場合はある、ない場合はないと
表示させるプログラムを作っていますが、自分が作成したコードではダメだしをくらいました。
以下、コードです。
char filename[20];
FILE *fp;
printf( ">" );
scanf("%s",&filename);
fp = fopen( filename, "r" );
if( fp == NULL )
{
printf( "%sは存在しません\n",filename );
}
else
{
printf( "%sは存在します\n", filename );
}
fclose( fp );
一応、動くことは動くのですが、余計な部分が多いというところと、もう一つ
問題があるといわれましたが、自分ではよくわかりません。
どなたか教えてください。
環境はVisual studi2005です。
365:デフォルトの名無しさん
08/08/25 11:37:53
>>364
filename がバッファオーバーフローする危険性がある
fclose(NULL) する危険性がある
scanf に渡す引数の型が一致していない
あとこのレベルだとどうでもいいことだが
排他処理をしている場合 fopen でファイルの存在を確定することはできない
366: ◆O5wSDVhi7.
08/08/25 11:59:28
>>364
自分でも、ちょっと調べてみたのですが、
どうやら、fclose(NULL)している模様です。
この場合の対策などはないのでしょうか?
367:デフォルトの名無しさん
08/08/25 12:10:24
>>366
fpがNULLかどうかチェックしてるだろ。
そのNULLじゃない方に入れたらいいべ。
368:デフォルトの名無しさん
08/08/25 12:52:58
>>364 通りすがりの初心者の意見↓
1.scanfのところの&がいらない。
2.ファイルがない場合はfcloseする必要がない。
369: ◆O5wSDVhi7.
08/08/25 13:39:34
>>367
そのとおりに変更して提出しました。
>>368
scanfを使用した場合どのような問題が起こるか説明しろといわれました。
上で言われた、バッファオーバーフロー云々でいいのだろうか?
いろいろ、調べてみたが解釈の仕方が様々でよくわからなかった・・・。
370:368
08/08/25 14:04:57
>>369
scanfの問題は空白がくると読み込みが終了するってことかな?
オーバーフローはgetsだった気がする。
371:デフォルトの名無しさん
08/08/25 14:21:56
オーバーフローは書式でどうにか出来るしな
372:デフォルトの名無しさん
08/08/25 14:26:00
>>370
scanf("%[^\n]", a);
これでよかった気がするがうるおぼえ。
373:デフォルトの名無しさん
08/08/25 14:37:45
>>372
こういうやり方があったのか知らんかった。
'\n'をスキャン対象から除外すればいいのか。
374:デフォルトの名無しさん
08/08/25 15:07:11
>>369
リターンキーが無視できない、バッファオーバーラン、空白が読み取れない
これらの問題を解決したすばらしいscanf
scanf("%19[^\n]%*[^\n]", filename);
375:デフォルトの名無しさん
08/08/25 15:24:28
>>370
getsは回避手段がないのでだめだめな関数
scanfも>>364の使い方だとgetsと変わらない
20文字以上入力されたらバッファーがあふれる
376:デフォルトの名無しさん
08/08/25 15:31:41
>>370
scanf(%20s,filename);とか
文字数制限しないとバッファオーバーランするみたいですね。
勉強不足でした・・・(´・ω・)
377:デフォルトの名無しさん
08/08/25 15:34:09
>>375
scanf(%20s,filename);とか
文字数制限しないとバッファオーバーランすんですね。
勉強不足でした。(´・ω・)
378:デフォルトの名無しさん
08/08/25 15:34:19
そして現実にはそこまでするくらいならfgets+sscanfで良くね?となるのであった……。
379:デフォルトの名無しさん
08/08/25 16:28:42
文字列一つだけ欲しいんだからsscanfもいらない気がするw
380:デフォルトの名無しさん
08/08/26 12:56:45
>>347
データをすべて読み込むところまでしかできてない
URLリンク(kansai2channeler.hp.infoseek.co.jp)
381:234
08/08/26 14:41:03
234ですみなさんおつかれさまです
URLリンク(kansai2channeler.hp.infoseek.co.jp)
と、無事完成させることができました(関数にしたほうがいいかも)
そして次の課題もご協力おねがいしたいのですがよろしいですか?
256、16、モノクロ対応
◆仕様
・各ビット数のビットマップも読み込めるようにする。
・<windows.h>は使用しない
◆ポイント
・読み込んだデータを24ビットに展開させる。
あと以前の色を文字で表示するのは
0x000000FF=青
0x0000FF00=緑
0x00FF0000=赤
0x00FFFFFF=白
0x00000000=黒
だったようです。失礼しました。
382:デフォルトの名無しさん
08/08/26 20:14:28
>>347
>>380 は有向グラフで書いてるけど、問題は無向グラフ?
383:347
08/08/26 20:46:46
>>380
すごく参考になりました。
ありがとうございます!
>>382
あくまでも、私個人の考えなのですが;
ある点A(これは学生の出席番号でした) から50までの最短経路の長さとその途中に通った点を求めるのが、
この問題の最終的な目標です。(奥行優先探索を使うといいと教師は言ってました。)
今回はグラフを書くこと自体が目的ではないので、有向、無向、どちらでも大丈夫です。
まぁ、最短経路なので、無向、有向どちらかといえば、一番近い距離を制約なしに
進める無向の方がいいかもしれません。
あと、データの各枝の長さがすべて異なっていれば、最小木が一意に定まりますが、
今回のデータは、そうでないので、作り方によっては、最小木が何本か作れるかもしれないです。
384:デフォルトの名無しさん
08/08/27 09:47:14
夏休みの宿題で c++で
「自分で考えた最高のクラスを創ってこい」
というのが出ました。
どんなのを作っていいか全く見当がつきません。
だれか知恵を貸してください。
385:384
08/08/27 10:01:33
すいません追記です
クラスの継承は必ず使えとの事です
386:デフォルトの名無しさん
08/08/27 10:43:43
総勢30名のクラス中女子が28名いて自分以外の男子1名はとんでもないブサイクのようなクラスだ。
387:デフォルトの名無しさん
08/08/27 10:54:19
>>386
夢のようなクラス(学級)ですね!
でもそっちのクラスじゃないです;;
class xxxx{
private:
int aa:
public;
xxxx();
とかのクラスです。
388:デフォルトの名無しさん
08/08/27 11:02:06
物凄く面倒くさい手順でHello, World!を表示するクラスとか
389:デフォルトの名無しさん
08/08/27 11:04:29
class Ninja{
private:
static const int lv = 99;
public:
int Attack(void){ return lv*100; }
};
こういうことか
390:デフォルトの名無しさん
08/08/27 11:14:46
NinjaはMonsterを継承しないと
391:デフォルトの名無しさん
08/08/27 11:15:33
って敵で出てくるほうの忍者じゃないか
392:デフォルトの名無しさん
08/08/27 16:42:00
[1] 授業単元: C言語実習
[2] 問題文:
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: WindowsXP Professional
[3.2] コンパイラ名とバージョン: Borland C++ 5.6.4
[3.3] 言語: C
[4] 期限: 本日中
よろしくお願いします。
393:デフォルトの名無しさん
08/08/27 17:09:55
自分-1まで調べろと書いてあるのに
何故自分までadd配列に入った結果になってるんだ?
394:デフォルトの名無しさん
08/08/27 17:11:21
ああ、最後に自分を入れろと書いてるのか
395:デフォルトの名無しさん
08/08/27 17:24:19
>>392
#include<stdio.h>
int main(void){
int add[15], in=-1, i, j;
scanf("%d", &in);
if(in<2 || in>100) return 1;
for(i=0;i<15;i++) add[i]=0;
for(i=2,j=0;i<in;i++) if(in%i==0) add[j++]=i;
add[j++]=in;
for(i=0;add[i]!=0;i++) printf(" %d", add[i]);
return 0;
}
396:デフォルトの名無しさん
08/08/27 17:24:46
#include<stdio.h>
int main()
{
int add[15]={0};
int own=0,cownt=0;
do{
printf("2~100の値を入れてください\n");
scanf("%d",&own);
}while(own<2||100<own);
for(int i=1;i<own;i++)
if( !(own%i) )
add[cownt++]=i;
add[cownt]=own;
for(int i=0;add[i]!=0;i++)
printf("%d ",add[i]);
return 0;
}
397:396
08/08/27 17:26:44
しまった、変数名の指定呼んでなかったorz
398:デフォルトの名無しさん
08/08/27 17:34:04
>Q3.「バブル・ソート」という整列手順(アルゴリズム)があるが、ここで用いた基本ソートとの違い何か。
ソート使って無くね?
399:デフォルトの名無しさん
08/08/27 17:49:17
Q3だけ設問、浮いてるよなw
400:392
08/08/27 18:51:58
回答ありがとうございます。
>>395
returnを複数使うという事を習っていないのですが
return 1; の部分を使わないとすればどういう風になるのでしょうか?
お手数かけますがお願いします。
401:デフォルトの名無しさん
08/08/27 19:01:05
判定ひっくり返して中に入れちゃえばいいべ。
if(in>=2 && in<=100) {
//return 0の前の行まで
}
return 0;
402: ◆mM5kCiKYnA
08/08/27 21:49:48
[1] 授業単元: C言語(送信,受信)
[2]
UDPマルチキャストにて送信されたデータを受信するのですが....。
そのデータというのがアナログ64点,デジタル256点分が送られてきて、
それぞれアナログ256byte,デジタル32byteに格納して
残りの40byteはダミーで合計328byte分を用意して受け取り、
受信したデータをシュミレーターの受信バッファに書き込む作業ですが...
*注意事項としてはマルチキャストで送信されるデータはパルス信号がカウント値で送られ
てくるので受信したパルス信号時間に変換すること。
*パルス信号自体通常1が送信されるので2以上の値を受信した時点でバッファに書き込むようにする。
尚この処理自体湾ショットのみ行う。つまり通常1が送られて、2になった時点で受け取りまたしばらく
すると1になりその信号が3とか1以外になった時点で取り込むようなプログラムにする。
困っているので助けてください。よろしくお願いします。
[3] 環境
[3.1] OS:Solaris8,UNIX(viコマンド)
[3.2] コンパイラ名又はバージョン
[3.3] 言語: C言語
[4] 期限:2008年9月1日
403:デフォルトの名無しさん
08/08/27 22:11:47
>>402
あなろぐ?
404: ◆mM5kCiKYnA
08/08/27 22:59:12
>>アナログとデジタルのことです。
時計とかでもあると思うんですけど。
そこはあまり深く考えなくても大丈夫ですので。
405:デフォルトの名無しさん
08/08/28 01:07:23
[1] 演習課題: C++
[2]
配列等を使って料金算出システムを作るのですが・・・
給料を入力
等級⇒給料が~101100の場合"1"、101000~107000の場合"2"、107000~1014000の場合"3"
1014000~122000の場合"4"、122000~130000の場合"5"
健康保険⇒給料の8.2%
厚生年金⇒給料の14.642%
雇用保険⇒給料の0.02%
出力後
所得 ○○円
等級 ○
厚生年金 ○○円
健康保険 ○○円
雇用保険 ○○円
終了しますか?(y,n)
というようなプログラムにします。
本当に困っているのでどなたか助けてください。よろしくお願いしますm(__)m
[3] 環境
[3.1] OS:WindowsXp
[3.2] Visial C++
[3.3] 言語: C++
[4] 期限:2008年8月28日
406:392
08/08/28 01:15:02
>>401
遅くなりましたが解決しました。
ありがとうございました!
407:デフォルトの名無しさん
08/08/28 02:36:20
>>405
何をすればいいのかいまいちわからん。
それやるのに配列使わなく無いか?
それとも、表示するだけではなくて保存しておく必要があるのか?
408:デフォルトの名無しさん
08/08/28 02:41:40
>>405
数値を正確に書けよ。イミフだ
未満とか以下の表現も必要
409:デフォルトの名無しさん
08/08/28 06:18:35
>>405
こんなもんでいかがッスか?
URLリンク(kansai2channeler.hp.infoseek.co.jp)
410:デフォルトの名無しさん
08/08/28 07:58:36
OpenGLで球体を作りたいのですが、サンプル例を作っていただけませんか?
411:デフォルトの名無しさん
08/08/28 08:19:35
[1] 確率論
[2]
NxNの行列の逆行列を出すプログラムをつくれ。
Nは10以上30以下である。
[3] 環境
[3.1] Linux
[3.2] gcc
[3.3] 言語:C
[4] 期限:明日にかわるくらいまでには
412:デフォルトの名無しさん
08/08/28 09:00:58
>>410
glutでいいよね?
URLリンク(kansai2channeler.hp.infoseek.co.jp)
413:デフォルトの名無しさん
08/08/28 09:56:02
だが断る
414:デフォルトの名無しさん
08/08/28 10:13:16
>>402
シュミレーターの受信バッファに書き込む?
カウント値?
パルス信号?
問題の意味が分からない
415:デフォルトの名無しさん
08/08/28 10:15:15
>>411
Numerical Recipes in C でも読んでろ
416:デフォルトの名無しさん
08/08/28 11:16:29
5000円とかたかいよー。
417:デフォルトの名無しさん
08/08/28 19:02:35
>>411
LU分解,Gauss-Jordan法,特異値分解
好きなのでググれ
418:デフォルトの名無しさん
08/08/28 22:30:14
>>407
すいません。説明が言葉足らずでしたね。
>>408
たしかに。。。これからは気をつけよう。
>>409
おかげさまでどうにか期限までに課題を終わらせる事ができました。
本当に助かりました。ありがとうございました。
419:デフォルトの名無しさん
08/08/29 03:32:50
[1]C言語
[2]住所録の作成
名前・住所・年齢・メアドを一つのレコードとする住所録システム
レコードの登録・削除・レコード中の各項目の更新・レコード中の各項目によるレコード検索
ファイルへの書込みと読込の6機能
配列は使えない
[3]OS:Windows 言語:C
[4]08/08/31
420:デフォルトの名無しさん
08/08/29 03:57:29
> 配列は使えない
ちょっwwwwwww
421:デフォルトの名無しさん
08/08/29 03:59:37
ポインタと動的メモリ確保使ってことでは?
422:デフォルトの名無しさん
08/08/29 04:06:21
あんまり好みの設計じゃないなぁ。
固定長レコードな住所録の方が好きだ。
423:デフォルトの名無しさん
08/08/29 04:11:13
いや、まてよ?
1レコードは256Byte固定長にして、各レコードは区切り文字で区切ればいいのか。
ちょっとやってくる。
424:デフォルトの名無しさん
08/08/29 04:26:26
飽きたから放棄。
425:デフォルトの名無しさん
08/08/29 04:56:17
>>419
レコード検索は部分一致でやるの?
その場合、複数件の該当レコードがあったときどうすんの?
426:デフォルトの名無しさん
08/08/29 05:40:40
>>423
とりあえず登録と表示できるやつを作ってみた
#include "stdio.h"
#include "string.h"
typedef struct { int address,age,email, a,b,c,d, e,f,g,h, i,j,k,l, m,n,o,p ; } RECORD;
typedef struct { RECORD a,b,c,d,e, f,g,h,i,j, k,l,m,n,o, p,q,r,s,t, u,v,w,x,y,z ; } RECORDSET;
int main(void)
{
int i; char *p,*a,c; RECORDSET rs = {0}; RECORD *r = &rs.a,*t;
while( 1 ) { printf("i:touroku r:sakujo o:koushin h:kensaku a:kakikomi n:yomikomi 1:list 0:exit ?");
fflush(stdin); c = getchar();
switch(c) {
case 'i': p = (char*)&r->a;
printf("name :");scanf("%s",p);p+=r->address=strlen(p)+1;
printf("address :");scanf("%s",p);p+=r->age=strlen(p)+1;
printf("age :");scanf("%s",p);p+=r->email=strlen(p)+1;
printf("e-mail :");scanf("%s",p); r++; break;
case '1': t = &rs.a;c=0;
while(t->address>0) {
printf("\n[%c]",'a'+(t-&rs.a)/sizeof(RECORD));a=(char*)&t->a;
printf("\nname :%s\n",a);a+=t->address;printf("address :%s\n",a);a+=t->age;
printf("age :%s\n",a);a+=t->email;printf("e-mail :%s\n",a);
t++;c++;
}
printf("\ncount = %d\n", c ); break;
case '0':return 0; default :printf("not implimented.\n");
}
}
return 0;
}
427:デフォルトの名無しさん
08/08/29 08:18:44
>>420
住所録関係なら配列は使えないだろ?
勉強しなおせ
428:デフォルトの名無しさん
08/08/29 10:35:12
×使えない
○使わない
429:デフォルトの名無しさん
08/08/29 10:37:46
そうだよな、住所録関係なら配列は使えないのは常識だよな
430:デフォルトの名無しさん
08/08/29 13:00:39
>>427 (・∀・)ニヤニヤ
431:デフォルトの名無しさん
08/08/29 13:02:04
文字列は配列として扱ってはいけないんですね?
1文字づつメモリ上に領域を確保してポインタを繋げていかないといけないんですね?
432:デフォルトの名無しさん
08/08/29 13:02:57
>>431
しっ、知ったか初心者に障っちゃだめ、また屁理屈を言い出して
それでも配列じゃないって言い出すから。
433:デフォルトの名無しさん
08/08/29 13:49:00
struct string{
int size;
};
434:デフォルトの名無しさん
08/08/29 15:02:10
[1] 授業単元:C++
[2] 問題文(含コード&リンク): 多倍長整数の除算(100桁まで)
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C++
[4] 期限: 出来れば明日中
[5] その他の制限: 形式としてclassは必ず使う。
よろしくお願いします。
435:デフォルトの名無しさん
08/08/29 21:51:05
>>434
その手の問題は未解決になる可能性大
ここのスレの住人は文字列を逆順にしたり、並べ替えたりする
なんの役にもたたないようなプログラムばかり書いてるからw
436:デフォルトの名無しさん
08/08/29 21:52:40
>>435
煽ればやってくれるとでもwww
記憶にある限り少なくともCの範囲では過去にやったよ
437:デフォルトの名無しさん
08/08/29 22:00:35
たばいちょうせいすうってなに?
438:デフォルトの名無しさん
08/08/29 22:03:25
>>437
ググレカス
439:デフォルトの名無しさん
08/08/29 23:16:29
URLリンク(ja.wikipedia.org)
440:419
08/08/30 02:03:26
>>421
そうですね。
>>425
部分一致でお願いいたします。
複数件あった場合は何件該当しましたという表記でお願いします。
441:デフォルトの名無しさん
08/08/30 02:09:15
やっぱりこの手の問題は無理かw
前にあったとか、wwwを探せとか・・・
やっぱり、”10個の整数の和を求めるプログラムを教えて下さい”位がちょうどいいかw
442:デフォルトの名無しさん
08/08/30 02:25:06
>>441
やり方じゃなくてタイプするのが面倒なだけのコードなんて、誰も興味ないだろ。
443:デフォルトの名無しさん
08/08/30 02:30:50
あたかも、余裕で書けるが面倒なんで書かないといいたいようですねw
444:デフォルトの名無しさん
08/08/30 02:36:57
余裕だなんて、よう言う わ
445:デフォルトの名無しさん
08/08/30 02:37:44
>>443
書けるかどうかじゃなくて、手持ちの教科書に載ってるしな・・・
446:デフォルトの名無しさん
08/08/30 02:39:38
>>445
んじゃ、それを丸々書けば良いだろwwww
447:デフォルトの名無しさん
08/08/30 02:41:55
多倍長整数ってだけで何処までやればいいのか分からないのは俺だけ?
メモリの許す限り無限長までやればいいの?
448:デフォルトの名無しさん
08/08/30 02:42:38
>>446
面白みがなくて、タイプするのが面倒。
最初から言ってるだろ?
449:デフォルトの名無しさん
08/08/30 02:43:05
>>434
何スレか前にintを10進数4桁とみなして計算するようなやつを見た気がするぞ。
加算だか除算だかは覚えてないが。
速度を度外視していいんなら、単純に減算を繰り返すやつを無理矢理クラスに押し込めれば完成。
はい、やる価値無し。次。
450:デフォルトの名無しさん
08/08/30 02:43:47
>>447
整数の除算って言ってるし、100桁とも書いてあるぞ?
451:デフォルトの名無しさん
08/08/30 02:44:12
100桁って書いてたということに今気付いた
正直すまんかった
452:デフォルトの名無しさん
08/08/30 02:44:26
>>447
適当に桁を決められるようにするとか、もちろん、それも
実行している環境が許す範囲内ということにはなるけどね。
>>448
ごちゃごちゃうるせーよ、答える気が無いなら失せろや
昼夜逆転生活の頭のイカれたひきこもり
453:デフォルトの名無しさん
08/08/30 02:44:58
なんか小学生が暴れてるようだな。
あぼーんしとこうぜ。
454:デフォルトの名無しさん
08/08/30 02:45:02
>>452
自己紹介乙
455:デフォルトの名無しさん
08/08/30 02:50:29
>>449
なんで自分の価値観を語ってるの?w
>>1読める?読めない?聖徳(ry
456:デフォルトの名無しさん
08/08/30 02:56:11
1000000000000000000/100000000000000000000とか
こういう計算をするってこと?
457:デフォルトの名無しさん
08/08/30 03:02:13
宿題スレの過去ログだと多倍長整数の四則演算は4回以上解かれてるようだ
オレもさすがに二度目は面倒だ
458:デフォルトの名無しさん
08/08/30 03:07:52
URLリンク(www5.airnet.ne.jp)
ググったら何かあったけど?
>>453
目の前の本を書き写すことも出来ない小学生は寝ろよw
459:デフォルトの名無しさん
08/08/30 03:12:04
>>452
問題文も読めないヤツが、ちゃちゃ入れてただけか・・・
460:デフォルトの名無しさん
08/08/30 03:12:59
ググのは面倒ではないんだW
461:デフォルトの名無しさん
08/08/30 03:16:12
やっぱこいつ、本を見ても理解できないからって
必死に自分がやらないことをアピールしてらw
お子ちゃま~~とっとと寝ろよ、難しい年頃の厨房w
462:デフォルトの名無しさん
08/08/30 03:38:29
> あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他や発言はスルーの方向で。
463:デフォルトの名無しさん
08/08/30 04:41:54
>>440
>複数件あった場合は何件該当しましたという表記でお願いします。
件数だけでいいんですか?該当したレコードを選択して表示できたりしないでいいんですか?
もしそうなら、それって検索の意味が全く無いですね。
できるようにする必要があるなら該当レコードへのポインタを配列に入れて検索結果の保存を
したいんですが、配列は使ってはいけないんですよね?
配列を使ってはいけない、という制限は一体何のためにあるんですか?バグを増やすためですか?
464:デフォルトの名無しさん
08/08/30 08:02:11
「自分より出来ない奴」を探して馬鹿にしたいガキが迷い込んでたみたいだな。
はやく夏休み終わればいいのに。
465:デフォルトの名無しさん
08/08/30 10:19:25
>>463
多分リストとか二分木とかを使えってことじゃないかと
466:47
08/08/30 10:48:06
>>48,51
>>73
>>80
皆様方ありがとうございました。
参考にさせて頂いて取り敢えずプログラム作れました。
結果も16通りでました。解説も書けたところで、
これから提出します。
約1月振りに覗いてみたら、数時間で解答が出てたので
びっくりでした。
467:
08/08/30 11:59:13
[1] 授業単元:C言語実習
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS:Windows vista
[3.2] コンパイラ名とバージョン:bcc
[3.3] 言語:C言語
[4] 期限:出来れば明日まで
[5] その他の制限:学校で習う程度にライブラリを使用してくれれば有難いです。
口頭で言ったものを文章にしたので上手く伝わっていなかったらすみません。
468:デフォルトの名無しさん
08/08/30 13:31:41
>>467
こんな感じでいかがでしょう?
URLリンク(kansai2channeler.hp.infoseek.co.jp)
469:
08/08/30 14:03:27
>>468
データを追加してファイルを上書きしたあとにsyouhin_1.txtというファイルに綺麗に出力するのですが・・・
そこの部分もお願いしたいのですが。。。
470:デフォルトの名無しさん
08/08/30 14:58:44
>>469
修正したよ
URLリンク(kansai2channeler.hp.infoseek.co.jp)
471:デフォルトの名無しさん
08/08/31 12:12:47
[1] 授業単元: マルチメディア・プログラミング
[2] 問題文(含コード&リンク): Windows上で動作するアクションゲームを製作せよ
[3] 環境
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン: 指定なし
[3.3] 言語: C++
[4] 期限:2009年4月1日
[5] その他の制限: OpenGL又はDirectXを使うこと
472:
08/08/31 14:17:14
>>470
ありがとうございました。
たすかりました。
473:デフォルトの名無しさん
08/09/01 08:55:56
>>471
プログラムよりモデルデータやモーションデータのほうがキモになるから無理
474:デフォルトの名無しさん
08/09/01 09:18:19
1日までってぎりぎりすぎると思ってよく見たら来年の4月か
期限長いな
475:デフォルトの名無しさん
08/09/01 13:10:01
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク): 多倍長演算
100桁以内の整数(10進数)を2つ入力し
その二つの足し算引き算の結果を表示せよ。
表示方法は4桁ごとにスペースを入れること。
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: VC++
[3.3] 言語: C
[4] 期限: 2008年9月4日まで
入力と表示だけは出来ましたが肝心の足し算引き算
の仕方がわかりません。どなたかお願いいたします。
入力と表示だけ書いたソースを一応はっときます。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
476:デフォルトの名無しさん
08/09/01 13:22:19
>>475
過去スレたどれよ
477:デフォルトの名無しさん
08/09/01 16:02:49
void _plus(char* a, char* b, int minus_flg){
char* ans = (strlen(a) > strlen(b)) ? a : b;
char* ans_p = ans + ((strlen(a) > strlen(b)) ? strlen(a) : strlen(b)) - 1;
int kuriagari = 0;
for (char *a_p = a + strlen(a) - 1, *b_p = b + strlen(b) - 1; ans_p >= ans; ans_p--){
if (a_p >= a) kuriagari += (*a_p-- - 0x30);
if (b_p >= b) kuriagari += (*b_p-- - 0x30);
*ans_p = 0x30 + kuriagari % 10;
kuriagari /= 10;
}
if (minus_flg) std::cout << '-';
if (kuriagari) std::cout << kuriagari << ans << std::endl;
else std::cout << ans << std::endl;
}
478:デフォルトの名無しさん
08/09/01 16:03:58
void _minus(char* a, char* b, int minus_flg){
char* ans = (strlen(a) > strlen(b)) ? a : b;
char* ans_p = ans + ((strlen(a) > strlen(b)) ? strlen(a) : strlen(b)) - 1;
int kuriagari = 0;
for (char *a_p = a + strlen(a) - 1, *b_p = b + strlen(b) - 1; ans_p >= ans; ans_p--){
if (a_p >= a) kuriagari += (*a_p-- - 0x30);
if (b_p >= b) kuriagari -= (*b_p-- - 0x30);
*ans_p = 0x30 + (kuriagari + 10) % 10;
if (kuriagari >= 0) kuriagari = 0;
else kuriagari = -1;
}
if (minus_flg) std::cout << '-';
if (!kuriagari) std::cout << ans << std::endl;
else std::cout << ans << std::endl;
}
479:デフォルトの名無しさん
08/09/01 16:05:02
void plus(char* a, char* b){
if (*b == '-') minus(a, b + 1);
else if (*a == '-') minus(b, a + 1);
else _plus(a, b);
}
void minus(char* a, char* b){
if (*b == '-') plus(a, b + 1);
else if (*a == '-') _plus(a + 1, b, 1);
else if (strlen(a) > strlen(b)) _minus(a, b);
else if (strlen(a) < strlen(b)) _minus(b, a, 1);
else if (strcmp(a, b) >= 0) _minus(a, b);
else _minus(b, a, 1);
}
480:デフォルトの名無しさん
08/09/01 16:46:30
[1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク):
10進数の-10を8進数・16進数に変換するプログラムを書きなさい
配列を使用する場合の要素数は16とする
[3] 環境
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン: 指定なし
[3.3] 言語: C
[4] 期限:2008年9月3日
[5] その他の制限: ポインタなどは少し話題に上がった程度の習得状況です
よろしく御願い致します。
481:デフォルトの名無しさん
08/09/01 16:56:19
int main(void){
char buf[16];
sprintf(buf, "%x", -10);
sprintf(buf, "%o", -10);
}
482:デフォルトの名無しさん
08/09/01 17:24:29
>>481
返信、ありがとうございます。
問題の書き方が言葉足らずだったようです。
URLリンク(www.orchid.co.jp) の
上のプログラムのような計算をし、かつ負数を取り扱えるような
ソースを書きたいのです。
483:デフォルトの名無しさん
08/09/01 17:38:28
int main(void){
int a = -10;
char buf16[16];
memset(buf16, 0x00, 16);
for (int i = 0; i < 15; i++){
buf16[14 - i] = "0123456789abcdef"[a & 0xF];
a >>= 4;
}
a = -10;
char buf8[16];
memset(buf8, 0x00, 16);
for (int i = 0; i < 15; i++){
buf8[14 - i] = "01234567"[a & 0x7];
a >>= 3;
}
}
484:ぱそこん
08/09/01 18:16:42
1授業単元;C言語
2問題文;抽選プログラム(定員、募集人数をキーボードから入力し、乱数を発生させて数値の重複のないように定員分のランダムな数値を求める。
そして、その発生した数値を昇順と、発生した順にそれぞれ出力する。)
3環境
4OS:widows xp またはLinuxでもok
5期限:できれば明日中(本当に急いでます!)
6その他;flg、do while文は必ず用いる。
C言語かなりの初心者です。
485:デフォルトの名無しさん
08/09/01 20:33:27
問題文:配列bufferの文字列の中にあるカンマを水平タブに変換して、配列strafterに
格納し表示させよ。
OS:Linux Fedora8
コンパイラ:gcc(バージョン失念。Fedora8のデフォルトのものです。
コメント:エラー吐きまくりで動作しません。助けて下さいorz
以下、現状のソース
-------------------
#include<stdio.h>
#include<string.h>
int main(void){
char buffer[512]="2000/01/01,9:00:00,AAA BBB CCC";
char repchar[1];
int i;
int buflen;
char strafter[512];
strafter[0]='\0';
repchar[0]='\t';
buflen = strlen(buffer);
printf("文字数 = %d\n",buflen);
printf("Before : %s\n",buffer);
for(i = 0; i < buflen ; i++){
i = i-1;
if(*(buffer+i) == ','){
strcat(strafter,repchar);
}
else{
strcat(strafter,(buffer +i));
}
}
printf("%s\n",strafter);
}
486: ◆O/vs7BIw1Y
08/09/01 20:50:30
[1] 授業単元:プログラミング
[2] 問題文:URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 2008/09/15
[5] その他の制限: 標準ライブラリのみ使用
よろしくおねがいします。
487:デフォルトの名無しさん
08/09/01 20:58:08
>>485
repcharが文字列でないからじゃないかな
strcat(strafter,repchar);
面倒なのでこれでいいだろ
#include <stdio.h>
int
main()
{
char buffer[512] = "2000/01/01,9:00:00,AAA BBB CCC";
char strafter[sizeof(buffer)] = {0};
{ int i = 0;
while ( buffer[i] != '\0' ) {
strafter[i] = ( buffer[i] == ',' ) ? '\t' : buffer[i];
++i;
}}
printf("%s\n", strafter);
return 0;
}
488:485
08/09/01 21:43:21
>>487さん
ありがとうございます。
こんなやり方でいけるんですね。
C言語本格的に初めて5日目くらいですが,頑張らねばorz
489:
08/09/01 22:37:27
467のものです。
>>468
>>470
でやってもらったのですが、構造体を使えとさらに指示が出まして…
構造体を使ってやっていただきたいです。
ファイル処理はバイナリではなく、w,r,a,(a+)などでお願いします。
490:抽選プログラム
08/09/01 22:48:16
[1]授業単元;C言語
[2]問題文;抽選プログラム(定員、募集人数をキーボードから入力し、乱数を発生させて数値の重複のないように定員分のランダムな数値を求める。
そして、その発生した数値を昇順と、発生した順にそれぞれ出力する。)
[3]環境:gcc
[4]OS:widows xp またはLinuxでもok
[5]期限:できれば明日中(本当に急いでます!)
[6]その他;flg、do while文は必ず用いる。
C言語かなりの初心者です。