C言語なら俺に聞け 150

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (アウアウクー MM57-IE4z)
垢版 |
2019/02/06(水) 13:39:03.21ID:c4bnQMl3M

次スレを作る時は上記1行をコピーして2行に増やして必ず1行目に入るようにしてください。

C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
http://codepad.org/

C11
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf

C99
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf
http://kikakurui.com/x3/X3010-2003-01.html

C FAQ 日本語訳
http://www.kouno.jp/home/c_faq/

JPCERT C コーディングスタンダード
https://www.jpcert.or.jp/sc-rules/

※前スレ
C言語なら俺に聞け 149
https://mevius.5ch.net/test/read.cgi/tech/1540731704/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2019/03/09(土) 19:01:45.35ID:ems+thyE0
>>654
お前が混乱しようがint*は型だ。
キャストもtypedefもsizeofもできる。
お前のオレオレ定義はどうでもいいから、標準的な用語で会話できないならいちいち書き込まないでくれ。初心者の理解を妨げる害悪でしかない。
2019/03/09(土) 19:06:49.21ID:kA4EgVm+0
2重にひどいなコレ
2019/03/09(土) 19:36:12.32ID:YyCiAm6Za
結合順って左右どっちからかという話だろ?
うまいこと、左に型で右に変数という形では宣言できないという点には関わってくるね。
Cではtypedefでそれがカバーできるので使えばいい。
単にstructの省略のためとかだと微妙だけど。
2019/03/09(土) 21:20:20.21ID:VKKMhaL/M
自分以下のように「*」をくっつけて書いてた。
int* p;

「int変数のアドレスを格納する型」
と理解してたので。
2019/03/10(日) 00:15:36.14ID:NjJBb6dx0
intのポインタだから int* と書くのが直感的だよね
int* a, b, c; と書いた時に全部ポインタで宣言できれば良かった
俺は宣言でカンマは使わないことにしてる
2019/03/10(日) 00:16:25.33ID:Yjkm2NzZ0
規約とかで決まってなきゃ思想の問題だし良いんじゃない?
Cでは意味論的には(ポインタ型って書いてあるし)int* pが近くて統語論的には(複数宣言で違和感がないから)int *pが近いっていうイメージ
規格内の例はint *p記法で統一されてるからこっちがCではスタンダードっぽいけど
664デフォルトの名無しさん (ワッチョイ 335f-LDqw)
垢版 |
2019/03/10(日) 00:24:31.01ID:nrbpjhIZ0
>>662
ポインタでポインタが指している先頭アドレスから始まる領域をint型として扱うだから、*intにすべきだった。
2019/03/10(日) 00:53:02.56ID:PkJpScAa0
C++ なら std::add_pointer を使うなどという方法もとれるんだが、
C でどうにかする上手いトリックってないもんかね?
666デフォルトの名無しさん (ワッチョイ 6301-V4pZ)
垢版 |
2019/03/10(日) 01:38:42.67ID:/HGKNCBK0
副業解禁で激変する若者世代とマネージャー世代のキャリア観
http://www.businessinsider.jp/post-107782
フリーランスの職種20個の仕事内容と平均年収をわかりやすく解説
http://www.proof0309.com/entry/shokushu
時給1万円のバイトも。会社員向きのプチ副業を、“バイト芸人”が教える
http://headlines.yahoo.co.jp/article?a=20190226-00127948-bizspa-bus_all
副業が「会社にバレる人」と「バレない人」の大差
http://headlines.yahoo.co.jp/article?a=20190303-00268007-toyo-bus_all
正社員の10%以上が副業 中には過重労働で体調崩す人も
http://headlines.yahoo.co.jp/hl?a=20190227-00010000-wordleaf-bus_all
「副業で年2000万円稼ぐ男」に学ぶキャリア戦略
http://headlines.yahoo.co.jp/article?a=20190221-00266856-toyo-bus_all
加速する「副業社会」正社員の4割が「副業したい」 気になる収入はどれくらい?
http://headlines.yahoo.co.jp/hl?a=20190218-00010001-danro-life
おすすめ副業22選を現役フリーランスが解説【在宅も可能】
http://www.proof0309.com/entry/zaitaku-hukugyou
会社を辞めてフリーランスで働きたいあなたが知っておくべき10のこと
http://www.businessinsider.jp/post-165731
フリーランスと会社員、働き方の根本的な差 広がる「雇用されない働き方」の課題とは何か
http://toyokeizai.net/articles/-/263055
フリーランス人口は増える!今後は仕事もプロジェクト単位になる!?
http://freelance.mts-career.com/population/
どのくらい稼げるの?フリーランスエンジニアの単価・報酬・年収の話
http://findy-code.io/engineer-lab/engineer-unitprice-income
2019/03/10(日) 01:47:39.67ID:yFrseuKKa
>>662
関数ポインタはどうすんの?
左に型書いて右に変数というルールで統一するとなると。
2019/03/10(日) 02:58:07.82ID:NjJBb6dx0
typedef 使う
2019/03/10(日) 04:16:30.73ID:8P6Oam7S0
int* p[10]; // intのポインタの配列
int (*p)[10]; // intの配列のポインタ
2019/03/10(日) 09:16:48.35ID:WROi3Fy5d
>>640
自らの名誉のために書いておくがint*を型だと思ってるわけではないぞ。ただint*で意味をなしてはいるだろ。
2019/03/10(日) 10:30:04.20ID:uE8BPcgQ0
int*は型だぞ
printf("%d", sizeof(int*)); //pass
2019/03/10(日) 10:40:10.44ID:PkJpScAa0
int* は型名。 C99 なら 6.7.6 で定義がある。
変数の宣言の文脈ではそれが型指定子と宣言子に分断されるのが、
なんか変な感じがするよなぁという話。
673デフォルトの名無しさん (ワッチョイ de02-dgqw)
垢版 |
2019/03/10(日) 10:42:33.14ID:IMQ2P2X20
>>662
そういうのは typedef で型名作ってしまうしかないな。
2019/03/10(日) 11:08:02.97ID:kCIB6uhNd
>>671>>672
自らの名誉のために言っておくが、型名な気もするなとも思っていたぞ。
2019/03/10(日) 12:02:32.88ID:42uiz7Ja0
>>674
お前の名誉のために言っておくが、お前の名誉なぞ誰も気にしてないから安心していいぞ
2019/03/10(日) 12:45:51.83ID:kCIB6uhNd
すまねぇ…
2019/03/10(日) 15:42:39.03ID:cKTKsaa/a
int* が型って言うのはどこに書いてありますか?
K&C2版とc99の仕様書見てきたけど、どうしても見つけられないのです。
どこで調べるとint*型や例えばchar*型等の記述を見る事が出来るのでしょうか。
2019/03/10(日) 15:45:20.60ID:GhV81xdk0
>>677
お前さんの定義する「型」ってのは具体的にどういう定義なんだ?
2019/03/10(日) 15:45:33.27ID:vxGXLnY80
ポインタ型ってだけかも知れない
2019/03/10(日) 16:05:52.27ID:+JKmV4RCd
特定の型のポインタは書いてないけど
pointer typeって形で載ってるはず
C11の6.2.5.20とか
2019/03/10(日) 16:10:47.95ID:YmhkZ0UL0
全ての型に付けることが出来て
あたかもメソッド++があるかのように振る舞うオブジェクトの様なものだから混乱する
&や*もやはり何かのメソッドの演算子での表現と見做すと理解が捗る

つまりポインタまわりだけ大勢の予想に反してオブジェクト指向になってるから混乱する
2019/03/10(日) 16:20:50.08ID:PkJpScAa0
>>677
C99 で 6.7.6 の項目名がそのまま "Type names" やし、
索引もあるし、さらに言えばちょっと前 (>>672) に私が書いてもいるのに、
どこまで節穴なんや……。

型指定子 int と抽象宣言子の * を合わせてひとつの型名ということになる。
2019/03/10(日) 16:36:29.29ID:TrIHnbmn0
>>678
c99 6.7.2
void char short int long float double signed unsigned _Bool _Complex _Imaginary
構造体共用体指定子 列挙型指定子 型定義名

>>679 >>680の言うように、ポインタ型はあります。仕様書を見ても、int* でもfloat*でもいいんですけど、それぞれint型へのポインタ型とかfloatへのポインタ型といった説明しか読み取れませんでした。読解力不足でしょうか。

私はint型を指すポインタ、floatを指すポインタなどと言うように、例えば
int* pであれば、ポインタ型pがあり、それはint型を指す
、と言うように独立した物だと理解していました。
どうしてもint*型と言うのがわかりません。
2019/03/10(日) 16:44:33.03ID:gHkTxZDuM
>>683
お前さんのいう型の定義では
「signed long long」
は型なのか?型の集合なのか?
2019/03/10(日) 16:49:42.81ID:8+bEWcYF0
>>677
ここだ
ISO/IEC 9899:2011
6.7.7 Type names
3 EXAMPLE The constructions
(a) int
(b) int *
(c) int *[3]
(d) int (*)[3]
(e) int (*)[*]
(f) int *()
(g) int (*)(void)
(h) int (*const [])(unsigned int, ...)
686デフォルトの名無しさん (アウアウクー MM07-LDqw)
垢版 |
2019/03/10(日) 16:55:14.74ID:FM+9nmuqM
C言語を作ったときにあとから型指定のポインタ変数を付け加えたんだろうな。
2019/03/10(日) 17:07:06.47ID:8+bEWcYF0
>>686
ポインタがなかったのばBだ
最初期のCにもポインタはあった
2019/03/10(日) 17:12:13.59ID:eT96hTY3a
voidはなかったんだよな。
どうでもいいけどcdeclはちょっとした型の勉強にはいいよ。
2019/03/10(日) 17:14:55.50ID:eT96hTY3a
685を見ると、「型名を左に書くのが自然」みたいな主張がまったく間違ってることがわかるね。
2019/03/10(日) 18:16:33.04ID:+JKmV4RCd
ポインタ型は派生型(deprived types)の一種で、派生型は他に配列型とか構造体型とかがある(6.2.5.20)
例えば、struct MyStructure {int num;};とかやったとして、struct MyStructureは規格に書いてないから型じゃないって言ってる状況に近いように見えるんだけども
2019/03/10(日) 18:29:23.41ID:49pn/i3ra
*は演算子じゃないという意見は間違っとるよ
2019/03/10(日) 18:38:03.60ID:gHkTxZDuM
>>691
「全ての*が演算子である」
という主張は間違えている。

ということは理解できてる?
2019/03/10(日) 18:54:33.90ID:nutarBhha
演算子ですよ。いや、文字列の中はどうなんだとか言われると困るけど。
xor的な思考しかできないタイプ?
2019/03/10(日) 18:58:19.43ID:LvYeDuRnd
宣言の中の*は、演算子ではないかも知れない。
2019/03/10(日) 19:00:09.92ID:cQhx3jWr0
685 の文中に出てくる * を演算子とみなすのは嫌な感じ
2019/03/10(日) 19:26:26.65ID:8+bEWcYF0
宣言の中の*は演算子ではない
宣言子の構成要素の中のポインタに含まれる記号だ

演算子の*はポインタを実体にする作用を持つが
宣言の中の*は客体をポインタにする作用を持つ
おおむね逆の作用となっている
697デフォルトの名無しさん (ワッチョイ 335f-LDqw)
垢版 |
2019/03/10(日) 19:31:42.70ID:nrbpjhIZ0
>>687
ポインタが指しているところの型を明示しようとしたのは明らかにあとだよね。
2019/03/10(日) 19:31:58.93ID:+JKmV4RCd
そういえば*のオペランドがオブジェクト指してなかったら未定義動作なんだよな
宣言の*が演算子だったらint *p;だけで未定義動作踏んでそう
2019/03/10(日) 19:58:10.73ID:gHkTxZDuM
>>693
そこから知らない訳か。
int a=3 ;
の =が代入演算子では無いことは理解できてる?
700sage (ワッチョイ d602-2aZh)
垢版 |
2019/03/10(日) 21:54:15.58ID:KIApJaj50
C++か
701デフォルトの名無しさん (ワッチョイ 335f-LDqw)
垢版 |
2019/03/10(日) 23:04:24.35ID:nrbpjhIZ0
>>699
代入という言い方をしている時点でわかってないと思うよ。意味が逆になっている。

変数ではなく定数だったら、わからなくもない。

右辺、左辺という言い方も嫌い。
2019/03/10(日) 23:11:14.57ID:PFEN9MJxM
>>701
お前の好き嫌いの話だったのか。
規格用語くらい理解して発言しろよ。。。
2019/03/10(日) 23:41:34.29ID:EfIdjxKz0
「俺はこう思う」と「規格にこう書いてある」はきっちり分けて欲しいね。
704デフォルトの名無しさん (ワッチョイ 335f-LDqw)
垢版 |
2019/03/11(月) 00:23:08.11ID:QsQqulf80
英語はsubstituteで意味が広いのに、日本語だとすべて「代入」に翻訳してしまったのか。
2019/03/11(月) 07:09:33.28ID:7fkCOxJ/a
>>684
型指定子の並び

>>685
それは元からint*型がある、と言うよりもint* p;だったらint*と言う型名になるって話ですよね。

>>690
型じゃない、ではなくて、int*型と言う型はintに*をつけないとありませんよね?typedefを使わなくても作れますけど、int*型というのは元からはありませんよね?自分で作った型名なのにc言語にint*型がある、と言うのは変だと思いませんか?
2019/03/11(月) 07:19:12.62ID:rOT48PNA0
>>705
X 3010:2003 (ISO/IEC 9899:1999)
6.2.5 型
型char,符号付き整数型,符号無し整数型及び浮動小数点型を総称して基本型(basic type)と呼ぶ。

派生型(derived type)は,オブジェクト型,関数型及び不完全型から幾つでも構成することができる。
派生型の種類は,次のとおりとする。
− 配列型
− 構造体型
− 共用体型
− 関数型
− ポインタ型
派生型を構成するこれらの方法は,再帰的に適用できる。
2019/03/11(月) 07:32:55.06ID:7fkCOxJ/a
>>706
派生型を構成できる、と言うことは、int*はコード書く人が自分でint*と言う派生型を構成したんですよね?
構成できることを以ってC言語にint*型がある、定義されていると言うのは変だと思いませんか?
2019/03/11(月) 07:43:53.40ID:+tgFX8Zg0
とりあえず、今のところ(>>623 以降)議論になってるのは
「int* は型か、型ではない(int型に*を作用させた何か)か」
「ポインタ変数を宣言する際の * は演算子か演算子ではない何かか」
→ 「変数宣言の * が演算子でないなら何と呼ぶのか」
…あたりかな。

個人的には >>699 の「int a = 3; の = は代入演算子か違うものか」も
ちょいと気になる。
変数定義と代入 int a; a = 3; の省略表記に過ぎないのか、
char s[4] = "yes"; みたいな初期化時の特例になるのか。
2019/03/11(月) 07:54:01.38ID:QaoEDFOQx
変かどうかの主観的な問題ではなく「派生型を定義できる」と決まってるなら、客観的に派生型もやっぱり型だろ。
それを変だと思うならここではなく然るべきワーキンググループに意見すべき。
2019/03/11(月) 07:54:59.22ID:yg4bOGVFd
>>706
それを言い出すと派生型は全部その類に含まれる(そもそも構造体型へのポインタ型とか言い出すと規格に書ける訳もないし)
元々int *って型は存在しないって言い出した流れ(たぶん>>640)はint *も型だって話(>>626)の中にしかなかったと思うからそもそも話がだいぶズレたんだろうな
今の流れはざっと見返した限り>>708がまとめてくれた通りだと思う
2019/03/11(月) 07:55:55.31ID:yg4bOGVFd
>>710
ごめん>>705だった
2019/03/11(月) 08:13:44.57ID:7fkCOxJ/a
>>708

>個人的には>>699 の「int a = 3; の = は代入演算子か違うものか」

宣言での=は、初期化宣言子内の区切り子

>「int* は型か、型ではない(int型に*を作用させた何か)か」
>「ポインタ変数を宣言する際の * は演算子か演算子ではない何かか」
>「変数宣言の * が演算子でないなら何と呼ぶのか」

宣言での*は演算子ではなく、ポインタ宣言子の区切り子

6.7.5.1
ポインタ宣言子 
意味規則
宣言
T D1
において,D1 が形式
                * 型修飾子並びopt D
をもつ場合,次のとおりとする。
宣言
T D の ident
に対して指定される型が Tの派生宣言子型並び
であれば, T D1の ident に対して指定される型は
Tへの型修飾子並びをもつポインタの派生宣言子型並びとする。
2019/03/11(月) 08:13:54.01ID:U6Vr66LT0
>>707
お前さんが型と呼びたいものはC言語では基本型であって、C言語における型の一部でしかない。
>>707が挙げてくれている通り、基本型と、再帰的に定義される派生型を合わせてすべて型と見なされる。
この定義によって、どんな型をどんな順序で組み合わせようと、ポインタが何段あろうと、どんな名前をつけられようと、定義に再帰的に合致させられるそれらすべてを型と見なせるとあらかじめ定義されている。
2019/03/11(月) 08:29:24.73ID:7fkCOxJ/a
>>713
宣言時の型の話です、元々
int*p;
のint*は型かどうかと言う話です。宣言した結果pの型がint*型に・・
あ、int*は型指定子か、と言えばよかったのかな?
2019/03/11(月) 08:34:48.95ID:m5MHROJsd
逆に「int* 」が型じゃないって考えの人は
int* a
のaの型は何って聞かれたときにどう答えるのか知りたい。
2019/03/11(月) 08:59:57.45ID:+tgFX8Zg0
>>712
「初期化宣言子内の区切り子」っていう言葉がヒントになった。ありがとう。
n1570.pdf (>>1 のリンク参照) 6.7.9 に載ってるね。
英語だから、すらすら読めるわけじゃないけど。

スカラの算術型に関しては「{} で囲んだ初期値を入れられる」
(構造体の初期化と同じ書き方ができる)ってのが代入演算子と違うところかな。
int a = {3}; // 「定義と同時の初期化」では許される
int b;
b = {4}; // エラー: 通常の代入演算子では値を {} で囲めない

だからどうした、って話かも知れないけど、
動作の違いが確かに存在するってのは気分的にすっきりするわ。
2019/03/11(月) 09:18:31.95ID:7fkCOxJ/a
>>715
ごめんなさい、int*は型指定子かどうかと言うべきでした。

int*a;
aはなにか、と聞かれるとintへのポインタと答えます。

aの型はなにか、と聞かれるとint*型と答えます。

宣言でのint*の文字の並びは型か、と聞かれると宣言でのint*と言う文字の並びは型指定子intと、ポインタ宣言子の並びであって、結果int*型となるがint*型の指定子ではない、と答えます。
2019/03/11(月) 09:28:25.09ID:7fkCOxJ/a
みなさんごめんなさい、私が型指定子とはっきり言わなかったせいで混乱を招いてしまいました。

あ、その前に、
int*p;
のint*は型指定子じゃありませんよね?私の理解合っていますか?
2019/03/11(月) 10:41:18.26ID:jULKzJ5ia
オブジェクトにもちろん型はあるけど、Cで「型指定子」なんてもんを明確化することに大した意味があるとは思えんね
2019/03/11(月) 10:49:48.10ID:jULKzJ5ia
typeof使うと左と右にはっきり分けて書けるので、好きな人は好きだろう。
typeof(int (*)(void *, char []) hogeobj;
2019/03/11(月) 10:50:24.51ID:rOT48PNA0
>>707
713も言っているように、おまえさん用語の意味を誤解してるんだよ
型は基本型の他に派生型も含まれる用語だ

それから定義の意味もおまえさんおかしいぞ
定義は宣言のうち重複できないものをいう
キーワードは定義できない
2019/03/11(月) 13:08:41.49ID:7fkCOxJ/a
>>721
はい、気をつけます。

>>719
>>1のc99 6.7の構文規則でいうと
宣言:
宣言指定子列    初期化宣言子並び opt;
宣言指定子列:
記憶域クラス指定子    宣言指定子列 opt
型指定子    宣言指定子列 opt
型修飾子    宣言指定子列 opt
関数指定子    宣言指定子列 opt
初期化宣言子並び:
初期化宣言子
初期化宣言子並び    ,    初期化宣言子
初期化宣言子:
宣言子
宣言子    =    初期化子

ですから、
int *a,b,c,*d;
という書き方は
宣言指定子列と初期化宣言子並びなのですけど
int*が型指定子だとすると、
宣言指定子列の型指定子がint*、
以降の a,b,c,*d;は初期化宣言子ですから、a,b,c,*dのどれもがint*型になると思うのです。

int*は型指定子ではないから
aはint*,bはint,cはint,dはint*になりますよね。

型指定子かどうかは重要じゃありませんか?
2019/03/11(月) 18:41:02.08ID:m5MHROJsd
>>717
ありがとう。話のレベルが高くて自分にはもはや質問しかできないが…
724デフォルトの名無しさん (ワッチョイ 7705-OS7W)
垢版 |
2019/03/12(火) 14:43:07.78ID:3xf7Y18W0
for文とif文を使って整数nを入力して、2つの1以上10以下の整数x,y(x>=y)の自乗の和がn(n=x^2+y^2)になるx,yとなる組み合わせを求める(n=45のときx=6,y=3みたいな )C言語のプログラムを作りたいんですが、関数って使いますか?
2019/03/12(火) 14:49:14.15ID:tBEUjULM0
>>724
使いますよ。
726デフォルトの名無しさん (アウアウウー Sac3-hLQV)
垢版 |
2019/03/12(火) 15:08:06.95ID:M/w6PjEFa
宿題は宿題スレがあるのでそちらへ
727デフォルトの名無しさん (ワッチョイ 7705-OS7W)
垢版 |
2019/03/12(火) 15:29:14.81ID:3xf7Y18W0
>>725
分かりました、ありがとうございます。
>>726
どのスレのことか分からないのでそのスレの名前を教えて頂けるとありがたいです。
2019/03/12(火) 15:30:39.97ID:tBEUjULM0
>>727
「宿題」で検索するくらいのことはしろよ……
729デフォルトの名無しさん (ワッチョイ 7705-OS7W)
垢版 |
2019/03/12(火) 15:50:57.05ID:3xf7Y18W0
>>728
検索した上で分からなかったので聞いています
2019/03/12(火) 15:54:56.93ID:aH0w6D4n0
宿題スレって、回答の丸投げだろう
質問に応えるスレではない
2019/03/12(火) 16:35:11.23ID:ZZbwvg6D0
宿題スレ見てきたけど過疎って誰も居なさそうだったけど・・・
2019/03/12(火) 16:37:57.47ID:aH0w6D4n0
依頼があればやってくれるだろう
それ以外に話題がないスレだし
2019/03/12(火) 17:32:47.14ID:1t7NN+JI0
「宿題」はこの辺かのう。
設立も古いし、何ヶ月も投稿ないから沈んでるのかな。
通常のインターフェースで一覧を見ないんで正確には分からんが。

C/C++の宿題片付けます 170代目
http://mevius.2ch.net/test/read.cgi/tech/1456911928/

C/C++の宿題片付けます 170代目
http://mevius.2ch.net/test/read.cgi/tech/1456647534/


こんなの↓も見つけたけど、これは「宿題」では見つからないタイトルだね。
【C】至急課題のプログラム教えて【アマギフ】
http://mevius.2ch.net/test/read.cgi/tech/1551308087/
2019/03/12(火) 17:44:27.56ID:f4lS/kh70
>>724
その目的を直接的に達成する標準関数はない
自乗を求める標準関数ならpowというのがあるが
整数を前提とするその問題には適さない
処理の一部を、おまえさんが関数にする可能性ならある

おまえさん、プログラムを作ってくれなんて言ってないよな
変な妄想してるバカは無視していいぞ
2019/03/12(火) 17:52:53.77ID:u0RxZCyHr
入力と表示に標準関数は使うんじゃねって程度かな?
736デフォルトの名無しさん (アウアウウー Sac3-hLQV)
垢版 |
2019/03/12(火) 18:17:50.08ID:M/w6PjEFa
>>729
何でわからないんだよ。どういう環境で使ってるんだ?
737デフォルトの名無しさん (ワッチョイ 7705-OS7W)
垢版 |
2019/03/12(火) 18:18:02.86ID:3xf7Y18W0
明日テストでその過去問にこのような問題が出て、関数が必要なら諦めようかなと思って質問しました。
スレチだったならすみません。答えてくださってありがとうございました。
738デフォルトの名無しさん (ワッチョイ 7705-OS7W)
垢版 |
2019/03/12(火) 18:21:35.85ID:3xf7Y18W0
>>736
スマホで専ブラ使ってます。予測はつきましたが、過疎っていたのでそのスレで合っているのか疑心暗鬼でした。今はどのスレのことか分かっています。
2019/03/12(火) 18:26:45.91ID:aH0w6D4n0
ここで聞いて良いよ
2019/03/12(火) 18:34:45.08ID:UkyVoLmHd
>>724
これはifとforの練習問題以外の何者でもなさそうだ。便利な関数使って解いたりしたら先生が泣いちゃいそうw
741デフォルトの名無しさん (ワッチョイ 7705-OS7W)
垢版 |
2019/03/12(火) 18:41:24.28ID:3xf7Y18W0
>>739
ありがとうございます!このような問題です。

for文とif文を使って整数nを入力して、2つの1以上10以下の整数x,y(x>=y)の自乗の和がn(n=x^2+y^2)になるx,yとなる組み合わせを求める(実行例:n=45のときx=6,y=3)C言語のプログラムを作成せよ。そのような組み合わせがない時は、nothingと表示せよ。
2019/03/12(火) 18:44:54.25ID:u0RxZCyHr
答えのプログラムが欲しいの?
2019/03/12(火) 18:50:45.53ID:1jGqQ8ze0
候補絞り込みの最短手順を求めるような問題でも無さそうだし力技の総当たり探索で良いんじゃないの?
744デフォルトの名無しさん (ワッチョイ 7705-OS7W)
垢版 |
2019/03/12(火) 18:53:51.90ID:3xf7Y18W0
>>742
答えのプログラムが欲しいです。
2019/03/12(火) 19:00:24.48ID:WBGLmq+B0
>>744
宿題スレに書いてここに書いた場所を報告すれば、問題を解くプログラムを私が書きましょう
2019/03/12(火) 19:25:13.04ID:i1gu3hXZ0
>>744
この程度のプラグラムを自力で解こうとする気が無いなら素直に落第しておけ
747デフォルトの名無しさん (ワッチョイ 7705-k7ao)
垢版 |
2019/03/12(火) 19:36:11.90ID:3xf7Y18W0
>>745
C/C++の宿題片付けます 170代目
https://mevius.5ch.net/test/read.cgi/tech/1456911928/

このスレに問題書き込みました。29番目のコメントです。
2019/03/12(火) 20:13:37.41ID:fue8lGKw0
なんかヤバイ奴で草
2019/03/12(火) 20:37:17.45ID:OWFMR/J/0
ただの全探索じゃん…
750デフォルトの名無しさん (アウアウウー Sac3-hLQV)
垢版 |
2019/03/12(火) 20:55:37.42ID:M/w6PjEFa
いいんじゃないの?恐らく数学的になんとかしようとするとコンピュータ使わずに解が出て終わってしまうだろうし。
2019/03/12(火) 21:33:45.13ID:fue8lGKw0
>>750
??
752デフォルトの名無しさん (ササクッテロ Spc7-OS7W)
垢版 |
2019/03/12(火) 21:37:28.98ID:foIxPF9Op
もう取り繕う理由ないからタメ語で話すけど
簡単な問題に関してめっちゃレスしてしまってすまんな
明日のテスト頑張ってくるわ
説明してくれた人皆ありがとノシ
2019/03/13(水) 10:38:00.71ID:qAReO6hg0
>>752
手を煩わせたんだから 良かれ悪かれちゃんと結果報告には来いよな
幸運を祈ってやる
2019/03/13(水) 15:02:14.09ID:NOmoz09Zp
>>753
ありがとう
さっきテスト終わったけど微妙だった
合格の可能性ワンチャンあるけど、期待はしない方がいい
多分来週に結果が分かると思う、遅くても今月以内
結果が分かった時に報告する
2019/03/13(水) 18:27:05.40ID:Gm1xMrEed
>>754
テストに落ちたらどうなってしまうんや……
2019/03/13(水) 21:09:52.65ID:STGkCaiX0
課題を出されましたが、全くわかりません
このプログラムを作っていただけませんか?
スレ違いなら誘導をお願い致します


@キーボードから任意の文字を入力します。
A先頭が数値の場合
 ・入力を数値に変換して、メモリーに格納します。
 ・格納されている全ての数値を降順(大きい方が先頭)に並び替えます。
B先頭が数値でなければ、現在入力されている数値を並び順の逆順で全て表示する。

尚、数値は100個以上格納できるものとします。
2019/03/13(水) 21:26:02.50ID:P84Y9tDKa
>>756
少し遡れば宿題スレのリンクがある
2019/03/14(木) 06:00:16.00ID:SGfhnH0M0
>>756 宿題スレッドへのリンクは >>733 な。今のところまだ有効。

携帯端末(小さい画面)のせいか、スレッドを遡って読むのが難しい人の
質問が増えたようだけど、そういう閲覧環境だと、質問に対する回答の
ソースリストを読むのも一苦労な気がするなぁ。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況