C/C++の宿題を片づけ作戦指令 30代目
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNGプログラミング能力がないにも関わらず授業を取った学生諸君が困り果てている。彼らは、いずれ単位を落とすだろう。
君の任務は持ち込まれる宿題を解き、質問者の窮状を救ったり足下を掬ったりすることだ。
例によって当局は一切関知しないからそのつもりで。
なおこのスレは1000まで達した後自動的に消滅する。
【注意点】 -------------------------------------------------
・問題はしっかりと解いてもらう方にわかりやすいように
問題文などの省きはやめ、全文を書きましょう。
・使用する言語(C/C++)や環境(CUI/ANSIとか
GUI/Windows32bitAPI など)は必ず書きましょう。
・計算問題は必ず数式自体をあげ、どのような計算をするのか
くわしく説明してください。
・エラーは、その行とエラーの詳細を書きましょう。
エラーメッセージが出た場合はそのままコピーしてください。
・後になって問題につけたしをするのはやめましょう。
解いてもらっている方に失礼になってしまいます。
------------------------------------------------------------
【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
http://do.sakura.ne.jp/%7Ejunkroom/cgi-bin/megabbs/lounge/index.html
【歴代スレは>>2-10】
0153デフォルトの名無しさん
NGNG%[^無視するキャラクタの集合]
0154デフォルトの名無しさん
NGNGhttp://www.linux.or.jp/JM/ の 『man on WWW』 のセクション 2,3 で検索すると、
大概の C の関数は載っているので、調べてみる事をおすすめする。
0156デフォルトの名無しさん
NGNGfoo,bar,baz
ならいいけど
hage,,hoge
だと2番目が変換ミス(戻り値が1)になるんだよね。
0157デフォルトの名無しさん
NGNG0158デフォルトの名無しさん
NGNG0159デフォルトの名無しさん
NGNG宿題がほしいのか?
まぁ、焦らずとも夏休み終了間際にはどっとくるでしょ。
0160デフォルトの名無しさん
NGNGという問題の答えを教えていただきたいです。
0161デフォルトの名無しさん
NGNG0162デフォルトの名無しさん
NGNGマルチ氏ねや
0163デフォルトの名無しさん
NGNG向こうで誘導されたんだと思われ。
0164160
NGNG0165デフォルトの名無しさん
NGNG0166デフォルトの名無しさん
NGNGそうか?誘導された時点で向こうでは誰も答えないだろうから良いと思うんだが。
0167デフォルトの名無しさん
NGNGその誰も答えないという自信はどこから?
第三者からみて何も告げずにというのは関心できないと感じる
0168デフォルトの名無しさん
NGNG言い方が悪かった。誰も答えないと確信してる訳じゃない。
ただ、既に他の摺れに誘導された事を知って質問に答えるのは
回答者の酔狂であって、マルチと知って質問に答えるのと対した違いは無いから、
礼儀を尽くすに値しないんじゃないか、と言う事が言いたかった。
>第三者からみて何も告げずにというのは関心できないと感じる
俺はどうでも良いと感じる。
0169デフォルトの名無しさん
NGNGつーか、移動元スレだけ見ても移動したかどうかは判らんし。
0170デフォルトの名無しさん
NGNGできてるつもりなんですが、こんなのがでてしまいます
なぜなんでしょうか?
0171デフォルトの名無しさん
NGNG0172デフォルトの名無しさん
NGNGmain()
{
cout<<"I am genius\n";
}
という単純なプログラムのはずなんですが
0173デフォルトの名無しさん
NGNGint main()...
0174デフォルトの名無しさん
NGNG読めてないところを見るとこいつは日本語が読めないのか。
なら仕方ないな
0175デフォルトの名無しさん
NGNGvoid か int で return
0176170と同級生っぽw
NGNGC++!
って。。。
PC持ってない人はどうするんだろうねw
変な冊子渡されたけど意味プーだしw
つか、上で質問してる文盲のやってるプログラムは
その冊子の1題目。
おまえももうちょっとがんばれよw
0177デフォルトの名無しさん
NGNG古い規格を習わされて御愁傷様。
0178デフォルトの名無しさん
NGNG0179デフォルトの名無しさん
NGNGあらぬマルチ疑いをかけられ、回答して貰えなかった事あったなぁ・・・
0180デフォルトの名無しさん
NGNG0181デフォルトの名無しさん
NGNGcout<<"I am genius\n"; // この行がおかしい
0182デフォルトの名無しさん
NGNG0183デフォルトの名無しさん
NGNG0184デフォルトの名無しさん
NGNGiostream.h
0185デフォルトの名無しさん
NGNG基底クラスで純枠仮想関数を作って、派生クラスでその関数の中身を書くじゃないですか。
それで、基底クラスでその仮想関数を呼ぶ事って出来るんでしょうか?
上にある関数を下から呼び出すことは出来るのでしょうか?
0186デフォルトの名無しさん
NGNGそれに下にある関数を上からの間違いじゃないのか?
0187デフォルトの名無しさん
NGNG0188デフォルトの名無しさん
NGNGVBみたいに関数のはじめのほうで全部宣言しちまったほうがいいんですか?
{
int A,B,C,D,E;
char cA,cB,cC;
・・・;・・・;・・・;・・・;・・・;・・・;・・・;
・・・;・・・;・・・;・・・;・・・;・・・;・・・;
}
それとも
{
int A;
・・・;
int B;
・・・;
int C;
・・・;
int D;
・・・;
char cA;
・・・;
・
・
・
(略)
}
こんなふうにそのつど宣言したほうがいいんでしょうか?
どっちのほうが綺麗なコードになりますか?
0189デフォルトの名無しさん
NGNGC++ では途中で宣言出来る。
どっちがいいかは知らね。
漏れは無駄がなくなるように変数宣言は出来るだけ後回し。
そのほうが変数の意味も分かりやすくなるし。
0190デフォルトの名無しさん
NGNG上下なんて図示上の都合なんだから、どちらが上か下かなんて意味無いだろ
0191デフォルトの名無しさん
NGNGのアドレスが0x0000となるように)を昇順で出力するプログラムを作成しましょう。
char c;
short s;
int i;
long l;
ファイル名 : lesson10.c
l : 0x0000
i : 0x0004
s : 0x0008
c : 0x000a
ーーーーーーーーーーーーーーーーーー
これをお願いします
0192デフォルトの名無しさん
NGNGまとめて書きたがる香具師に限って関数が長くなる傾向があり、その変数が何者なのか不明になりがち。
それはさておき、君は事前に使う道具を全て揃えてから作業に取り掛かるのと、
必要になる都度道具を用意するのとどっちが好きかね。
0193デフォルトの名無しさん
NGNG#include <stdio.h>
#include <stdlib.h>
#define offsetof(s, m) ((char *) &(s).(m) - (char *) &(s))
int main(void)
{
struct {
long l;
int i;
short s;
char c;
} foo;
printf("l:%p\ni:%p\ns:%p\nc:%p\n", offsetof(foo, l), offsetof(foo, i), offsetof(foo, s), offsetof(foo, c));
return EXIT_SUCCESS;
}
0194デフォルトの名無しさん
NGNG0195191
NGNGでもオレのレベルが低すぎてマクロが理解できません(´・ω・`)ショボーン
マクロ部分を関数内に展開?してくれませんか?ごめんなさい
0196デフォルトの名無しさん
NGNG0197デフォルトの名無しさん
NGNG0198デフォルトの名無しさん
NGNGあー、(m)じゃなくてmのまんまじゃないと>194だった。
ついでによく見たらstddef.hにあるoffsetofマクロと仕様が違ってた。
マクロ定義を外して、
struct {
を
struct Foo {
に、
offsetof(foo, l)
を
offsetof(struct Foo, l)
にすれば通るはずだよ。
0199デフォルトの名無しさん
NGNGtypedef struct mystruct{
char c; short s; int i; long long l;
}MYSTRUCT;
int main(void){
MYSTRUCT ms[2];
int index[4];
char p[]="csil";
char c;
int i,j,temp;
index[0]=((void*)&(ms[0].c))-(void*)&ms[0];
index[1]=((void*)&(ms[0].s))-(void*)&ms[0];
index[2]=((void*)&(ms[0].i))-(void*)&ms[0];
index[3]=((void*)&(ms[0].l))-(void*)&ms[0];
for(i=0;i<4;i++){
for(j=3;j>i;j--){
if(index[j]<index[j-1]){
temp=index[j];
index[j]=index[j-1];
index[j-1]=temp;
c=p[j];
p[j]=p[j-1];
p[j-1]=c;
}
}
}
for(i=0;i<4;i++)printf("%c:%04x\n",p[i],index[i]);
printf("size %04x\n",(void*)&(ms[1])-(void*)&ms[0]);
}
0200199
NGNGバブルソート入れると行数きつきつ。
long だとうちのコンパイラ(cygwin gcc)じゃ int と同じサイズの 4 ビットだから
long long 型 8 ビットにしてみた。double 型でも可。
たぶん出題者の意図はこっち。
構造体の中身の順序をいろいろ変えて試すと面白いと思うよ。
ついでにおまけも入ってるよ。
0201デフォルトの名無しさん
NGNGunsignedで0〜15までしか表せないじゃん
0202191
NGNG本当に助かりました(´Д⊂グスン
この機会にマクロを勉強してきます
0203188
NGNG0204デフォルトの名無しさん
NGNGs/ビット/バイト
何やっているんだろう・・・・・。
0205デフォルトの名無しさん
NGNGみんな遊び呆ければいいのに。
0206191
NGNGchar p[]="csil";
が理解できません
教えてください
0207デフォルトの名無しさん
NGNGつかそれがマジならそんな宿題やるレベルじゃねーだろ
0208デフォルトの名無しさん
NGNG可変長の文字列配列の初期化
実質的には
char p[5];
p[0]='c';
p[1]='s';
p[2]='i';
p[3]='l';
p[4]='\0';
といっしょ。
0209191
NGNGcsilって文字列になにか意味があるって想ってしまいました
早とちりごめんなさい(´;ω;`)ウッ…
0210デフォルトの名無しさん
NGNG0211デフォルトの名無しさん
NGNG0212デフォルトの名無しさん
NGNGmain()
{
printf("GNU");
while(1)
printf(" is Not Unix");
}
0213デフォルトの名無しさん
NGNGがんもどき 煮込んだら 美味かった
ttp://www.sra.co.jp/public/doc/gnu/
0214デフォルトの名無しさん
NGNGANU = ANU's Not Unix
BNU = BNU's Not Unix
CNU = CNU's Not Unix
DNU = DNU's Not Unix
何でもいいじゃん
0215デフォルトの名無しさん
NGNGXI = G
0216デフォルトの名無しさん
NGNG0217デフォルトの名無しさん
NGNGhttp://img.esbooks.co.jp/bks/images/i4/30597574.jpg
0218デフォルトの名無しさん
NGNGバカでスマソ。
0219デフォルトの名無しさん
NGNGXI(ズィー)とG(ヂー)
英語だと発音違うのにな
0220デフォルトの名無しさん
NGNG0221デフォルトの名無しさん
NGNGchar Suzi[100];
double Result;
Suzi = "3.28"
Result = atof(Suzi);
こうすると
Result に 3.280000000002 が格納されてしまいます。
なぜ 3.280000000000 ではないのでしょうか?
//Suziの数によって右端が0だったり0じゃなかったりします・・・。
0222デフォルトの名無しさん
NGNG0223デフォルトの名無しさん
NGNG0224デフォルトの名無しさん
NGNGうーん、なにやら奥が深いんですね。
Result に 3.280000000000 というように正しい値が格納されるようにするには
どうすればいいですか?
0225デフォルトの名無しさん
NGNG0226デフォルトの名無しさん
NGNGchar Suzi[100];
Suzi = "3.28"
これ変じゃないか?
いいの?
0227デフォルトの名無しさん
NGNG3.28は例なので任意の数字を指定できるようにしたいです。
>>226
すいません";"が抜けてました。
Suzi = "3.28";
です。
0228227
NGNGchar Suzi[] = "3.28";
こう書けば大丈夫でしょうか?
0229デフォルトの名無しさん
NGNGそういう意味かな
二進数小数についてを調べるとよい。
で、有限長小数を丸め誤差なしで扱いたいなら文字列で管理する。
あとは、誤差なしで数値管理してくれるライブラリパッケージを使うとか。
0232218
NGNGなるほど、でもXIならどっちかというと「グィ」?
ん?って事はXINUはギニュー!?(特戦隊)
>>220
XI は 11 だと思います。
G は 7番目だと(ry
0233デフォルトの名無しさん
NGNG不覚にもギニューはつぼだった
0234デフォルトの名無しさん
NGNG英語の場合、X は S とか Z の発音する気が。
0235デフォルトの名無しさん
NGNG小文字を大文字に
大文字を小文字に
どっちでもなければそのまま
に変換するコードをC++でかっこよく書くにはどうしたらいいですか?
<*.h> および <cctype> の類は #include しないで実装するにはどうしたらいいですか?
0236デフォルトの名無しさん
NGNGかっこよくかww
がんばれ↓
0237236
NGNG0238デフォルトの名無しさん
NGNGこれじゃあ全然C++じゃないんだけどなにをどうしたらC++らしくなるのでしょう?
void henkan(char* target)
{
static const char s = ( 'a' - 'A');
for(char* t = target; *t; ++t){
if(*t >= 'a' && *t <= 'z') {
*t -= s;
}
else if(*t >= 'A' && *t <= 'Z') {
*t += s;
}
}
0239デフォルトの名無しさん
NGNGC++ どころか C すらやめたほうがいいよ
0240デフォルトの名無しさん
NGNG0241デフォルトの名無しさん
NGNG>C++でかっこよく
><*.h> および <cctype> の類は #include しない
これがおかしいわけだが
0242デフォルトの名無しさん
NGNG0243デフォルトの名無しさん
NGNG#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
struct UpperLower {
void operator()(char &c){
if(InRange(c, 'a', 'z'))
c = c - 'a' + 'A';
else if(InRange(c, 'A', 'Z'))
c = c - 'A' + 'a';
}
bool InRange(int val, int a, int b){
return val >= a && val <= b;
}
};
int main(){
string s = "absgd7382AHsufeAFDUE";
cout << s << endl;
for_each(s.begin(), s.end(), UpperLower());
cout << s << endl;
return 0;
}
0244デフォルトの名無しさん
NGNGto_upper_or_lower( char c )
{
const char d = 'A' - 'a';
char r = c;
if( c >= 'a' && c <= 'z' )
{
r += d;
}
else
if( c >= 'A' && c <= 'Z' )
{
r -= d;
}
return r;
}
void
henkan( char* target )
{
while( *target != '\0' )
{
*target = to_upper_or_lower( *target );
target ++;
}
}
普通にこれじゃダメなのか?
0245デフォルトの名無しさん
NGNGprintf("ヌルポ ヌルポ AutoRun♪ \n");
printf("ぬるぽ ぬるぽ オートラン♪\n");
printf("お前が踏まなきゃ誰が踏む!\n");
0246デフォルトの名無しさん
NGNG0247デフォルトの名無しさん
NGNGありがとうございました。
0248デフォルトの名無しさん
NGNG普通は以下のようなテーブルを作成して
テーブル参照一発で解決じゃないですか?
{
0x00, 0x01, 0x02, ...
0x10, 0x11, 0x12, ...
...
0x40, 0x61, 0x62, ...
0x70, 0x71, 0x72, ...
0x60, 0x41, 0x42, ...
0x50, 0x51, 0x52, ...
...
};
0249デフォルトの名無しさん
NGNGん〜、でも
きれいなソース、読みやすいソースをめざして、
コーディング技術の向上に努めるのはいいことかもしれませんよ。
0250デフォルトの名無しさん
NGNGオレがいつ
>きれいなソース、読みやすいソースをめざして、
>コーディング技術の向上に努めるのはいいこと
こんな話したよ?
0251デフォルトの名無しさん
NGNGミ∠_)
∧_∧/ \\
( ・∀/) | | ガッガッガッガッガッガッ
( つつ | |
Y /ノ 人
/ ) < >_∧∩
_/し' //. V`Д´)/
(_フ彡 / ←>>245
0252デフォルトの名無しさん
NGNGvoid init(void){
int i;
for(i = 0; i <= 0xff; i++) char_tbl[i] = i;
for(i = 'a'; i <= 'z'; i++) char_tbl[i] += 'A' - 'a';
for(i = 'A'; i <= 'Z'; i++) char_tbl[i] += 'a' - 'A';
}
void henkan(char *s){
while(*s){
*s = char_tbl[*s];
s++;
}
}
■ このスレッドは過去ログ倉庫に格納されています