ぼるじょあがC/C++の宿題を片づけますYO! 42代目
■ このスレッドは過去ログ倉庫に格納されています
0001ぼるじょあ代理
2005/04/18(月) 17:00:13わからない宿題を片づけますYO!
――【注意点】―――――――――――――――――――――――――
・質問は必ず【質問テンプレ】に従ってください。
・問題文は、解いてもらう方にわかりやすいように全文を書きましょう。
・計算問題は必ず数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはやめましょう。解いてもらっている方に失礼です。
・複雑なAAはスレが荒れたり問題が埋もれる原因になりますので使用を控えてください。
―――――――――――――――――――――――――――――――
【質問テンプレ】
[1] 授業単元:
[2] 問題文(含コード&リンク):
[3] 環境
[3.1] OS:
[3.2] コンパイラ(バージョン):
[3.3] 言語:C/C++/どちらでも可 のいずれか
[4] 期限:yyyy年mm月dd日hh:mmまで/無期限 のいずれか
[5] その他の制限:
【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
【歴代スレは>>2-13】
0153デフォルトの名無しさん
2005/04/20(水) 21:37:56それは、残念だったな。
0154デフォルトの名無しさん
2005/04/20(水) 22:15:370155sage
2005/04/20(水) 22:20:33[2] 問題文(含コード&リンク):
---hoge.txt---
商品名aaaa
商品名bbbb
商品名cccc
商品名dddd
商品名eeee
---hoge.txt---
問1:hoge.txtから文字列を読み込み、構造体に格納せよ。malloc()を用い
動的に確保し、双方向リストを作成し、DOS窓に行番号付きで表示せよ。
---DOS窓---
01 商品名aaaa
02 商品名bbbb
…
05 商品名eeee
---DOS窓---
問2:問1で作成した双方向リストを用い、「i」を入力したら任意の行に
適当な商品名を追加し、「d」を入力したら任意の行を削除せよ。
問3:問2のコマンド入力後の状態をDOS窓に表示せよ。また、その状態をhoge.txt
に反映し上書きせよ。
[3] 環境
[3.1] OS: windows xp
[3.2] コンパイラ(バージョン):gcc3.2.3
[3.3] 言語:C
[4] 期限:できるだけ早く
[5] その他の制限:初心者なので双方向リストのアドレス取得方法が分かりません。
ぼるじょあ様よろしくお願いします。
0156デフォルトの名無しさん
2005/04/20(水) 22:24:490157デフォルトの名無しさん
2005/04/20(水) 22:25:58ぼるじょあに聞いてるんだから、他の奴はだまってろ
0158ぼるじょあ ◆yBEncckFOU
2005/04/20(水) 22:27:290159デフォルトの名無しさん
2005/04/20(水) 22:28:28[2] # 「Boyer-Moore法」を用いる.
# 探索を行う関数名は bm_search2 とする.
* 引数として以下の3つを受け取る:
1. ファイル中の文字列 haystack
2. 検索対象の文字列 needle
3. 連結リスト(needle のすべての出現位置を格納するため)
* 戻り値は,一致した文字列の総数.
# プログラムは一致した文字列と前後 10 文字を表示する.
# プログラムは一致したすべての文字列を表示する.
* 関数 bm_search2 の中で一致した文字列を表示することは禁止する.
# プログラムはコマンドライン引数としてファイル名と検索文字列を指定できること.
[3] 環境
[3.1] OS:Linux
[3.2] わからないです
[3.3] C言語
[4] 4月22日までです
よろしくお願いします
0160デフォルトの名無しさん
2005/04/20(水) 22:31:05無能・無才は素直に単位落としとけよ
0162デフォルトの名無しさん
2005/04/20(水) 23:54:190163デフォルトの名無しさん
2005/04/20(水) 23:55:13あるファイル、例えば
2 6 -7 0 0 6 48
4 5 3 -1 0 8 12
9 0 -7 5 1 9 -2
があった場合に何行何列かを表示するプログラムを
作って欲しいです。ちなみに行数によって列数は変わり
ません。条件としてはmalloc関数を使ってほしいです。
だれかお願いしますm(__)m
0164デフォルトの名無しさん
2005/04/21(木) 00:09:393値の中央値(2番目に大きい数)をもとめるアルゴリズムを
C言語で実装せよ。(if文を使うこと)
以下を参考にして3×3のマスにおける○×ゲームの表示プログラムを
作成したい。とりあえず以下のように出力させるには?
どこに×をおきますか?:2 2
○○○
○×○
○○○
0165デフォルトの名無しさん
2005/04/21(木) 00:10:23#include <stdio.h>
int main(void)
{
int i, j, n,m;
printf("どこに×を置きますか?:");
scanf("%d %d", &n,&m);
for (i = 1; i <= 3; i++) {
for (j = 1; j <= 3; j++) {
ここを考えること。
}
putchar('\n');
}
return (0);
}
となっています。
明日提出なので、できればよろしくお願いします。
0166デフォルトの名無しさん
2005/04/21(木) 00:15:30{
if(b <= a && a <= c || c <= a && a <= b) return a;
if(a <= b && b <= c || c <= b && b <= a) return b;
return c;
}
2問目
if(i == n && j == m) printf("×");
else printf("○");
入力に時間がかかったせいで3分もかけてしまった。
0167デフォルトの名無しさん
2005/04/21(木) 00:20:22それをやったらbad allocationになるんですよ。
0168デフォルトの名無しさん
2005/04/21(木) 00:20:38明日提出でやばいです・・・。
お願いします。
0169デフォルトの名無しさん
2005/04/21(木) 00:40:44ぼるじょあじゃないけど問1と問2答えといたよ。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/327.c
0170デフォルトの名無しさん
2005/04/21(木) 00:44:18具体的に例題ファイルの場合にはどうなればいいのか説明できますか?
例題ファイルの場合、
3行7列と 画面に表示すればいいということでしょうか?
それだとmalloc関数を使う必要がないので違いますよね
0171デフォルトの名無しさん
2005/04/21(木) 00:47:17163の問題の意味が全然わからない
0172デフォルトの名無しさん
2005/04/21(木) 01:00:23作りたいプログラムはファイルの中身を表示するのが目的です。
下のプログラムで3行7列は#defineによって定義してますよね。
自分ででもファイルの中は実際はわからないわけですから何行何列
かはプログラム自体がファイルを開いたときに認識するように
したいのです。つまり例題ファイルを開いたときに下のプログラム自体が
3行7列を認識して2次元行列ma[][]を表示したいようにしたいのです。
プログラムさえできればmalloc関数は使わなくても大丈夫です。
説明不足があったらすみません。お願いします。
#include <stdio.h>
#define COL 7
#define ROW 3
int main(void)
{
FILE * f;
int data[ROW][COL], i, j, is_error = 0;
if ((f = fopen("data.txt", "r")) == NULL) return 1;
for (i = 0; !is_error && i < ROW; ++i)
for (j = 0; !is_error && j < COL; ++j)
if (fscanf(f, "%d", &data[i][j]) != 1) is_error = 1;
fclose(f);
if (is_error) return 1;
printf("%d行%d列\n", ROW, COL);
return 0;
}
017497
2005/04/21(木) 01:10:06ちょっとやってみたけどそのエラーは別な場所で起きてるみたい。
直しといたんであげとくよ。
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/328.txt
0176デフォルトの名無しさん
2005/04/21(木) 01:55:39それとも説明がわかりにくかったですかね?
0177デフォルトの名無しさん
2005/04/21(木) 02:01:14>2次元行列ma[][]を表示したいようにしたいのです
>printf("%d行%d列\n", ROW, COL);
だから、どっちなんだと…
>条件としてはmalloc関数を使ってほしいです
>プログラムさえできればmalloc関数は使わなくても大丈夫です
これも矛盾してるしな。
行と列の数が分かればそれでいいのか?
それとも、配列の中身のデータが必要なのか?
と>170は聞いているんだ。質問に答えろよ。
読み込む前には行や列の数が分からん、なんて分かってる。
例として、>163を読み込んだときにはどういう結果が出力されるべきなのかを書け。
課題に「ただし、mallocを使う事」とか「ただし、データは一度配列に読み込む事とする」みたいな条件がついてるならそれもな。
0178デフォルトの名無しさん
2005/04/21(木) 02:17:43>だから、どっちなんだと…
>行と列の数が分かればそれでいいのか?
>それとも、配列の中身のデータが必要なのか?
両方表示していただきたいです。
>これも矛盾してるしな。
malloc関数はどうでもいいです。
個人的に使わないと無理かなと思っただけなんで。
>例として、>163を読み込んだときにはどういう結果が出力されるべきなのかを書け。
2 6 -7 0 0 6 48
4 5 3 -1 0 8 12
9 0 -7 5 1 9 -2
3行7列の行列です。
>課題に「ただし、mallocを使う事」とか「ただし、データは一度配列に
>読み込む事とする」みたいな条件がついてるならそれもな。
mallocはどうでもいいです。配列ma[][]をあとで計算に使うので
ma[][]に格納して欲しいです。
これで大丈夫ですか?
0179デフォルトの名無しさん
2005/04/21(木) 02:20:51ma[][]じゃなくてdata[][]でした。どちらでもいいです。
すみません。
0180デフォルトの名無しさん
2005/04/21(木) 05:49:18つくってみたよ。動いたからあげてみる。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/329.txt
読み込んだデータをまたつかうんならデータ構造に問題あるぽい。
テスト環境はLinuxのgccね。
0181デフォルトの名無しさん
2005/04/21(木) 08:22:42ありがとうございます。うれしいかぎりです。
でも、またassertionが出るようになったのですが・・・。
Debug Assertion Failed!
C:...\Microsoft Visual Studio 8\...\VC\include\vector
Line:223
Expression'vector literators incompatible
0182デフォルトの名無しさん
2005/04/21(木) 08:36:15そのassertionってSTLのvectorからでてる様に見えるんだが。俺の気のせいかなぁ。
0183デフォルトの名無しさん
2005/04/21(木) 08:42:09そうそう。
その通りだと思います。
それって、STLのVectorが違うってこと?
でも、今までも、他のSTLから出てるエラーはあって、
自分のプログラムを治したら、出なくなったっていうのは、あるんですけど・・・。
0184デフォルトの名無しさん
2005/04/21(木) 09:16:42>>170 は私が作ったへぼソースw
まるで自分が作ったかのように質問してるし。
良識を疑うよw
>>180 乙です。
0186デフォルトの名無しさん
2005/04/21(木) 09:20:15>malloc関数はどうでもいいです。
>個人的に使わないと無理かなと思っただけなんで。
^^^^^^^^^^
嘘を付くな嘘を。
0187デフォルトの名無しさん
2005/04/21(木) 09:26:16そういうことではなくて、
このソースそのものがvectorに取って代わるものなんではないの?ってこと
なのに、vectorのassertionを出すっていうのは、おかしくないのかなと思っただけ。
どっちもincludeしてたりするのなら、やめた方がいいと思うんだけど。
俺の認識がおかしいならスルーしてくださいな。
0188デフォルトの名無しさん
2005/04/21(木) 09:36:05両方のvectorクラスをincludeしてると予想して書くけど、
名前空間が違うから、基本的には両方includeしてても、
おかしいことにはならないと思う。
けど、同様の機能を提供するものをincludeしてるという状況の為、
意識しないミスによって、例えば自作vectorクラス側のオブジェクトを
STL::vectorとして扱ってしまっている場所が出てしまう可能性がある。
上記のassertionもその手のバグじゃないかと疑っているということです。
018970
2005/04/21(木) 10:19:46作成していただいたソースをなんとかVCでコンパイル可能になったのですが
デバッグ時に←個所でエラーが発生してしまいました。
原因がわかりません。ヒントお願いします。
int sjis2euc(unsigned char *dest, unsigned char *src) {
unsigned code1 = src[0];
unsigned code2 = src[1];
code1 = code1 * 2 - 0xe1;
code1 &= 0x7f;// 1バイトカナの隙間
code2 -= 0x1f;
if (code2 > 0x7f - 0x1f) --code2; // 0x7fの穴
if (code2 >= 0x7f) {// 偶数ブロック
code2 -= 0x5e;
++code1;
}
dest[0] = code1 | 0x80;
dest[1] = code2 | 0x80; //← 最初にここを通過させるとメモリ参照系エラーになります。
return 2;
}
int sjis2eucKana(unsigned char * dest, unsigned char * src) { //一バイトカナはこれ(戻り値は上と同じ)
char * str;
dest[0] = 0x8e;
dest[1] = str[0];
return 2;
}
019070
2005/04/21(木) 10:20:08static BOOL isSjisKanji2(unsigned char src){return src >= 0x40 && src <= 0x7e || src >= 0x80 && src <= 0xec;}
static BOOL isSjisKana(unsigned char src) {return src >= 0xa1 && src <= 0xdf;}
static BOOL isSjisKanji(const unsigned char * src){return isSjisKanji1(src[0]) && isSjisKanji2(src[1]);}
EXPORT __stdcall sjis2eucMain(char * str) { //変換の本体
char tmp;
unsigned char * src = reinterpret_cast<unsigned char *>(str);
unsigned char * buf;/// = malloc((char)strlen(str) * 2);
unsigned ic = 0;
for (; src[0] != '\0'; ++src) {
if (isSjisKana(src[0])) ic += sjis2eucKana(& buf[ic], src);
else if (isSjisKanji(src)) {
ic += sjis2euc(&buf[ic], src);
++src;
}
else buf[ic++] = src[0];
}
buf[ic] = '\0';
free(buf);
return tmp;
}
019170
2005/04/21(木) 10:22:09のstrには試験的に作ったVBからの呼出し元で
明示的に「あいうえおかきくけこさしすせそ」を格納しており
パラメタとしては正常に引き継がれておるようです。
0192デフォルトの名無しさん
2005/04/21(木) 10:25:26テストコードが悪い(多分)
>>182
テストコードを見たら、STLのvectorと独自のvector両方に対してテストしてる模様。
0193デフォルトの名無しさん
2005/04/21(木) 10:27:44確かにSTLのvectorをincludeしてる。
019470
2005/04/21(木) 10:34:04unsigned char * buf;/// = malloc((char)strlen(str) * 2);
コンパイル通す為にお馬鹿な事をしていました。
ここを直したらうまく動きました。お騒がせしました。
0195デフォルトの名無しさん
2005/04/21(木) 10:34:040196デフォルトの名無しさん
2005/04/21(木) 10:49:18ごめんなさい。言うの忘れてました。
もし、capacityがなくなったら、そのたびに、2倍にするそうです。
だから、bad reallocationってメッセージが出てるのでしょうか?
0197デフォルトの名無しさん
2005/04/21(木) 10:52:09まず何が起きてるのか言ってくれ。
はっきりいってわけがわからない。
0198デフォルトの名無しさん
2005/04/21(木) 11:03:19さっきのvector関連のassertは出なくなって、また
=== A std::bad_alloc EXCEPTION REACHED main() ===
Message: [bad allocation]
The type reported may not be most-derived.
っていうメッセージが出るんです。
つまり、bad allocationなんだと・・・。
これって、capacity==sizeになったとき、
またvectorを増やすけれど、その時の大きさをcapacity*2にするってことなんだけど、
そこから来てる、エラーなのかなって思ったのです。
0199デフォルトの名無しさん
2005/04/21(木) 11:15:14>>174のやつ使ってる?
0200デフォルトの名無しさん
2005/04/21(木) 11:16:26reallocationはcapacityを2倍にしようとするんだけど、
その2倍のcapacityがmax_sizeを超えていたら、max_sizeは新しいcapacityを
取られるべきだそうです。
defaultによって、メモリーがなくなったときに、new[],delete[],がthrowする。
size_type max_size(void) constに関して、throw std::length_errorが必要だそうです。
本当、手間取らせちゃってごめんなさい。
0201デフォルトの名無しさん
2005/04/21(木) 11:22:32はい。
そうすると、198で言った風になります。
0202デフォルトの名無しさん
2005/04/21(木) 11:28:38defaultによって、メモリーがなくなったときに、
new[],delete[],がstd::bad_allocをthrowする。
私の日本語表現、おかしくて、読みずらいかもしれません・・・・。
0203デフォルトの名無しさん
2005/04/21(木) 11:29:51おれは問題なくテスト通ってるけどな。
今使ってるソース見せてよ。
0204デフォルトの名無しさん
2005/04/21(木) 11:34:12これです。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/330.cpp
0205デフォルトの名無しさん
2005/04/21(木) 11:37:05insert(pointer before, size_type howMany, const_reference x)
が直ってない
0206デフォルトの名無しさん
2005/04/21(木) 11:40:25これじゃ、不十分なんでしょうか?
0207デフォルトの名無しさん
2005/04/21(木) 11:55:46[1] 授業単元:C言語実習
[2] 問題文(含コード&リンク):
任意の文字列を検索し、指定文字列に置換える関数を作りなさい。
なお、置換文字列は任意の文字列と同じ長さとは限らない。
[3] 環境
[3.1] OS: linux
[3.2] コンパイラ(バージョン):gcc
[3.3] 言語:C
[4] 期限:2005年4月22日まで
[5] その他の制限: 23日の授業で提出なので御願いします;
0208デフォルトの名無しさん
2005/04/21(木) 12:02:43某サイトによると、
size_type max_size() const;
Returns size() of the largest possible vector.
size_type capacity() const;
Returns the size of the allocated storage, as the number of elements
that can be stored.
今まで、ネットで、こういう系統のcppファイルをたくさん集めて研究してたんですけど、
これより、簡単で、size_type max_size() const っていう関数は使ってないんですよね。
なので、ないがしろにしてたけど、これのせいの気がするんですが・・・。
0209デフォルトの名無しさん
2005/04/21(木) 12:05:11あ、それを直しても、198でいうようなのが出てきます。
assertとかは出ないんですけど・・・。
0210デフォルトの名無しさん
2005/04/21(木) 12:06:17int pid;
pid=fork();
if(pid==0){
cout<<"a";
}
else{
cout<<"b";
}
}
上記のコードだと、実行後 aa と出力されてしまいます。
forkから、親側pidにはプロセスID、子側pidには0が返るはずなので、
親はbを、子はaを出力すると思うのですが、私は何か勘違いを
しているのでしょうか?
0211デフォルトの名無しさん
2005/04/21(木) 12:06:56void replaceString(char* string, const char* from, const char* to)
{
const int len1 = (int)strlen(from);
const int len2 = (int)strlen(to);
char* found = strstr(string, from);
while (found) {
if (len1 != len2) {
memmove(found + len2, found + len1, strlen(found + len1) + 1);
}
memcpy(found, to, len2);
found = strstr(found + len2, from);
}
}
0212デフォルトの名無しさん
2005/04/21(木) 12:07:43じゃあ、もう一回直したやつをアップしてみて。
0213デフォルトの名無しさん
2005/04/21(木) 12:12:01http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/331.cpp
なんでも、すいません。
本当、助かります。
0214デフォルトの名無しさん
2005/04/21(木) 12:13:57すいませんが、212さんのoutputかexe fileアップしてもらっていいですか?
0215デフォルトの名無しさん
2005/04/21(木) 12:15:47const_refernce copy(x)
->
const value_type copy(x)
0216デフォルトの名無しさん
2005/04/21(木) 12:16:090217デフォルトの名無しさん
2005/04/21(木) 12:22:39そうするとassertが出るので、const_referenceであってると思います。
>>216
そうですよね。
自分でも、嫌になってるから、皆さんには、もっと迷惑かけてると思います。
すいません。
0218デフォルトの名無しさん
2005/04/21(木) 12:36:04const_referenceだったら何も修正されないじゃん。
そのassertの内容は?
0219デフォルトの名無しさん
2005/04/21(木) 12:56:20template<typename Element>
void Vec<Element>::insert(pointer before, size_type howMany, const_reference x){
const size_type prev = size();
const difference_type offset = before - begin();
const_reference copy(x);
copy とか習ってなかったので、よく分からなかったのですが、
const_reference x なので、const_referenceかなと思って。
value_typeにすると、またさっき言ったように、
STLのVectorからのエラーになります。
0220デフォルトの名無しさん
2005/04/21(木) 13:06:300221デフォルトの名無しさん
2005/04/21(木) 13:09:58それでいい。
STLのvectorがassertするのは多分>>192
022270
2005/04/21(木) 13:17:00「結果」という漢字が正常に変換されません。
0223210
2005/04/21(木) 13:18:230224207
2005/04/21(木) 13:19:49void replaceString(char* string, const char* from, const char* to);
main(){
char *string1 ="good mornig america!";
char *string2 ="good";
char *string3 ="bad";
replaceString(string1,string2, string3);
printf("%s\n",sting1);
}
void replaceString(char* string, const char* from, const char* to)
{
const int len1 = (int)strlen(from);
const int len2 = (int)strlen(to);
char* found = strstr(string, from);
while (found) {
if (len1 != len2) {
memmove(found + len2, found + len1, strlen(found + len1) + 1);
}
memcpy(found, to, len2);
found = strstr(found + len2, from);
}
}
ってやったらコアダンプしちゃいました;;
どこが悪いんでしょうか・・・
0225デフォルトの名無しさん
2005/04/21(木) 13:31:14char string2[] ="good";
char string3[] ="bad";
0226デフォルトの名無しさん
2005/04/21(木) 13:47:49長い間付き合っていただいて、ありがとうございました。
なんか悪いので、締め切りまであと15時間あるので、
自分なりにやってみます。
本当にありがとうございました。
0227207
2005/04/21(木) 13:53:31224はだめで225はOK
↓もOKな理由がわかりません・・・なぜなんでしょうか;
main(){
char *string1 ="good mornig america!";
char *string2 ="good";
char *string3 ="bad";
printf("%s\n",string1);
printf("%s\n",string2);
printf("%s\n",string3);
}
0228デフォルトの名無しさん
2005/04/21(木) 13:57:16動かしてみた
baと表示された
0229>>226
2005/04/21(木) 14:01:40VC8を使わないか、Releaseモードにすれば大丈夫。
0230デフォルトの名無しさん
2005/04/21(木) 14:26:25ありがとうございました。
>>170 は私が作ったへぼソースw
>まるで自分が作ったかのように質問してるし。
>良識を疑うよw
自分が作ったなんて一言も書いてないです。
もしそのように感じたらすみませんでした。
>>malloc関数はどうでもいいです。
>>個人的に使わないと無理かなと思っただけなんで。
^^^^^^^^^
>嘘を付くな嘘を。
嘘ではないです。宿題を出された日に大学で教授にmalloc関数を
使えばできるよ。と言われたので個人的に解釈してmalloc関数を
使わなければできないと思ったのでそのように書いたのです。
------------------------------------------------------------
言い訳みたいな文になってしまってすみません。
本当にありがとうございました。
0231デフォルトの名無しさん
2005/04/21(木) 14:47:22それは、宿題の範疇を超えるんだが(^^;;
簡単に説明すると、
・文字列トークンは普通、(書換えできない)文字列へのポインタとして扱われる。
・例外として文字列配列の初期子として書かれたときは、その文字列配列の初期値を決める。
・配列の名前だけ書く([]を着けない)と、最初の要素へのポインタとして扱われる。
わからんよーなら、丁寧な教科書なら図解つきで載ってるんで、読んでおくれ。
0232118辺り
2005/04/21(木) 15:17:04なんだよ、C++でいいならそのまま使えよ。
Cかと思ってmalloc()辺りの説明したけど、文字列の扱い慣れてないみたいだから
>190みたいな阿呆なコード書いてるんだろうし。
0233デフォルトの名無しさん
2005/04/21(木) 15:50:28明日学校行って、他のコンパイラーでやってみます。
本当ありがとうございました。
0234デフォルトの名無しさん
2005/04/21(木) 15:51:48>229を理解してその台詞? いくらなんでも酷すぎるなぁ。
0235デフォルトの名無しさん
2005/04/21(木) 16:46:05>>Releaseモードにすれば
マジであほなんで、その仕方がよく分からなかったけど、また聞くと悪いから、
VC8以外のコンパイラーで一度試してみようかなって思っただけです。
0236デフォルトの名無しさん
2005/04/21(木) 16:49:14今ままでずっと書いてもらったコードを理解するために、色々調べてて
返事おくれました。
STLの授業始まったばかりで、まだ定かではないことがたくさんあって・・・。
ほんと、ありがとうございました。
0237デフォルトの名無しさん
2005/04/21(木) 16:50:24前にもIDEの使い方くらい勉強しとけって書かれてたよなぁ。
レスがその場凌ぎ以外のなんにも役に立ってないわけだ。
0238デフォルトの名無しさん
2005/04/21(木) 17:33:14ちゃんと勉強するやつがここに来るわけないだろw
0239デフォルトの名無しさん
2005/04/21(木) 17:38:04マジレスすると、私事なのですが、学校が進むの早いんですよ。
去年の10月にC++の最初、basic classから始まって、
data structure,STL&SLと、とんとんと。
その場凌ぎ以外のなんにも役に立ってないわけじゃなくて、
進むの学校が進むの早すぎて、あれもこれもとやること多すぎで、
消化不良起こしてるんです。
まだC++初めて6ヶ月しか経ってないので。
もちろん、このクラスの以外にも3クラス取ってるわけで・・・。
でも、コンパイラーのこと、書かれていた基礎知識が抜けていて、
マズイのは、ご指摘どうり、自分でも承知しているので、
週末にでも時間作れるように努力して、勉強します。
024070
2005/04/21(木) 18:03:49レスありがとうございます。
AHOなソースにしてしまい申し訳ありません。
何故か当環境でコンパイルすると、ズラーとエラーが出てきてしまいました。
『結果』という文字がなぜうまくいかないのかヒントお願いいたします。
0241デフォルトの名無しさん
2005/04/21(木) 18:23:550242232らしい
2005/04/21(木) 18:26:05文字列は、char変数には入らない。
stringでエラーを起こしているなら、
#include <string>
すればいい。
教えるの面倒だから、元の方でエラーをなくす努力をしてくれ。
0243デフォルトの名無しさん
2005/04/21(木) 18:51:17ModenやらFAQやら禿本やらboostやらと読んだが…
自分が適当にやってるのを他のせいにするなと言いたい
やる気さえあれば誰だって出来る。よっぽどアホでない限りな
0244デフォルトの名無しさん
2005/04/21(木) 19:01:520245デフォルトの名無しさん
2005/04/21(木) 19:09:39Ψ2p=1/sqrt(PI)*γ2^(5/2)*r*e^(-γ2*r)*cosθ
という式で|Ψ(x,y,z)|^2を、数値的に求め
その結果から|Ψ(x,0,z)|^2のグラフを
gnuplotでえがくプログラムを組む課題です。
どのようなプログラムを組めばよいでしょうか。
0246デフォルトの名無しさん
2005/04/21(木) 19:20:52[2] 問題文(含コード&リンク):3つの商品を買うとき会員券がある場合2割引 無ければ定価で売るプログラムを作りなさい。消費税も5%ととして計算すること
[3] 環境
[3.1] OS:Win2k
[3.2] コンパイラ(バージョン):Borland C++ Compiler 5.5
[3.3] 言語:C/C++/どちらでも可 のいずれか
[4] 期限:無し
for文からおかしいので治してみたりしたのですが
forを無視する、1つしか入力できない、数を入力してもループが終わらないといったバグがでます。
(型指定)の練習問題で初めて使用したのですが表示がおかしいのもわかりません。
お願いします
int pr[2];
int a,b,goke,sin;
printf("品物の値段を入力してください\n");
for(a=0;a<=2;a++){
scanf("%d",&a);
goke=pr[a]+goke;
}
printf("会員券があるなら1、ないなら0を入力してください\n");
scanf("%d",&b);
if(b==1){
sin=(float)goke*0.8;
sin=(float)sin*1.05;
}
else if(b==0){
sin=(float)goke*1.05;
}
else{
printf("エラー\n");
}
printf("\\%d",sin);
return 0;
0247デフォルトの名無しさん
2005/04/21(木) 19:42:11LinuxかMacかwindowsかそのほかのUNIXか。
0248デフォルトの名無しさん
2005/04/21(木) 19:50:06テンプレに従え。C++なのかCなのかも分らないので宿題として正答はできない。
0249デフォルトの名無しさん
2005/04/21(木) 20:04:143つの商品なのにpr[2]ではおかしいでしょ。
prは品物の値段を入れる変数でaは添え字でしょ。
入力された品物の値段をどこに入れるの。
考えてね。
0250デフォルトの名無しさん
2005/04/21(木) 20:14:11for(a=0;a<=2;a++){
scanf("%d",&a);
ループに使ってる a で scanf するな!
っていうか pr[] に scanf に汁!
>(型指定)の練習問題で初めて使用したのですが表示がおかしいのもわかりません。
goke 初期化汁!
0251245
2005/04/21(木) 20:29:26[1] 授業単元:なし
[2] 問題文(含コード&リンク):
[3] 環境
[3.1] OS:fedora core
[3.2] コンパイラ(バージョン):不明
[3.3] 言語:C
[4] 期限:4月末日
0252デフォルトの名無しさん
2005/04/21(木) 20:41:02■ このスレッドは過去ログ倉庫に格納されています