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


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

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



1 名前:デフォルトの名無しさん [2010/05/26(水) 07:45:28 BE:94671825-S★(522522)]
あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他の発言はスルーの方向で。

【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。
・問題文は、出題されたまま全文を書いてください。
・問題文やコードをリンクするときは、一言内容にについて説明をつけましょう。
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。

【質問テンプレ】
[1] 授業単元:
[2] 問題文(含コード&リンク):
[3] 環境
 [3.1] OS: (Windows/Linux/等々)
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
 [3.3] 言語: (C/C++/どちらでも可 のいずれか)
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)

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

前スレ
C/C++の宿題片付けます 135代目
pc12.2ch.net/test/read.cgi/tech/1269438098/

101 名前:デフォルトの名無しさん mailto:sage [2010/06/01(火) 00:15:44 ]
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):
n元連立1次方程式を解き,掃き出し法により求まる係数マトリクスの逆行列と解ベクトルを表示するプログラムを作れ。
[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン: Visual C++
 [3.3] 言語:C++
[4] 期限: 2010年6月3日15:00頃まで
[5] その他の制限: 出来るだけ基本的な方法でお願いします。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10637.txt

時間がなくなってきたので質問させていただきました。
自分なりにC++を扱うホームページの逆行列のプログラムを参考に、あまり分からないながら作ったのが下のプログラムです。
メモリやn次元の定義等は講義中で習っていないので良くわからないのですが、解を代入して求める未知数ベクトルを算出する作業が思うようにいきません。
URLのプログラムをうまい具合に変えて問題文の条件を満たすプログラムにして頂けると助かります。
またinclude<iostream>やcout、cinは授業の方では扱っていないので
include<stdio.h>の形でprintfやscanfを用いて作って頂けたら幸いです。

102 名前:デフォルトの名無しさん mailto:sage [2010/06/01(火) 00:21:46 ]
C++の授業でiostreamでなくstdio.hを使わせるってのはどうなんだろう
せめてstdio.hでなくcstdioじゃないかいな

103 名前:デフォルトの名無しさん mailto:sage [2010/06/01(火) 01:56:27 ]
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):整数を一つ入力してその数以下の素数をすべて出力するプログラムを作れ
[3] 環境
 [3.1] OS:WindowsVista
 [3.2] コンパイラ名とバージョン:Microsoft visual c++
 [3.3] 言語:C
[4] 期限:2010年6月3日
[5] その他の制限:基本的な構造でお願いします

kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10639.txt
こう書いてみたらノートン先生が怒るんですけど
どうすればいいんですか?


104 名前:デフォルトの名無しさん mailto:sage [2010/06/01(火) 03:14:20 ]
>>103
ノートン先生のSONARが怒っているんだろ?
だったら自分のコンパイル環境に問題がないと信じているのなら、
それが吐いた実行ファイルも信頼してやれ。
最近のSONARは過剰反応しすぎだ。

105 名前:デフォルトの名無しさん mailto:sage [2010/06/01(火) 03:23:16 ]
>>103
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10640.c
修正点は、
・mを初期化
・2も素数

106 名前:デフォルトの名無しさん mailto:sage [2010/06/01(火) 03:25:15 ]
>>104
最近じゃなく昔からだw

>>103
nに2以上が代入されたときにiのループの最初(i=2)はjのループを一回も回らない(j<i不成立)から
初期化されていないmと0とを比較しようとするので2が出力されるかどうかは運次第


107 名前:デフォルトの名無しさん mailto:sage [2010/06/01(火) 09:45:38 ]
[1] 授業単元:応用プログラム〜C言語講座
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10641.txt
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: cygwin gcc
 [3.3] 言語: C言語
[4] 期限: 2010年6月1日まで

よろしくお願いします

108 名前:デフォルトの名無しさん mailto:sage [2010/06/01(火) 11:34:57 ]
>>101
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10642.txt

もし問題があったら早めに知らせて下さい。
ちなみに演算結果は行列の教科書で検算して正しいことを確かめています。
逆行列が潰れる時(行列式が0の時)のチェックはしていません。

109 名前:デフォルトの名無しさん mailto:sage [2010/06/01(火) 13:23:09 ]
>>107
やってみたけど俺には制限が厳し過ぎて_
ideone.com/OOoLr



110 名前:デフォルトの名無しさん [2010/06/01(火) 17:03:02 ]
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):(1)x^2*cosx の0〜π/2までの積分 (2)(logx)^2
の1〜eまでの積分
[3] 環境
 [3.1] OS: Windows
 [3.2] visual c++
 [3.3] 言語: c++
[5] シンプソンの公式と台形公式を使っての数値積分をするプログラム


111 名前:デフォルトの名無しさん mailto:sage [2010/06/01(火) 17:34:42 ]
>>110
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10643.txt

112 名前:デフォルトの名無しさん [2010/06/01(火) 18:02:28 ]
>>111
ありがとうございます

113 名前:デフォルトの名無しさん mailto:sage [2010/06/01(火) 18:19:04 ]
[1] 授業単元: 情報システム学演習
[2] 問題文(含コード&リンク): uproda11.2ch-library.com/11244916.pdf.shtml
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン: わからないのですが、
gcc -o というコマンドを使っています。
 [3.3] 言語: C
[4] 期限:2010年6月3日13:00まで
[5] その他の制限:制限というか、ヒント文みたいなのです。>>1のろだは容量オーバーで使えなかったので、別ろだです。
uproda11.2ch-library.com/11244915.pdf.shtml

切実に困っています。
よろしくお願いします。

114 名前:デフォルトの名無しさん mailto:sage [2010/06/01(火) 18:36:34 ]
>>113
x-y 平面に展開せよ、とのことであるが、 x軸、y軸になにをわりあてるか、情報をください。
1) x: 時間t, y:θ(t)
2) x: 時間t, y:θ'(t)
3) x: θ(t), y:θ'(t)
どれもありそうです。

115 名前:デフォルトの名無しさん [2010/06/01(火) 19:52:00 ]
宿題っていうかプログラム作成依頼スレみたいなのって無い?


116 名前:デフォルトの名無しさん mailto:sage [2010/06/01(火) 19:58:37 ]
>>115
岡ちゃん乙

117 名前:デフォルトの名無しさん mailto:sage [2010/06/01(火) 21:09:26 ]
>>115
ちゃんと払ってくれるのか?

118 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 00:08:32 ]
>>114
>>113です。
3つのデータを作って、そのあとgnuplotで2つ選んでレポートを書くという課題です。
なので、3つのデータをファイルで書き出せるようにしたいです…。
説明不足ですいません…

119 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 00:18:35 ]
それ、答えになってんの?



120 名前:デフォルトの名無しさん [2010/06/02(水) 00:22:37 ]
[1] 授業単元:プログラミング演習
[2] 問題文:整数nを入力し、以下のようになサイズnの”Z型の図形”を”*”で表示するプログラムを作成しなさい。
ただし、図形を表示するためのnの値は3以上とし、2以下の値が入力された場合は処理を終了する様にしなさい。
[実行例]
3      <-n入力
n=3
***
 *
***
4 <-n入力
n=4
****
   *
  *
****  
8 <-n入力
n=8
********
         *
        *
       *
     *
   *
  *
********
2
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン:
 [3.3] 言語: C
[4]期限:6/2日PM10:00
[5]その他制限: printf int while scanf float for のみ使用、2重ループ必

121 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 00:34:47 ]
#include <stdio.h>

int main(void)
{
int i, j, n;

while(1) {
scanf("%d", &n);
if(n <= 2) break;
printf("n = %d\n", n);

for(i=1; i<=n; i++) {
for(j=0; j<n; j++) printf("%c", i==1||i==n||i+j==n ? '*' : ' ');
printf("\n");
}}

return 0;
}

122 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 08:46:34 ]
厳密にはcの宿題と言えないかもしれないんですが、宜しくお願いします。
cをコンパイルしてできたexeを起動して、プログラムの中で起きてる割り込みを調べるには
どのようなコマンドや方法で調べればいいのでしょうか?

123 名前:デフォルトの名無しさん [2010/06/02(水) 15:58:49 ]
[1] 授業単元: デバイス情報処理
[2] 問題文(含コード&リンク):
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10644.zip
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: VC
 [3.3] 言語:C++

124 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 16:02:24 ]
>>123
字が小さすぎて区別できない

125 名前:デフォルトの名無しさん [2010/06/02(水) 16:04:27 ]
>>124
すみません、もっと大きな画像を貼れるアップローダを探してきます。

126 名前:デフォルトの名無しさん [2010/06/02(水) 16:14:22 ]
>>124
www1.axfc.net/uploader/Img/link.pl?dr=7990810177&file=Img_84299.jpg
多少大きなサイズにできたと思います。

127 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 17:53:56 ]
>>121
書いていただきありがたいのですが
制限がprintf int while scanf float for のみ使用、2重ループ必
なので、breakは使用できません。
説明が曖昧でスミマソ

128 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 17:57:13 ]
ちょっと条件はっきりしないんだけど、nは入力するごとにプログラムが終了するのか、
>>121みたいに2以下が入力するまで繰り返し入力するのか、どっち?

129 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 18:07:56 ]
>>127
- if(n <= 2) break;
+ if(n <= 2) return 0;



130 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 18:11:25 ]
2以下を入力するまで繰り返しです
何度もすっ見ません;

131 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 18:14:36 ]
#include <stdio.h>
int main(void)
{
int i, j, n;
while(scanf("%d", &n)==1 && n > 2) for(i=1; i<=n; i++) for(j=0; j<=n; j++) printf("%c", j==n?'\n':i==1||i==n||i+j==n?'*':' ');
return 0;
}

132 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 18:16:17 ]
printf("n=%d\n", n)忘れたw

#include <stdio.h>
int main(void)
{
int i, j, n;
while(scanf("%d", &n)==1 && n > 2){
printf("n=%d\n", n);
for(i=1; i<=n; i++) for(j=0; j<=n; j++) printf("%c", j==n?'\n':i==1||i==n||i+j==n?'*':' ');}
return 0;
}


133 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 18:20:45 ]
>>132
ありがとうございます。!!

134 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 18:28:02 ]
いえいえ

135 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 18:37:25 ]
またお前か

136 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 18:50:38 ]
>>135-136
くだらん書き込みでスレを汚さんでくれ

137 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 18:56:08 ]
[1] 授業単元:Cプログラミング
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10645.txt
[3] 環境
 [3.1] OS:WindowsVista
 [3.2] コンパイラ名とバージョン:Microsoft visual c++
 [3.3] 言語:C
[4] 期限:2010年6月3日8:00まで
[5] その他の制限:基本的な構造でお願いします


138 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 19:04:11 ]
>>137
「ポインタ配列」ってなんですか?
”配列へのポインタ”ですか?

というあたりを出題者に問うてください。

139 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 19:06:28 ]
ポインタの配列でしょう



140 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 19:10:51 ]
>>139
それだと話があわない。

141 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 19:11:26 ]
>>137
[1]
#include <stdio.h>

int main(void)
{
int i, a[5] = {1,2,3,4,5}, b[5] = {6,7,8,9,10}, *p[2];

p[0] = a;
p[1] = b;

for(i=0; i<5; i++) printf("%f ", (p[0][i] + p[1][i]) / 2.0);

return 0;
}

142 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 19:15:25 ]
void print(char **string, int n) { while(n--) puts(*string++); }

143 名前: ◆QZaw55cn4c mailto:sage [2010/06/02(水) 19:23:15 ]
>>137
codepad.org/CrT4RLox
codepad.org/0AMQP9Nn

144 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 19:25:03 ]
初期化は代入とは区別されるのが普通

145 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 19:33:44 ]
>>138=140は問題をどう解釈したのか気になる

146 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 20:17:05 ]
>>138
配列はANSI Cでもまとめて扱うことはできない。
だから”配列へのポインタ”と言うのは存在しない。
”配列の先頭要素へのポインタ”なら存在する。

147 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 20:39:37 ]
>>135
俺じゃないから別の人だよ。

148 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 20:40:01 ]
int (*p)[N];
pは要素数Nの配列へのポインタ

149 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 20:40:56 ]
>>146
またそういう物議をかもすレスをする。いいんだけどさ。



150 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 20:48:56 ]
>>102
やはり授業の延長だけでは難しいんですかね。
cstdioについて自分でも少し勉強してみます。

>>108
ありがとうございます。
動作に不具合はありませんでした。
こちらの要望にも沿ってお答え頂き大変助かりました。

151 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 20:54:01 ]
>>144
ん、古いC ならば理解できますが、auto な変数への初期化が OK となっている現在では差異がわかりません。
でも C++ の話はなしね。

152 名前:138 ◆QZaw55cn4c mailto:sage [2010/06/02(水) 20:57:27 ]
>>145
いや、間違って解釈していました。
ごめんなさい。

153 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 20:59:24 ]
ほんと毎回毎回日本語読めない低脳だなw

154 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 21:18:40 ]
ちゃんと謝ったら謝ったでこの扱いか。厳しいスレだなあ。同情する。

155 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 21:22:25 ]
ささいなミスでも厳しく追求されるのがこのスレだぜ?w

156 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 21:24:22 ]
なに、馴れてます。どうせ自分では宿題のひとつもとけない人でしょうし。

157 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 21:25:37 ]
慣れる前に問題を正しく読めるようになってくれw

158 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 21:26:57 ]
ん、精進します。

159 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 21:27:34 ]
>>156
>>123=>>126 を解いてくれ
若干情報が落ちてるから半導体の勉強して無いと調べるのが面倒だけど
公式にあてはめるだけの問題だ



160 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 21:28:37 ]
トリつけるんならレス全部につけてくれないかな。
NGしやすくなるし。

161 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 21:30:43 ]
物性は専門ではないので、どう公式にあてはめればいいかわからないのです。ごめんなさい。

162 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 21:34:18 ]


163 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 21:39:22 ]
一行以上の文章が読めない人なのかもしれない

164 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 21:56:47 ]
[1] 授業単元:応用プログラム〜C言語講座
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10646.txt
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: cygwin gcc
 [3.3] 言語: C言語
[4] 期限: 2010年6月2日まで

できなくて困っております よろしくお願いします

165 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 22:01:50 ]
>>164
>>109

166 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 22:06:39 ]
>>165
>>109
ありがとうございます

167 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 22:13:15 ]
学校の先生ってやっぱバカがやってんだな。。
scanfとか平気で使わせるし、第一曖昧すぎる。
mainから呼び出すだけならwhileも使えないしどうやってやれっての。

168 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 22:17:14 ]
燕雀いずくんぞ鴻鵠の志を知らんや

169 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 22:17:24 ]
>>167
sanf() はよく批判されていますが、危険性のない使い方であればいいと思います。



170 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 22:19:09 ]
sed -e 's/sanf/scanf/'

171 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 22:20:17 ]
>>167
グローバル変数使いまくれば出来るんだけど
引数や戻り値を持つ意味がなくなる


172 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 22:31:20 ]
>>171
まったく。
なまじ分かる学生の方が悩むだろうな

173 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 22:35:42 ]
[1] 授業単元:Cプログラミング
[2] 問題文(含コード&リンク):
1、x[6]を宣言して、x[0]に5、x[1]に8、x[2]に6、x[3]に4、x[4]に1、x[5]に3を代入した後、ポインタを使って、x[0], x[2], x[4]の和と、x[1], x[3], x[5]の積を求めるプログラムを作成せよ。
2、与えられた文字数分だけ文字を一文字ずつ順に表示するprint関数を作成せよ。引数として文字列配列stringと整数nを用いること。ここで、stringは文字型配列の先頭アドレスを、nは表示する文字を意味する。
3、以下のmain分に従い、2つの文字列配列の中身を交換する関数exchangeを完成させよ。

int main(void){
char string1[] = "abcdefg";
char string2[] = "hijklmn";

printf("string1 = %s string2 = %s\n", string1, string2);
printf("exchange(string1, string2)");
exchange(string1, string2);
printf("string1 = %s string2 = %s\n", string1, string2);

return 0;
}
[3] 環境
 [3.1] OS:Win Vista
 [3.2] コンパイラ名とバージョン:VS 2008
 [3.3] 言語:C
[4] 期限:[2010年6月3日12:00まで]
[5] その他の制限:問題文で指定されていること以外は無し

よろしくお願いします

174 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 23:12:28 ]
>>173 [1]
#include <stdio.h>
int main(void){
  int x[6];

  x[0]=5, x[1]=8, x[2]=6, x[3]=4, x[4]=1, x[5]=3;
  printf("wa=%d\n", *(x) + *(x+2) + *(x+4) );
  printf("seki=%d\n", *(x+1) * *(x+3) * *(x+5) );
  return 0;
}

175 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 23:15:55 ]
>>173
1
int main(int argc, char ** argv)
{
  int x[6]={5,8,6,4,1,3};
  int *p = x;
  printf("sum = %d, mul =%d\n", (*p) + *(p + 2) + *(p + 4), *(p + 1) * (*(p + 3)) * (*(p + 5)));

  return 0;
}
2は意味がまったく分からない。
文字列配列ってのは文字配列の事か?普通に考えるとchar**になるが、それだともっと意味が分からない。
void myprintf(int n, char * string)
{
  int len = strlen(string);
  while(len--)putc(n);
}
ほい。(ほんとか?)

3.
void exchange(char *str1, char *str2)
{
  char buff[7];
  memcpy(buff, str1, 7);
  memcpy(str1, str2, 7);
  memcpy(str2, buff, 7);
}

176 名前: ◆QZaw55cn4c mailto:sage [2010/06/02(水) 23:22:05 ]
>>173
codepad.org/Z8e733Qq
codepad.org/DSF9cx5q
codepad.org/UOPnIBj7

177 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 23:22:41 ]
>>174-176
ありがとうございます

178 名前: ◆QZaw55cn4c mailto:sage [2010/06/02(水) 23:33:14 ]
訂正一問目
codepad.org/AafTjGmU

179 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 00:14:50 ]
>>143
おいそれC++じゃないとコンパイルエラーになるぞ
>>137の[3.3]にはCと書いてあるんだが



180 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 00:38:27 ]
>>179
コンパイラは何をお使いで?

181 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 00:46:26 ]
>>180
コンパイラは関係ない

int *p[2] = {a, b};

これがC++でしか通らない
Cなら

int *p[2];
p[0] = a;
p[1] = b;

と書かなければならない


182 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 00:48:00 ]
>>180
gccの拡張を当てにすんなよ

183 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 03:48:39 ]
>>180
VC2.0で通りますかね

184 名前: ◆QZaw55cn4c mailto:sage [2010/06/03(木) 04:17:55 ]
>>179
おかしいですね。
gcc でも bcc32 でも cl でも駄目押しの lsi-c でも、コンパイルできましたが。
auto な配列への初期化は、最近の規格では OK ではないでしょうか。

185 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 05:38:31 ]
gccをつかって細かいこと気にしすぎな人用のコンパイルオプションつけてコンパイルできたらそれでいいよ

186 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 08:22:26 ]
>>184
cppじゃなくてcにしてみるとか。

187 名前:184 mailto:sage [2010/06/03(木) 08:41:46 ]
はい、拡張子は .c です。どのコンパイラでも問題なくコンパイルできます。

188 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 09:53:13 ]
>>181
勘違いしてるぞ
Cは初期化の時はもう値が決まっている定数ならば何でもよい
関数の戻り値だけがC++で拡張された

189 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 13:32:44 ]
>>188
なるほど、元のコードでは
static int a[] = { 0 };
static int b[] = { 0 };
int p[] = {a, b};
としてあり、 a, b, はコンパイル時には確定しているので auto な p への初期化は可能なんですね。
これを
int a[] = { 0 ];
int b[] = { 0 };
int p[] = {a, b};
とすると、a, b は実行するまではわからないから、コンパイルできないようですね。




190 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 13:58:50 ]
> int a[] = { 0 ];
> int b[] = { 0 };
> int p[] = {a, b};

・・・。
int *p[] = {a, b}; じゃないのか?

191 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:44:11 ]
>>190
なんで神妙な感じでそこにつっこみいれたんだろ。
流れ見てたらそれはtypoだと予想できる

192 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:49:07 ]
どうせなら]にも突っ込もうぜw

193 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 15:26:06 ]
>>189
そんな感じだね
C++ではコンパイルできてしまうから、Cでも出来ると思いがちだが
実は無理だという。

特に俺の場合staticは関数の呼び出し毎に値が変わって欲しくない
変数にしか付けないので、余計にエラーが出やすい。

194 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 16:40:46 ]
で、今回の場合はaとbがstaticであり、この場合にpをabで初期化することを咎めるのはありやなしや

195 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 18:26:30 ]
>>194
標準のCでは問題ない、ということですね。

196 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 18:32:19 ]
>>182
脊髄反射乙
付和雷同乙

197 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 21:28:40 ]
覚えたての格言や四字熟語を並べ立てて越に浸ってるやつなんなの

198 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 21:30:27 ]
「悦に浸る」だった。Google IMEって誤用とかも変換候補にあるから使いづらい。

199 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 21:36:02 ]
書き込み前に確認しなかった過失を棚に上げてGoogleIMEのせいにするやつってなんなの
使いづらいならやめればいいじゃん



200 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 21:53:06 ]
これがゆとりの実態です
経験値を得ることでモンペへと進化します






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

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

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