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


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

C言語なら俺に聞け(入門篇) Part 30



1 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 23:38:08 ]
言語の入門者向け解説スレです。

教えて欲しいのではなく宿題を丸投げしたいならこちらへ。
 C/C++の宿題を片付けます 108代目
 pc11.2ch.net/test/read.cgi/tech/1211980711/

・C++言語はスレ違いです。
・分からない事をなるべく詳しく書いて下さい。
・ソースコードを晒すと答えやすくなるかもしれません。
・開発環境や動作環境も晒すと答えが早いかもしれません。
・質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。

前スレ
C言語なら俺に聞け(入門篇) Part 29
pc11.2ch.net/test/read.cgi/tech/1212329099/
過去スレ
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

175 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:09:39 ]
見逃してたwww

176 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:31:05 ]
コマンドプロンプトがわかりませんとか言ってる時点で・・・
まずいくべきはPC初心者板だな。

177 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:38:14 ]
研修を受けて2週間めですが、さっぱりわかりません、助けてください。
変数ってprintfで表示できるしデバッガーでも表示出来るのはわかるのですが
計算して新しいものを入れるのにクリアしないのですか?


178 名前:デフォルトの名無しさん [2008/06/17(火) 00:40:54 ]
>>177
なにをいってるのかさっぱりわかりません、助けてください

179 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:42:42 ]
日本語の研修ですか?

180 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:43:46 ]
変数は初期化か上書きしかない、自分がこうしたらクリアだな
と思う値で初期化するなり上書きすればクリアじゃないかな

181 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:43:50 ]
>>178
ごめんなさい、講師の人には失礼なので聞けないので、一緒に研修受けている
人に聞いてもわかりません。
変数ってクリアしないで計算出来るんですか?

182 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:44:35 ]
いや、講師に聞いてくださいよ…

183 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:46:15 ]
>>180
ありがとうございます。
思う値でクリアするのがわかりません。
初期化か上書きって命令があるんでしょうか。素人ですみません。



184 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:47:10 ]
なんかよくわからんけど
自分で値いれるんならクリアしなくてもいいよ

185 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:47:26 ]
>講師の人には失礼なので聞けない
なんというゆとり

186 名前:デフォルトの名無しさん [2008/06/17(火) 00:48:09 ]
理解できずに終わる事のほうが失礼だから聞けよクズ

187 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:48:20 ]
>>182
講師の人の言ってることは日本語が難しいので聞いても無駄だと思って。。。


188 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:49:07 ]
なら分かりやすく教えてくださいって聞けばいいだろ…

189 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:50:16 ]
int a = 0; int型変数aを0で初期化
a = 1;   変数aに1を代入(上書き)

190 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:52:52 ]
この質問者の日本語が一番難しい。

191 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:53:11 ]
本とか買って予習したほうがいいと思うよ
そうすれば講義も理解しやすいかと

192 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:54:08 ]
ここんとこC言語以前の質問ばっかりじゃねぇか

193 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:54:55 ]
丁寧に図解して説明してくれて他の受講生は他の学校で習ったよりわかりやすい
っていっているので、聞けません。

a = 1って構文は理解したけど、なんでaが1になるのかわかりません。
型が同じだから代入できるということですか?



194 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:57:22 ]
悪いことは言わないからまず電子計算機のなんたるかを勉強しろ

195 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:57:40 ]
なんだ他の学校って。
職業訓練学校か?

>a = 1って構文は理解したけど、なんでaが1になるのかわかりません。
そういう決まりだからだ。

196 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:58:42 ]
大学の授業なんだろう?
授業料払ってるんだろう?
聞け

言っとくが俺らはおまえからもおまえの親からも何ももらってないんだからな

197 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:59:06 ]
もしかしてりんごの絵とかで解説してあげないと駄目なレベルなのかな

198 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:00:08 ]
はっきり言ってしまうと
単におまえが分不相応な講座取っただけだろ

199 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:01:08 ]
講師の人には他の人とは差があって当然だから、基礎的な事をまずは勉強
しようねといって、コンピュータの歴史の本みたいなのを読まされています。
わたしはプログラムしたいけれども、多分、もう見捨てられているんですね。
わかりました。

200 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:01:16 ]
コンピュータ内部の事象をイメージできない人間がプログラミングできるわけがない

201 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:01:34 ]
ああ、新入社員の研修じゃなかったのか。よかったよかった

202 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:02:48 ]
うーむ・・・正直相当不向きと見える


203 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:03:41 ]
学校じゃないから真剣なんです。社会人の研修です。

なんでみんなこんなのでわかるのか泣きたいです。



204 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:05:02 ]
a = 1って構文は理解したけど、
↑↑激しく矛盾 ↓↓
なんでaが1になるのかわかりません。

205 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:05:05 ]
おすすめ図書 猫でも分かるc言語プログラミング
   

206 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:05:13 ]
ごめんなさい、明日も早いから寝ます。いろいろありがとうございました。

207 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:05:33 ]
逆に質問したいんだがなんでaが1になるのが変だと思ったんだ?
そういうところをはっきり書いてくれないと誰もあなたが望む答えが出来ないと思うよ

208 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:05:41 ]
プログラマはプロ・アマ問わず本買うなりネットで調べるなりして自学自習が基本だ。
与えられた本に文句つけてる暇があったら、入門本を片っ端から読み漁れ。
講師だの学校だのにプログラム教えてもらおうなんて思ってるなら、転職・進路変更を勧める。

209 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:06:51 ]
なんでこんなのをプログラミングの研修に回すんだ…
どこの会社かしらんがおかしいだろ

210 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:08:07 ]
たぶん変数とか代入とかの概念がないんだろう

211 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:08:43 ]
まわりが経験者ばっかりで焦ってたんだろね

212 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:08:49 ]
1+1はなんで2になるの?くらいのレベルの質問

213 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:09:02 ]
>>207
a = 1 って書くのはわかるけど、aは変数じゃないんですか???
ごめんなさい、たぶんわたしがまるでわかってないんですね。



214 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:09:05 ]
あーそうか
つまり a=1 を数学の数式として見てるのか・・・

215 名前:デフォルトの名無しさん [2008/06/17(火) 01:09:20 ]
a = 1の構文に違和感を覚えるのなんてよくあること

216 名前:デフォルトの名無しさん [2008/06/17(火) 01:09:55 ]
と思ったけど>>213を見た限りそういうわけじゃないみたいだなwwwww

217 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:09:57 ]
a=1;

これの意味を本当に理解してる?
説明してみて

218 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:10:52 ]
>>213
意味わかんねえよ。
「(変数) = (値);」と書いて「(変数)に(値)を代入する」って読むんだよ。
何が分からんのか言うてみろ。

219 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:11:23 ]
たぶん「代入」が理解できてない

220 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:12:04 ]
131だけどどなたかわかりましたか?

221 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:13:05 ]
一番いいのは
自分で
int a;
a=1;
してからprintfでaを表示しろ

222 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:14:11 ]
zipファイルが落とせないの俺だけ?
出会い系のバナーしかリンクがねーんだけど。


223 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:14:19 ]
よく言われるのは、変数は箱の名前

まず最初に
int a;
などのように書いてint型の変数としてaと言う箱を用意します

その箱の中身に 1 と言う値を入れる(代入)にはどうすればいいか
a = 1;
と書くのです、これはC言語の決まりごとです



224 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:14:24 ]
代入演算子で1を代入してるんですよね。理解しています。
でも、どうしてaが1なんですか?
取り出すところがわかりません。どうやってクリアするのですか?

225 名前:デフォルトの名無しさん [2008/06/17(火) 01:14:36 ]
2つの数の最大公約数を出すプログラミングを書いていたのですが、どうしてもうまくいきません
どこが悪いか教えてもらえませんか?
どんな値を入れても18000みたいな数字が出てきてしまいます。。。
お願いします

#include<stdio.h>
int gcd(int m,int n) /*二つの自然数の最大公約数を返す*/
{ int i;
if(m > n)
{for(i =m; i==1; i--)
{if( (m%i)==0 && (n%i)==0 )
return i;
}}
else
if (m < n) {for(i =n; i==1; i--)
{if( (m%i)==0 && (n%i)==0 ) return(i); } } }
int main(void) { int x, y;
puts("二つの自然数を入力してください。");
printf("自然数1:"); scanf("%d", &x);
printf("自然数2:"); scanf("%d", &y);
printf("二つの自然数の最大公約数は%dです。 \n", gcd(x ,y));
return(0); }





226 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:15:22 ]
決まりごとになぜっていわれるのが一番こまるよなー。
なんで止まれは止まらないといけないのかとか

227 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:15:26 ]
>>220
そんなところにソース上げられても誰も見ようとはしないよ
自分でリンク叩いてみろ

228 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:16:03 ]
>>224
「代入」の意味を説明してみろ

229 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:16:17 ]
>>224
クリアってなんだよ。
勝手に変な概念を作るな。

230 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:16:42 ]
どこにうpすれば。。。

231 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:17:01 ]
おまいら釣られすぎwww

232 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:17:49 ]
131
単品だとエラー確認できないんすよー。

233 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:17:54 ]
>>225
i==1



234 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:18:37 ]
あーもー、
おまえら何がしてーんだよっww

235 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:19:10 ]
いったいこいつの頭の中がどうなってるのかを確かめたいと言う知的好奇心

236 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:21:23 ]
131
ddofile29050.zip pass errorです
みてもらえたらうれしいです

237 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:22:16 ]
>>131
1643.zipがねーぞ?
2chなんかでリンク張るから消されたんじゃねーのw

238 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:22:23 ]
ここは半角板じゃねぇぇ。

239 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:22:25 ]
やぱりからかれてるんだ。


240 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:22:41 ]
>>236
しねばいいよ

241 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:22:44 ]
明日ゼミあるのに全くゼミ資料も裏付けもやってねー

242 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:25:45 ]
いくらなんでもa = 1がわからないやつを2週間も放置する会社は無いだろ

243 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:26:28 ]
a = 1; において、a という箱にはなにかしらデータが入っているから
そのままではそのデータが邪魔で 1 を代入することはできない
だから a からデータを取り出すなり消去する(「クリア」する)必要がある

とでも考えているんじゃなかろうか



244 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:26:35 ]
なぜreturn aで返るんですか?

245 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:28:44 ]
>>243
そうです。
どうしてクリアしなくていいんですか?

246 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:29:30 ]
上書きしてるから

247 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:30:08 ]
自分でC言語のコーナーいって
自分が一番わかるであろう本をかいなよ。
そしてプログラムを自分が理解してうつ。
それがベストだろ。

248 名前:デフォルトの名無しさん [2008/06/17(火) 01:30:50 ]
>>245
箱と説明されてるのがまずかったのかな?

ホワイトボードみたいなもんだを思ってくれ

a = 1;はaって言う名前のホワイトボード書き換える行為だと

249 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:31:09 ]
+=とか|=なら、245的クリアしない代入と言えるのだろうか?

250 名前:131 [2008/06/17(火) 01:31:17 ]
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#define MAX 5000
#define M 25
#define STR_MAX 256
void binary_file_process(char *fname)
{ float sample1; float sample2; float sample3[5]; float s1[MAX]={0};
float input_data[150][M]; char buff[100]="text/"; FILE *fin1=fopen(fname,"rb");
strcat(buff,fname); strcat(buff,".txt");
FILE *fp =fopen(buff,"w"); int i = 0,j = 0,k = 0,l = 0,m = 0,y = 0,z = 0,max=0;
int count=0; fseek(fin1, 0, SEEK_SET);
fread(sample3, sizeof(float), 6, fin1);
fseek(fin1, 12, SEEK_SET); while(fread(&sample1, sizeof(float), 1, fin1) == 1) {
s1[k] = sample1; k++; }
count=k/M; max=k; for(i=0;i<max;i++){ printf("{%.1f}",s1[i]); if((i+1) % M ==0){
printf("\n"); } }
printf("\n\n"); printf("k:%d count:%d max:%d \n",k,count,max);
k=0; for(i=0 ; i < count ; i++){ for(j=0;j<M;j++){
printf("\t"); input_data[i][j]=s1[k];
fprintf(fp,"%f ",input_data[i][j]);
if((k+1) % M ==0){ fputs("\n",fp); } k++; } } fclose(fin1); fclose(fp);}
int main(){ char buf[100][STR_MAX]={'\0'}; FILE *fp; int i,j,k=0,count=0; system("dir power/*.data >memo.txt");
fp=fopen("memo.txt","r"); if(fp==NULL){ printf("prog001.c:file can't open memo.txt\n");
exit(-1); } printf("読み込み開始\n");
i=0; while(fscanf(fp,"%s",buf[i]) != EOF){
i++; } count=i; fclose(fp); printf("count:%d buf[0]=%s\n",count,buf[0]);
binary_file_process(buf[0]);
}

なんとかまとめてみました
お願いします

251 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:31:29 ]
>>255
5行目と11行目のfor文を
i == 1 → i != 1 にかえるとおk

252 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:31:31 ]
変数の初期化
その変数に代入すると,初期化した変数にいれられる。

253 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:31:45 ]
>>246
そこが言ってることがわかりません?上書きってクリアとは違うんですか?



254 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:31:49 ]
>>245
ホワイトボードじゃ、一回クリアしないと書けないぞw

MDでもカセットテープでもなんでもいいが、
繰り返し録音できるメディアはいちいちクリアしなくても
新しく録音できるだろ。
それと一緒だ。上書きだよ上書き。

255 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:32:07 ]
間違った >>225

256 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:32:21 ]
>>150
単品じゃうごかねえつったろw

257 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:32:58 ]
>>245
C言語は、プログラマのコードが全て
つまりプログラマの責任において操作する
a = 1;
の後に、aに何を代入して上書きしようがプログラマの勝手
で、その変数aの値を使用するのは、プログラマの責任で使えってこった

258 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:33:42 ]
データがねーから

nt main(){ char buf[100][STR_MAX]={'\0'}; FILE *fp; int i,j,k=0,count=0; system("dir power/*.data >memo.txt");
でエラー

259 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:35:43 ]
まさにカオス

260 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:37:03 ]
何を代入してもいいのに1を代入するとかもうわけがわからないのは
やっぱりむいてないんでしょうね。
書いている言葉は理解できるのにさっぱり意味がわかりません。
長々とありがとうございました。明日相談してみます。

261 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:38:52 ]
何を代入してもいい箱には
何が代入できるのだろう。

そもさん、せっぱ

262 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:39:12 ]
書いている言葉は理解できるのに
↑↑何か脳の病気なのか…↓↓
さっぱり意味がわかりません。

263 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:40:02 ]
1は例えであって別に何しようが勝手だって
型なのどの規則を守ってたら
あとは>>257の言うとおり

何も代入してない状態の変数にも中身が勝手に入ってる
ただ、それは何が入ってるか分からないから自分が分かるように
分かる値を入れるだけ



264 名前:デフォルトの名無しさん [2008/06/17(火) 01:40:50 ]
>>255
ありがとうございます!
明日トライしてみますね!
助かりました。。

265 名前:255 mailto:sage [2008/06/17(火) 01:50:52 ]
>>264
あと公約数がない場合もつけたしておいたほうがいいよ

266 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:53:41 ]
公約数がないなんてありうるの?

267 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:54:06 ]
ねぇよwww

268 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:56:34 ]
素数って1とそれ自身以外の約数がないんじゃなかったっけ?
2つの素数の公約数って1でいいの?

269 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:56:44 ]
aが1かなんでもいいを入れられるのにどうして1を入れる必要が
あるのかどうしてもわからないんですよ。
1じゃなくても入れられるのはわかっています。
なんで1があるのにそれを入れるのか、どういう時に入れれば
いいのかわからないんです。

入れたいときにっ言うけどそれがわかりません。

フローチャートも演習でやったのは書けたけど、プログラムを見て
フローチャートに出来ません。
やっぱり無理ですね。よくわかりました。

270 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:57:16 ]
約数って素数じゃなきゃいけないんだっけ?

271 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:58:05 ]
>>269
もう寝ろ。

272 名前:255 mailto:sage [2008/06/17(火) 01:59:11 ]
あのプログラムだとループの i が1になった瞬間終了だから
8 7 とか入力したらバグる

273 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:59:14 ]
>>268
全ての整数は1と(負の約数を考えるなら-1)を約数にもつ。
だから、どんな二つの整数も1を公約数に持つし、
二つの素数の最大公約数は1



274 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 02:00:25 ]
変数の存在自体に疑問を持ってるということかいね
つまり、全部数値を直打ちしてプログラム書けということかいね
死ぬわ

275 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 02:01:01 ]
>>272
そういう意味だったか、すまん
確かに返り値返してないな






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

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

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