トップページ⇒tech
1001コメント293KB

C言語なら俺に聞け(入門編)Part 104

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2012/07/15(日) 10:28:33.18
C言語の入門者向け解説スレッドです。

★前スレ
C言語なら俺に聞け(入門編)Part 103
http://toro.2ch.net/test/read.cgi/tech/1341059858/
★過去スレ
http://makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&andor=AND&sf=0&H=&view=table&D=tech&shw=5000
★教えて欲しいのではなく宿題を丸投げしたいだけなら
  ↓宿題スレ↓へ行ってください。
C/C++の宿題片付けます 158代目
http://toro.2ch.net/test/read.cgi/tech/1339338438/
★C++言語については避けてください。C++対応明記スレへどうぞ。
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
  # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること。
  # サイズが大きい場合はアップローダ等を利用してください。
http://codepad.org/
http://ideone.com/
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。
0237はちみつ餃子 ◆8X2XSCHEME 2012/07/25(水) 12:21:56.77
>>225
書けないということは事実上証明不能 (いわゆる悪魔の証明) なので、
この場合の証明責任は書けるという側にあるということを述べただけで俺は
内容についてどちらとも思ってないというか全く考察してない。
0238デフォルトの名無しさん2012/07/25(水) 12:24:56.26
普通なら考察以前の問題だからコテはずせって話なんだろ。
0239デフォルトの名無しさん2012/07/25(水) 13:10:58.12
>>236
だよな
だから先頭にノードを付け加えるのは特殊なケースを除けば百害あって一利なしのような気がする
0240デフォルトの名無しさん2012/07/25(水) 13:19:05.19
末尾追加は末尾を指すポインタの分メモリが必要、これが無いと遅くなる
先頭追加なら早くて、追加のメモリも要らないが、参照がコロコロ変化するのが面倒なのでリストをラップするオブジェクトが必要になり結局メモリ効率も前者と同じになる
0241デフォルトの名無しさん2012/07/25(水) 13:50:20.40
なら双方向リストにしろよ
メモリはたくさん食うけど先頭ノードからすぐに末尾ノードへのポインタを得る事が出来る
だいたいリストをソートする時には単方向リストだと大変だぞ
0242 ◆QZaw55cn4c 2012/07/25(水) 19:43:53.07
>>227
>>184, >>203 より機能を削ってますね。リストの頭にしかノードを追加できない。
>>184, >>203 と同じようにリストの途中に挿入する形で、かつ二重ポインタを使用しない、というのは可能なんでしょうか。

双方向ならできるかな?
0243デフォルトの名無しさん2012/07/25(水) 19:46:08.51
できる
以上
0244デフォルトの名無しさん2012/07/25(水) 19:53:54.30
以上

↑
詳細を議論できなくて逃げたいゴミがよく使う言葉
0245デフォルトの名無しさん2012/07/25(水) 19:59:51.56
逆になんで出来ないと思うのか疑問
0246デフォルトの名無しさん2012/07/25(水) 20:08:27.46
>>245
横からだが、それは、さすがに
悪魔の証明を求めていると思う。
0247デフォルトの名無しさん2012/07/25(水) 20:09:02.25
>>241
双方向でリング状?
先頭->prev = 末尾
末尾->next = 先頭
0248デフォルトの名無しさん2012/07/25(水) 20:10:43.91
リングリストでggrks
0249デフォルトの名無しさん2012/07/25(水) 20:15:15.39
単方向・双方向と循環・非循環は別の設計思想じゃね?
0250デフォルトの名無しさん2012/07/25(水) 20:16:43.45
>>246
悪魔の証明って言いたいだけだろ
普通にできるものを出来ないといいはるからなんでだよってなるのは当然
馬鹿な子供が掛け算が出来ないからってそれが計算不能なわけではないだろ
勉強してなんとかやろうとしてないだけだよ
0251デフォルトの名無しさん2012/07/25(水) 20:22:39.12
証明まではできなくとも困難さの示唆くらいはできる事も多々
0252デフォルトの名無しさん2012/07/25(水) 20:35:35.90
>>250
うん。言いたかっただけw

ただ、これは考え方の違いだからいいんだけど、

バカだと思った子に、「お前はバカだ」と言っても何も始まらないと思う。
その場合「君はこういう理由でバカだよ」と説明してあげた方がいいと思ってる。
0253デフォルトの名無しさん2012/07/25(水) 20:38:54.11
バカな理由はログみれば?
散々書いてあるでしょ
0254デフォルトの名無しさん2012/07/25(水) 20:42:00.05
>>252
バカには何を言っても無駄。このスレ見てればわかるだろ。
http://ideone.com/rEld8
0255デフォルトの名無しさん2012/07/25(水) 21:15:44.00
>>247
双方向リストにするならリングリストにしないと意味が半分失われるよ
最初に作成したノードを指すポインタを保持しておく
そしてもし最初に作成したノードを削除した場合、一つ前(つまり最後尾)か
一つ後ろを指すように書き換える
0256デフォルトの名無しさん2012/07/25(水) 21:23:24.18
http://www.geocities.jp/ky_webid/algorithm/011.html
http://www.ysr.net.it-chiba.ac.jp/data/list/node5.html

こんな感じか
そしてノードを削除していって一つもノードがなくなったらノードを指すポインタを
NULLにするなどしておく

別に無理にリングリストにする必要もないけどしておくといろいろと便利
0257 ◆QZaw55cn4c 2012/07/25(水) 21:54:49.47
>>254
んー、各ノードを走査するときに、同時に前回の対象ノード=今回の親ノードを記憶しておくんですね。なるほど。
でも、これってリストだからできるやりかたで、二分木のときにはやる気はおきないなあ。
ああ、二分木を非再帰に構成する――上からノードをパチンコ玉よろしく落としていって、はまるところにはまる、っていうやりかたはありそうですね。

二重ポインタに固執していたんですが、いろいろあるんですね。ありがとうございました。
0258デフォルトの名無しさん2012/07/25(水) 22:10:28.89
何言ってんだお前。
>>184と同じだろ。
0259デフォルトの名無しさん2012/07/25(水) 22:13:15.37
みなさん、やっぱり自分の書いたコードが一番かわゆいのね、ふふふ
0260デフォルトの名無しさん2012/07/25(水) 22:14:20.41
コテはずすなら一生はずしとけ。
02612592012/07/25(水) 22:22:51.53
ん?もしかしてQZさんだと思ってる?
残念ながら違います。。
運営さんにIPきいてみたら?
0262デフォルトの名無しさん2012/07/25(水) 22:32:25.62
早く薬飲んで寝てろ。
一生な。
0263 ◆QZaw55cn4c 2012/07/25(水) 22:32:46.57
>>258
え?
>>184 は二重ポインタ pp をつかってループ変数を一つにおさえていますけれども、>>254 は挿入地点 p とその親 pPrev の両方をおさえてるでしょ。
p の親がない場合は pPrev = 0 にして、そのときの処理は場合わけにしたりとか。

なんだか二重ポインタ抜きだといろいろ面倒だなあ。 たぶんやらない、やりたくない。

>>259
できるだけいろいろみるようにしてますが、やっぱりそういうものでしょうね。堅いといわれてもしかたがない。
0264デフォルトの名無しさん2012/07/25(水) 22:34:17.70
どうでもいい
アホはアホでひとくくり
0265デフォルトの名無しさん2012/07/25(水) 23:04:59.72
コードなんて、結局要件を満たして動きゃ良いので、
普通とか普通じゃないと、他人に理解されようがされまいが
そんの事はかは関係ない。動いたもん勝ち。


ただし、これを仕事する場合は、大抵チームで作って幾ものだから
当然、担当が変わることもある。
その場合、他の人が読めない様なコードはくずだし、
そんなコードを書く奴もポンコツ扱いされる。
0266デフォルトの名無しさん2012/07/25(水) 23:13:06.82
某Qとかな
どうせコピペ検知システムでバレるのにモリタポなんか取ってひでえ
癖があるからすぐに分かってしまう
0267デフォルトの名無しさん2012/07/25(水) 23:18:40.01
癖がわかるほどチェックしてんだ
本気で好きなんだな
きもちわるい
0268デフォルトの名無しさん2012/07/25(水) 23:23:04.16
お前がな。
0269デフォルトの名無しさん2012/07/25(水) 23:36:48.68
お前がな?
なにそれ
ちょっと説明してもらえるかな?
0270デフォルトの名無しさん2012/07/25(水) 23:38:41.24
ひらがな。
よみがな。
0271デフォルトの名無しさん2012/07/25(水) 23:44:18.19
>>267
大学の講師なめすぎ
0272 ◆QZaw55cn4c 2012/07/25(水) 23:54:51.82
>>265
では、後半の観点からすると、>>184 と >>254 はどちらがより好ましいのでしょうか。
0273デフォルトの名無しさん2012/07/26(木) 00:04:29.56
後者
0274デフォルトの名無しさん2012/07/26(木) 00:19:16.05
素のCでリンクトリストか。なんか楽しそうだな。
0275デフォルトの名無しさん2012/07/26(木) 01:30:53.63
プログラマーってどうせ恵まれた家庭の奴がなるんだろ?
俺んとことか金持ちじゃなかったからパソコンすらなかったし
0276デフォルトの名無しさん2012/07/26(木) 01:39:57.94
君は自らも努力しなかっただけ
0277デフォルトの名無しさん2012/07/26(木) 01:45:03.17
>>275
金持ちは医者とかだろ
世の中に何人プログラマーがいると思ってるんだ

今は開発環境がタダで手に入るけど
昔はアセンブラ買う金がなかったから
ノートにアセンブリ言語でコーディングして
CPUの命令セット見て手でコンパイルして
マシン語モニタで16進数で打ち込んだりしてたぞ

ドラクエの中村光一さんなんかも新聞配達でパソコン買ってたぞ
バイトすればパソコンくらい買えるだろ。てかなにで書き込んでるんだ

ちなみに秋元康さんは高校生のときに親の年収超えちゃって
親父が寂しそうな顔したとか
0278デフォルトの名無しさん2012/07/26(木) 01:49:52.56
>>277
どうせ俺はプログラマーにはなれないんだよ。
どうしたらいい?
本気で就職困ってる。
大学院は行かない(1浪2留)情報学科
で就職ある?
アトピー持ちだよ。
就活が怖い。

0279デフォルトの名無しさん2012/07/26(木) 01:51:35.76
+3だから2chで噂されてる新卒採用の年齢制限に引っかかるか心配
プログラマーなんてどうせ高専か大学ストレートで出た20前半の奴
がなるんだろ?おまけに実家は金持ちで小4くらいからWindowsいじ
ってたような。

俺は何もかも恵まれていない。
助言をくれ。
0280デフォルトの名無しさん2012/07/26(木) 01:51:53.39
ここは人生相談するスレじゃねーぞ
0281デフォルトの名無しさん2012/07/26(木) 01:56:03.73
文系卒でプログラムのプの字も知らなかったヤツがコーダーになる世の中で何を言ってるんだろう
0282デフォルトの名無しさん2012/07/26(木) 01:58:05.80
>>281
それってさ単に有能なだけだろ..........
0283デフォルトの名無しさん2012/07/26(木) 02:00:50.99
誰でもプログラマーになれるなら院出て仕事無いって嘆く奴はいねーよ
0284デフォルトの名無しさん2012/07/26(木) 02:03:29.53
何でも知ってるQZaw55cn4cって仕事何なの?
もし彼が無職ならプログラマがいかに敷居の高い職業なのかわかるでしょ。
0285デフォルトの名無しさん2012/07/26(木) 02:04:51.40
QZは破壊工作するからしゃーない
0286デフォルトの名無しさん2012/07/26(木) 02:07:41.40
今ならスマホアプリでも作って売ればいいだろ
このスレ来てるんならCは分かるんだろ?
Cが分かってれば3日もあればObjective-Cは使えるようになる

IT土方なら中卒だっていたぞ
某官公庁の経理システムのリーダーとか

この人なんか内定貰ってから勉強してるんだぞ
http://itpro.nikkeibp.co.jp/article/Interview/20090902/336374/
0287デフォルトの名無しさん2012/07/26(木) 02:20:28.12
↑京大やんポテンシャル違いすぎ
0288 ◆QZaw55cn4c 2012/07/26(木) 02:51:01.47
>>286
>Cが分かってれば3日もあればObjective-Cは使えるようになる

本当ですか?にわかには信じがたい。
今 Java やってますけれども、いろんなJava知識を一からやっているわけで、なかなかものになりません。
きょうはここでひっかかりました。http://toro.2ch.net/test/read.cgi/tech/1340976913/595
0289デフォルトの名無しさん2012/07/26(木) 02:54:24.41
円周率の近似値なんてどうやってC言語使ってやればいいわけ…
0290デフォルトの名無しさん2012/07/26(木) 02:59:18.70
数学の問題だね
double精度でやるのは、公式知ってればすぐにできるけど、
出来合いのクラス使わずに多倍長計算やるとまあまあ手応えあって面白いよ
0291デフォルトの名無しさん2012/07/26(木) 03:02:05.49
ガウスルジャンドルとかで検索してみるとか
0292デフォルトの名無しさん2012/07/26(木) 03:04:34.51
>>282
Fラン卒だった
0293デフォルトの名無しさん2012/07/26(木) 03:07:15.26
>>288
それレスみた?とりあえず英語読めないときついぞ
Java分かってればなお速いぞ

>>289
「C 円周率」でびんぐれ
「マチンの公式 C」でもいいぞ
0294デフォルトの名無しさん2012/07/26(木) 03:28:00.90
>>288
中年ジジイは既に脳が硬化してるから無理だよ
0295 ◆QZaw55cn4c 2012/07/26(木) 03:41:15.22
>>293
うん。自分で extends Applet の外にクラス作っておいだしたはいいものの、そのクラスをも extends Applet にしないといけなかったんですね。
まだぴんとこないのですけれども。
0296デフォルトの名無しさん2012/07/26(木) 03:44:02.16
>そのクラスをも extends Applet にしないと
それがしたかったのなら正しいけど多分違うだろ
0297 ◆QZaw55cn4c 2012/07/26(木) 03:54:03.79
>>296
そうですか?extends ではうまくいってます。
this を cast してもだめだったし、いまいち c++ と違うような気がするなあ。
0298デフォルトの名無しさん2012/07/26(木) 03:57:47.08
うまくいってるってのはコンパイルが通るって事だけ?
0299 ◆QZaw55cn4c 2012/07/26(木) 04:02:46.95
>>298
アプレットビュアーまでOKです。んーんー。
0300デフォルトの名無しさん2012/07/26(木) 04:06:59.62
>>288
はインナークラスを外に出したって言ってるけど中にもまだ残ってるし
残ってるほうのForDimChangeで動いてるだけじゃないのかね
それとも他にも変更したのかね
0301デフォルトの名無しさん2012/07/26(木) 04:08:23.61
つかスレ違いだからやめるわ
続きはあっちで
0302デフォルトの名無しさん2012/07/26(木) 06:34:41.31
C++と違うって
こんな事で躓いてるようじゃC++もできんだろ
0303デフォルトの名無しさん2012/07/26(木) 06:48:31.62
>>289
http://ideone.com/U9EzS
0304 ◆QZaw55cn4c 2012/07/26(木) 07:57:05.06
>>294
そう思うのは勝手ですが、かくいうあなたもいずれ硬化脳中年になるのです。
0305デフォルトの名無しさん2012/07/26(木) 08:13:35.28
年齢関係ない
0306デフォルトの名無しさん2012/07/26(木) 08:33:03.98
なんか適当に巡回してたらこのスレ見つけて触発されたからはじめたい。
おすすめのコンパイラ教えてくれ。あと学ぶためのサイトまた書籍とかも。
0307デフォルトの名無しさん2012/07/26(木) 08:37:33.32
vc++expressでggr
0308デフォルトの名無しさん2012/07/26(木) 08:41:55.68
了解thx
0309デフォルトの名無しさん2012/07/26(木) 09:10:25.49
>>306
knoppixをDLして、CD-Rに焼いて、なおかつUSBにもisoを入れろ
ソイツの文字コードはUTFだから気をつけろ
0310デフォルトの名無しさん2012/07/26(木) 09:13:00.95
7/22 日韓国交断絶国民大行進 in 関西
http://www.nicovideo.jp/watch/sm18435339

日韓国交断絶デモの公式サイト
http://haigai.exblog.jp/m2012-06-01/


http://pds.exblog.jp/pds/1/201206/25/41/d0178541_12523823.jpg
http://pds.exblog.jp/pds/1/201206/25/41/d0178541_1264643.jpg
http://pds.exblog.jp/pds/1/201206/25/41/d0178541_12172135.jpg
http://pds.exblog.jp/pds/1/201206/25/41/d0178541_12174390.jpg
http://pds.exblog.jp/pds/1/201206/25/41/d0178541_12191232.jpg
http://pds.exblog.jp/pds/1/201206/25/41/d0178541_12251748.jpg

http://www.youtube.com/watch?v=2oqZGmeEzWg&feature=player_detailpage#t=2545s
0311デフォルトの名無しさん2012/07/26(木) 10:43:52.43
>>304
その議論は無意味ですよ
「今ここ」の話をしているのですから
0312デフォルトの名無しさん2012/07/26(木) 13:02:39.83
>>306
初心者なら codepad.org でいいよ
VCとか自分のPCにはインストールしたくないよね
0313デフォルトの名無しさん2012/07/26(木) 16:08:00.61
>>312
codepad...わかった
0314デフォルトの名無しさん2012/07/26(木) 16:12:47.02
ちなみに「ここで学ぶといいよ」みたいなサイトある?
0315デフォルトの名無しさん2012/07/26(木) 16:21:01.76
猫でもできるでいいんじゃね?
0316デフォルトの名無しさん2012/07/26(木) 16:50:35.82
1から100までの間の奇数の和を求めるプログラムが難しいです
だれか助けてください

#include<stdio.h>
main()
{
int i, sum;
「わからない箇所」;
for(i=1; i<= 99;「わからない箇所」){
「わからない箇所」;
}
printf("sum = %d\n", sum);
}

大学の課題で必要なんですが、すいませんどなたか助けてください…。
0317デフォルトの名無しさん2012/07/26(木) 16:52:49.98
sum=0
i+=2
sum+=i
0318デフォルトの名無しさん2012/07/26(木) 16:59:54.01
sum = 2500
i += 100
sum += 0
0319デフォルトの名無しさん2012/07/26(木) 17:04:39.45
うわ凄い助かります
非常に厚かましいのですが、この場合だとどうすれば良いのでしょうか

キーボードから3桁の整数を入力したとき、それぞれの桁の和を求めるプログラムを作りなさい
たとえば234と入力されたとき2+3+4を求める

#include
main()
{
int a, q, sum;
printf("3桁の整数を入力してください\n");
scanf("%d",&a);
q=「わからない箇所」;//100の位を求める
sum = q;
a =「わからない箇所」;//元の数aから100の位を除く数をあらためてaとする
q =「わからない箇所」;//10の位を求める
sum = sum + q;
a = 「わからない箇所」;//10の位を除く
sum = sum +「わからない箇所」;
printf("和=%d\n",sum);
0320デフォルトの名無しさん2012/07/26(木) 17:07:55.74
>>319
a/100
a-q
a/10
a-q
a
0321デフォルトの名無しさん2012/07/26(木) 17:17:13.72
C言語難しいですね...。勉強します...。
すいません、最後です。できればお願いしますorz

年利率がr%の銀行にa円預金したとき、それがb円になるのに何年かかるかを求めるプログラムを作りなさい

#include <stdio.h>
main()
{
double r, a, b;
int year = 0;
printf("r,a,bを,この順番で,入力してください\n");
scanf("%lf %lf %lf", &r, &a, &b);
while(「わからない箇所…たぶんmoneyだと思うのですが…){
year++;
a「わからない箇所」;
}printf("year=%d\n",year);
}
0322デフォルトの名無しさん2012/07/26(木) 17:22:28.32
a<b
*=1*r/100
0323デフォルトの名無しさん2012/07/26(木) 17:35:59.32
助けてください!
C言語の課題です。

「自分のフルネームをアルファベット小文字で入力し、そのアスキーコードを、10進数で求めて平均、分散、標準偏差を表示」
を表すソースを教えてください。
0324デフォルトの名無しさん2012/07/26(木) 17:38:25.18
いやです。
0325デフォルトの名無しさん2012/07/26(木) 17:38:36.89
課題はこっち

C/C++の宿題片付けます 159代目
http://toro.2ch.net/test/read.cgi/tech/1342966104/
0326デフォルトの名無しさん2012/07/26(木) 17:40:48.60
ごめんなさい。スレッド違いでしたね…
0327デフォルトの名無しさん2012/07/26(木) 18:01:50.56
課題を人にやってもらったりしてるから
日本で人が育たないんだなあ
0328デフォルトの名無しさん2012/07/26(木) 18:35:29.13
その代わりに課題をやってくれる人が育つので
ある程度問題解決
0329デフォルトの名無しさん2012/07/26(木) 18:47:28.37
だって大学までの勉強なんて入社で評価されないし
遊んだりとか他のリア充活動ばかりが評価されるからなあ
そりゃ普通大学を真面目にやるのは損って思うでしょ
レポートはコピーしてその分遊んだりなんかでリア充した方が職を得やすいんじゃ誰も勉強しないよ
うちの同期のトモダチもそういうやつらはみんな大手決まってるけどコピー元のレポート書いてる俺や他の真面目くんはまだ中小にすら拒否されまくりだよ
0330デフォルトの名無しさん2012/07/26(木) 19:16:37.48
日本人とは限らんしな
0331デフォルトの名無しさん2012/07/26(木) 19:17:32.40
この業界はコミュ力ないクズはコード書けても不採用が常識だろ
コードは三ヶ月で書けるようになるからな
0332デフォルトの名無しさん2012/07/26(木) 21:01:00.93
Qとかな
0333デフォルトの名無しさん2012/07/26(木) 21:24:50.22
コンピュータサイエンスの教科書における問題の1つは、再帰のくだらない例を
掲載していることである。よくあるのは、階乗の計算やフィボナッチ数列の計算だ。
再帰は強力なツールであり、それをこのような状況で使用するとはあきれてものが
言えない。仮に、私の部下が再帰を使って階乗を計算しようものなら、別のだれかを
雇うだろう。

『Code Complete第2版〈上〉』(Steve McConnell,日経BPソフトプレス,2005年,p486)
0334デフォルトの名無しさん2012/07/26(木) 21:29:03.54
コピペマン参上!まで読んだ。
0335デフォルトの名無しさん2012/07/26(木) 21:42:30.19
で
そのイカした本にはcoooooooooooolなリカーシヴの実例が
載ってるんだろな
0336デフォルトの名無しさん2012/07/26(木) 21:42:37.72
韓国政府 「在日はいい加減に祖国に帰れよ!在日の祖国定着を行うぞ!」 在日の帰国計画を用意
http://engawa.2ch.net/test/read.cgi/poverty/1343183891/


韓国、日本村を造成、在日韓国人の定着支援を計画
在外僑胞の村がある慶尚南道南海郡(キョンサンナムド・ナムヘグン)に日本村と観光休養団地が新たに造成される。
韓国南海郡は24日、郡庁でこうした内容が盛り込まれた事業計画を確定し発表した。
これによると郡は460億ウォン(約31億円)を投じて日本式住宅、コミュニティセンター、小公園などを備えた住宅団地を作る。
また、日本文化体験館、日本食・宿泊体験館、日本歴史文化館も作る。
故郷を離れた後、異国の地に住む在日韓国人の故国定着のためのものだと郡は説明した。

2012/7/25
http://japanese.joins.com/article/196/156196.html?servcode=A00§code=A10
■ このスレッドは過去ログ倉庫に格納されています