エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。
◆ソースのインデントについて
半角空白やTABでのインデントはスレに貼ると無くなります。
そのため、アップローダーに上げるのも手ですが直接貼る場合は、
全角空白か に置換すると見栄えだけはよくなります。
【アップローダー】(質問が長い時はココ使うと便利)
http://codepad.org/ (コンパイルもできるし出力結果も得られる[]privateをチェック)
http://ideone.com/ (時間帯によってはcodepadが重い事があるのでここも利用)
前スレ
【初心者歓迎】C/C++室 Ver.99【環境依存OK】
http://echo.2ch.net/test/read.cgi/tech/1469177649/
【初心者歓迎】C/C++室 Ver.100【環境依存OK】 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2016/11/06(日) 22:58:02.60ID:dU5z27As
2016/11/06(日) 23:23:55.86ID:AHO3vAwR
>>3-1000は射精魔
2016/11/07(月) 09:27:53.95ID:vooGYje+
2016/11/07(月) 09:34:35.19ID:dSd+kVnH
何がしたいのかわからないので回答しようがないな
2016/11/07(月) 09:36:19.79ID:dSd+kVnH
あ、初期化子か
インデントがないから見間違えた
インデントがないから見間違えた
2016/11/07(月) 09:38:54.66ID:e8hpdnod
引数の int b[] って int* b と同じやしなぁ
2016/11/07(月) 09:47:42.61ID:HQzTq5fm
std::array
2016/11/07(月) 12:11:29.58ID:56hqYy7l
C++11以降なら
A(int (&b)[2]) : a{b[0], b[1]} {}
A(int (&b)[2]) : a{b[0], b[1]} {}
2016/11/07(月) 14:52:37.34ID:fwwW9lIx
だがint b[2][3]はポインタ引数は・・・
2016/11/07(月) 14:56:04.42ID:6MsAvbZq
↑幻覚をみた糖質のつぶやき
12デフォルトの名無しさん
2016/11/07(月) 15:00:49.14ID:3Xim9e5h >>4
C++11以降ならstd::initializer_listが使える
#include <iostream>
#include <initializer_list>
#include <algorithm>
class A {
int a[6];
public:
A(std::initializer_list<int> b) {
std::copy(std::begin(b), std::end(b), a);
}
void print() const {
for (int i : a)
std::cout << i << std::endl;
}
};
int main()
{
A a({10, 4, 2, 8, 5, 66});
a.print();
}
C++11以降ならstd::initializer_listが使える
#include <iostream>
#include <initializer_list>
#include <algorithm>
class A {
int a[6];
public:
A(std::initializer_list<int> b) {
std::copy(std::begin(b), std::end(b), a);
}
void print() const {
for (int i : a)
std::cout << i << std::endl;
}
};
int main()
{
A a({10, 4, 2, 8, 5, 66});
a.print();
}
2016/11/07(月) 18:18:06.75ID:hOJqMng1
1413
2016/11/07(月) 18:21:04.82ID:hOJqMng1 2行目「6個より多く」だったね
2016/11/07(月) 18:44:55.40ID:3Xim9e5h
2016/11/07(月) 19:07:23.45ID:hOJqMng1
要求は固定長の配列であって、動的に増やせるようにしろとは言ってないので
それのコードは非効率にしかならないと思うよ
それのコードは非効率にしかならないと思うよ
2016/11/07(月) 19:25:01.70ID:fwwW9lIx
2016/11/07(月) 19:50:01.21ID:Z2RT26Su
2016/11/07(月) 20:07:47.59ID:Z2RT26Su
ID:hOJqMng1 の主張の変遷
1.わざと大きい初期化子を与えると実行時にアクセス違反になると主張
→だから動的に対応できるようにした
2.すると今度は非効率的だからarrayを使えという
→arrayが特に効率的なわけではないし、今度は「要求は固定長の配列だ」と言い出す
どう考えても言ってることがコロコロ変わってるんだが
1.わざと大きい初期化子を与えると実行時にアクセス違反になると主張
→だから動的に対応できるようにした
2.すると今度は非効率的だからarrayを使えという
→arrayが特に効率的なわけではないし、今度は「要求は固定長の配列だ」と言い出す
どう考えても言ってることがコロコロ変わってるんだが
20デフォルトの名無しさん
2016/11/07(月) 21:12:34.93ID:L762Pvtq !!喧嘩の予感!!
2016/11/07(月) 21:25:52.93ID:nZ1H9hgf
A() : a{b[0], b[1]} {}がダメだった人にC++11を押しつけてどーすんだ
>>12に至ってはもとの質問と全然関係ねーし
>>12に至ってはもとの質問と全然関係ねーし
2016/11/07(月) 21:26:20.26ID:Rr8tj+hR
VC++で、マウスオーバーで色が少し変わって、クリックしたら沈んだみたいになる画像ボタンを作るにはどうしたらいいですか?
2016/11/07(月) 22:16:57.66ID:hOJqMng1
2016/11/07(月) 22:20:22.76ID:JXtVbtZ4
>>21で結論でてるじゃねえか
C+11を押し付けてる時点でおまえら全員ダメだ!
C+11を押し付けてる時点でおまえら全員ダメだ!
2016/11/07(月) 23:34:44.46ID:lMECrzfj
いいぞ、もっとやれ〜♪
2016/11/08(火) 00:32:16.33ID:t0HdCoBm
沸点低すぎワロタw
2016/11/08(火) 00:33:05.07ID:2SYrs2Uf
2016/11/08(火) 15:38:54.44ID:FW358liz
using std;
int main() {
int a;
cout<< "数を入力してください" <<endl;
cin>> a;
cout<<a <<"ですね?" <<endl;
}
aを確実に入力させたくて困っています
ご教授ねがいます
int main() {
int a;
cout<< "数を入力してください" <<endl;
cin>> a;
cout<<a <<"ですね?" <<endl;
}
aを確実に入力させたくて困っています
ご教授ねがいます
2016/11/08(火) 16:03:34.41ID:j/2yZvJO
まず確実ってなんやねん
数以外だったり未入力は弾くってか
数以外だったり未入力は弾くってか
2016/11/08(火) 16:26:08.25ID:FW358liz
そうです
未入力で無限ループみたいに表示されて困っています
未入力で無限ループみたいに表示されて困っています
2016/11/08(火) 16:26:29.50ID:Or+T0geg
教示ならしてやっても良いが、教授はお断りだ
2016/11/08(火) 16:58:49.59ID:sBMnjDSh
>>28
http://ideone.com/dpolU5
一応単なる改行や数字で始まらない文字列は弾くようにした
ただしコメントにも書いてあるけど 123def みたいな数字で始まる文字列を
入力したときは数字だけ返すんでそれが駄目なら自前で作るしかないね
http://ideone.com/dpolU5
一応単なる改行や数字で始まらない文字列は弾くようにした
ただしコメントにも書いてあるけど 123def みたいな数字で始まる文字列を
入力したときは数字だけ返すんでそれが駄目なら自前で作るしかないね
2016/11/08(火) 17:22:56.70ID:FW358liz
2016/11/10(木) 10:52:07.29ID:8ULjF/bN
独習C第4版 P197ページの再帰のプログラムなのですが、
#include <stdio.h>
void recurse(int i);
int main(void)
{
recurse(0);
return 0;
}
void recurse(int i)
{
if(i < 10) {
recurse(i + 1);
printf("%d " , i);
}
}
実行結果は
9 8 7 6 5 4 3 2 1 0
の動作がわかりません。10になるまでprintfが実行されずに+1され続けるのはいいのですが、
なぜ10になったらiが戻り始めるのでしょうか?
あまりに初心者な質問ですみません。
#include <stdio.h>
void recurse(int i);
int main(void)
{
recurse(0);
return 0;
}
void recurse(int i)
{
if(i < 10) {
recurse(i + 1);
printf("%d " , i);
}
}
実行結果は
9 8 7 6 5 4 3 2 1 0
の動作がわかりません。10になるまでprintfが実行されずに+1され続けるのはいいのですが、
なぜ10になったらiが戻り始めるのでしょうか?
あまりに初心者な質問ですみません。
2016/11/10(木) 11:03:28.04ID:6ImFpJhK
引数だけ書くと
0+1
1+1
・・・
9+1
ここまではprintfまで来ないまま再帰
9+1でifに入らないからrecurseからリターン
printfがiを表示(9)してリターン
printfがiを表示(8)してリターン
の繰り返し
0+1
1+1
・・・
9+1
ここまではprintfまで来ないまま再帰
9+1でifに入らないからrecurseからリターン
printfがiを表示(9)してリターン
printfがiを表示(8)してリターン
の繰り返し
3634
2016/11/10(木) 11:07:42.28ID:8ULjF/bN >>35
早速のレスありがとうございます。
>9+1でifに入らないからrecurseからリターン
ということはmain関数のreturn 0でプログラムは終了してしまうのではないですか?
なぜprintfが呼ばれるのかわからんのですが。(iが減算される理由もわかりません)
早速のレスありがとうございます。
>9+1でifに入らないからrecurseからリターン
ということはmain関数のreturn 0でプログラムは終了してしまうのではないですか?
なぜprintfが呼ばれるのかわからんのですが。(iが減算される理由もわかりません)
3734
2016/11/10(木) 11:12:33.48ID:8ULjF/bN if(i < 10) {
recurse(i + 1);
printf("%d " , i);
}
で
recurseとprintfは同じifブロックに入っているので、ifが偽なら両方共スキップされると思うのですが、
なぜprintfだけ呼ばれるのでしょうか?
recurse(i + 1);
printf("%d " , i);
}
で
recurseとprintfは同じifブロックに入っているので、ifが偽なら両方共スキップされると思うのですが、
なぜprintfだけ呼ばれるのでしょうか?
2016/11/10(木) 11:20:27.66ID:69ogPHI/
丁度再帰打ち切り付近の挙動
i=8 で受けた recurse
recurse(8+1) の呼び出し
i=9 で受けた recurse
recurse(9+1) の呼び出し
i=10 で受けた recurse
条件合致せず戻る
printf("%d", i) で 引数の 9 を書く
i=9 で受けた recurse から戻る
printf("%d", i) で 引数の 8 を書く
i=8 で受けた recurse から戻る
i=8 で受けた recurse
recurse(8+1) の呼び出し
i=9 で受けた recurse
recurse(9+1) の呼び出し
i=10 で受けた recurse
条件合致せず戻る
printf("%d", i) で 引数の 9 を書く
i=9 で受けた recurse から戻る
printf("%d", i) で 引数の 8 を書く
i=8 で受けた recurse から戻る
2016/11/10(木) 11:28:04.25ID:6ImFpJhK
>>37
9+1で入って偽で抜けたら
8+1で入ってきたif内のrecurseから抜けて次のprintfが実行されて抜ける
8+1で抜けたら7+1で入ってきたif内のrecurseから抜けて次のprintfが実行される
の繰り返し
9+1で入って偽で抜けたら
8+1で入ってきたif内のrecurseから抜けて次のprintfが実行されて抜ける
8+1で抜けたら7+1で入ってきたif内のrecurseから抜けて次のprintfが実行される
の繰り返し
4034
2016/11/10(木) 11:40:24.95ID:8ULjF/bN■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【いちご高騰】ヤマザキのクリスマスケーキ、いちご無し販売 [おっさん友の会★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★10 [樽悶★]
- 【日中対立】 朝日新聞のタイトル修正が中国逆ギレの火種か SNSで批判相次ぐ [♪♪♪★]
- 「ドラゴンボール」初の全世界キャラクター人気投票が開幕!212キャラからナンバーワンが決まる!! [ひかり★]
- 【音楽】『日本レコード大賞』各賞発表! 大賞候補にILLIT、M!LK、ふるっぱー、幾田りら、アイナ、ミセスら… 作詩賞は指原莉乃 [冬月記者★]
- ひろゆき氏 高市首相の台湾有事発言 「日本が得たものあまりない。経済的なマイナスは明確に存在」 [冬月記者★]
- 【悲報】秋元康「女性アイドルグループはもうオワコン。会いにいける男性アイドルグループを作る」 [455031798]
- 【すべてが】𝗮𝗺͜𝗮͉𝘇𝗼𝗻ブラックフライデーSALE総合【いいだろ!】 [194819832]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 【訃報】日経平均先物逝く、円安株安債券安 [943688309]
- ワイ刀オタ、欲しい刀が中々ネットで見つからず咽び泣く
- 【悲報】高市政権、ホタテ輸出の支援検討 [834922174]
