さぁ やってまいりました
あぼーん
3 :
デフォルトの名無しさん :2011/01/23(日) 03:54:37
なんですかC言語って 何語ですか?
C言語話せる人いるー?
糞スレ
C:\pic\logger\system\usb\usbmmap.c:152:Error [1027] unable to locate 'system\typedefs.h' って何のエラー?
8 :
7 :2011/01/23(日) 08:24:09
スレチなら、誘導先を教えて下さい。 探したけど無かったです。 よろしく
ggrks
10 :
7 :2011/01/23(日) 09:30:41
>>9 嫌と言う程ググッたよ!ボケッwww
自己解決、リンク通った・・・ Orz
まさかsが邪魔だったってオチじゃないよな?
>>11 じゃないですw
某雑誌の付録です。同じ所で嵌るでしょうww
また誰かこのレスは見ると思う。w
解決策も書いてないのに見ても意味ないだろ
どんなエラーか知らないが、
>>7 みたいなアホが自己解決できるんなら問題ないだろ
糞スレ
あぼーん
Cでデザパタ
あぼーん
あぼーん
あぼーん
このスレにテトリス作れる奴がいるわけがない
Perl忍者は糞
Perl忍者はPerlすらできないことが判明したからなww
忍者じゃねえじゃん・・・・
じゃあ忍者ってなんだよ?糞がぁ
よくわからないけれど、忍んでいればいいんじゃないでしょうか
そうか、ありがとう
Perl忍者は忍んでないから忍者になれないんだな
忍者になったらPerl出来るようになるのかよ
Perl忍者に聞いてください
忍者の相手してやってるスレなんて初めて見た
linux で、getchar() で、enterを押さなくても、キーを押した瞬間に入力となるgetcharです。 ようするに、テトリスとかゲーム作るときに使うキー入力です。 わかりやすくいうと、1プログラム500円スレの人がググったコピペ張り付けてたあの関数の機能です。 これを1行、80文字以内に書きたいのですが、 int K,L[99];G(){tcgetattr(0,L);tcsetattr(0,0,L+9);K=getchar();tcsetattr(0,0,L);} 現状81文字で、どうしてもあと1文字減らせなくて困ってます。 なにかいい方法は無いでしょうか? というパズルゲーム。
34 :
33 :2011/01/23(日) 21:00:19
あれ?数えたら80文字でした。 やっぱいいです。
ここって本当に糞スレだな? 住人も池沼しかいないww
?の使い方まちがってるやつをよく見るけど漫画も読まないんだろうな。ああいうのって。
ああいうのって?
linux で、getchar() で、enterを押さなくても、キーを押した瞬間に入力となるgetcharです。 ようするに、テトリスとかゲーム作るときに使うキー入力です。 わかりやすくいうと、1プログラム500円スレの人がググったコピペ張り付けてたあの関数の機能です。 これを1行、80文字以内に書きたいのですが、 int K,L[99];G(){tcgetattr(0,L);tcsetattr(0,0,L+9);K=getchar();tcsetattr(0,0,L);} 現状81文字で、どうしてもあと1文字減らせなくて困ってます。 なにかいい方法は無いでしょうか? というパズルゲーム。
40 :
39 :2011/01/23(日) 21:55:43
あれ?数えたら80文字でした。 やっぱいいです。
なんかデジャブが・・・
え?
お?
>>41 あなたが、今という時間を15,768回繰り返されました。
Perlって難しい?
組み込みやるならPerlだな
あぼーん
コシヒカリとは違うの?
あぼーん
コシヒカリとは違うの
linux で、getchar() で、enterを押さなくても、キーを押した瞬間に入力となるgetcharです。 ようするに、テトリスとかゲーム作るときに使うキー入力です。 わかりやすくいうと、1プログラム500円スレの人がググったコピペ張り付けてたあの関数の機能です。 これを1行、80文字以内に書きたいのですが、 int K,L[99];G(){tcgetattr(0,L);tcsetattr(0,0,L+9);K=getchar();tcsetattr(0,0,L);} 現状81文字で、どうしてもあと1文字減らせなくて困ってます。 なにかいい方法は無いでしょうか? というパズルゲーム。
52 :
51 :2011/01/24(月) 01:14:33
あれ?数えたら80文字でした。 やっぱいいです。
一人で何やってるの
「一人で何やってるの」とか「自演乙」ってもう定番過ぎてなぁ 煽るならもっとインテリジェンスを見せてくれないと面白くないよね
ここまでC言語のまともな質問が一つもないという・・・w
質問したとして、回答が得られるのか?w
解答がえやすい質問文ならな、エスパーが必要な質問はスルーされやすい
ポインタを代入するとエラーが出たのですが、教えてください。
ポインタを代入しないようにしなさい
無理です。教えてください。キャストは使いたくないです。
ポインタ使うな
あぼーん
あぼーん
超亀レスだが前スレ#772へ
開平法というアルゴリズムがある。いわゆる平方根の筆算方法だ。
http://yosshy.sansu.org/sqr.htm とか紹介してるところは多い。
これを2進化するとビットシフトと加算と比較だけで10行ぐらいで作れる。
対象が何ビットだろうとビット数の半分のループで平方根が出るし、
最後のあまりが0かどうかで2乗ちょうどかの判定もできる。
今の PC は浮動小数点計算が速いので double 以内なら mathlib の sqrt() 使った法が早いが、
sqrt()が遅い環境やビット数の多い環境ならこのアルゴリズムを試す価値はある。
32bit用ならこんな感じ
int isqrt(unsigned int base, unsigned int* root)
{
unsigned int bits=16;
unsigned int answer=0;
unsigned int side=0;
unsigned int rest=0;
while (bits>0) {
bits--;
rest <<= 2;
rest |= (base>>(bits<<1))&3;
answer <<= 1;
side <<= 1;
if (rest>side) {
side++;
rest -= side;
side++;
answer++;
}
}
*root=answer;
return (rest==0);
}
68 :
デフォルトの名無しさん :2011/01/24(月) 22:28:01
月末C言語検定受けてきます
69 :
デフォルトの名無しさん :2011/01/24(月) 22:29:26
2級です
ほっほっ
最大の疑問何ですが、職業としてのプログラミングと趣味のプログラミングは どちらが高度なのでしょうか?プログラミング言語によって変わると思いますが 大学では3〜4つ言語をやってますがCがメインです。
少ないな俺は10個だ perlメイン
74 :
72 :2011/01/25(火) 02:47:02
>>73 CとC++とjavaとperlの4つやってます。
趣味では限界ってありますか?
>>74 そろそろ関数型言語に手を伸ばすべきですね。おもしろいですよ。scheme とか haskell とか F# とか。
76 :
デフォルトの名無しさん :2011/01/25(火) 03:07:34
>>75 いくら言語覚えても、作りたいものがないと意味ないでしょう。
あぼーん
宿題絡みで 職業 = 問題解決能力 趣味 = 問題を見つけてくる能力
◆QZaw55cn4cはなんでこんなに糞なの? ◆QZaw55cn4cはなんでこんなに糞なの? ◆QZaw55cn4cはなんでこんなに糞なの? ◆QZaw55cn4cはなんでこんなに糞なの? ◆QZaw55cn4cはなんでこんなに糞なの? ◆QZaw55cn4cはなんでこんなに糞なの? ◆QZaw55cn4cはなんでこんなに糞なの? ◆QZaw55cn4cはなんでこんなに糞なの? ◆QZaw55cn4cはなんでこんなに糞なの? ◆QZaw55cn4cはなんでこんなに糞なの? ◆QZaw55cn4cはなんでこんなに糞なの? ◆QZaw55cn4cはなんでこんなに糞なの? ◆QZaw55cn4cはなんでこんなに糞なの?
>>77 たしかに一つの言語だけでも極めるのは**非情**なまでに困難ですね。
83 :
デフォルトの名無しさん :2011/01/25(火) 03:27:36
81 : ◆QZaw55cn4c :2011/01/25(火) 03:25:22
>>77 たしかに一つの言語だけでも極めるのは**非情**なまでに困難ですね。
84 :
デフォルトの名無しさん :2011/01/25(火) 03:28:23
82 : ◆QZaw55cn4c :2011/01/25(火) 03:27:19
>>79 逆じゃないですか?
81 : ◆QZaw55cn4c :2011/01/25(火) 03:25:22
>>77 たしかに一つの言語だけでも極めるのは**非情**なまでに困難ですね。
82 : ◆QZaw55cn4c :2011/01/25(火) 03:27:19
>>79 逆じゃないですか?
↑こいつ最高に馬鹿
プロコピパー
90 :
デフォルトの名無しさん :2011/01/25(火) 04:09:44
コピペ最強説
カピペプログラマー
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
C言語って基本的な事を習得したは良いけどその後何をするかってほったらかしな気がする。 やりたい事って言われても何が出来るか分からんしどうやって実装するのかも分からん。
C言語なら俺に聞けの皆様に質問 1つの行に可変長(1〜10文字)の実数・整数が1つ書かれている、500000行のテキスト ファイルがあって、そのテキストファイルから指定した行をの値を読みだしたいのですが、 fgets()で空読みしないで、直接指定した行の値を読みに行きたいのですが、 誰かわかる方いませんか? fseek()とか使うみたいなのですが、ちょっとうまく行かなくて。。 ちなみに何故こんなバカでかい容量のデータを扱っているというと、物理シミュレーション のデータを扱っているからです。
106 :
デフォルトの名無しさん :2011/01/25(火) 11:12:52
>>104 言語をおぼえるという低いハードルを(高いと思って)クリアしたあと
応用分野という高いハードルに面食らうのはみんな通る道さ
どの道でもいいが腰据えてかかんな
事実上の無限といっていい深い世界が待ってるよ
>>105 できません
行数というのは、ファイル先頭からの改行の数のことですので、通常はファイル先頭からの改行の数を数える以外に、その行がどこにあるかは知りえません
適当に飛んだところが何行目かも、ファイル先頭からの改行の数を数える以外に知りえません
全部読まずに行数から位置を知るためには、そのための何らかの工夫を設ける必要があります
例えば行の長さが固定なら、その長さ×行数のところへ飛べばよいです
各行にその実数・整数の他に現在の行番号を付けくわえておけば、適当に飛んだところが何行目かわかりますので、目的の行を探すヒントになります
そのテキストファイル自身とは別に、行番号と位置との対応を管理するインデックスを用意するという方法もあります
>>105 double で事足りるなら固定長にすれば?
>>104 特にやりたい事も思いつかないのなら時計とかカレンダーとか電卓とかテトリスみたいな
そのへんで見かけるいかにも簡単そうなちょっとしたものから作ってみてはどうか
どうやって実装するかはこの板の人たちにアドバイスを聞くこともできるだろうし
自分で調べられるのならそれに越したことはないけれど
110 :
デフォルトの名無しさん :2011/01/25(火) 11:39:19
>>105 あー、テキスト形式に「しちゃった」のね
今さらバイナリに戻すとそれでまた誤差がでるな
初手でミスったのはどうしようもないとして
どうしてもランダムアクセスがしたければ
インデックスを作るかオンメモリでやるかだな
>>106 >>109 やっぱり言語覚えても宿題プログラムぐらいしか出来ないとつまらないのでちょっと楽しそうなDXライブラリ使って簡単なゲームでも作ってみます。
アドバイスありがとう。
>>105 system("head -100 text.txt | tail -1");
>>105 あらかじめインデックスをつくるしかないかな。
x行目はファイルの y バイト目から始まる、という目次をつくっておく。
Hacking 美しき策謀オヌヌメ
>>105 前に0で埋めた、桁数固定の文字列ファイルにする。
ツール一発で出来るでしょ。
system("head -100 text.txt | tail -1"); これで画面に出力される内容をプログラムの中の変数に入れられますか
そこでpopenのfscanfですよ
できたwこれでいいんじゃないかな int main(void) { FILE* fp; char buf[100]; fp = popen("head -3 txt | tail -1", "r"); fscanf(fp, "%s", buf); printf("%s\n", buf); fclose(fp); return 0; }
sprintf(cmdBuf, "sed -ne %dp %s", lineNo, textFileName); popen(cmdBuf, "r");
あぼーん
あぼーん
コピペなら俺にまかせろ(入門編)
1時間でテトリス作れるとか神だな
今や2chよりニコニコ技術部の方が高脳だからな
このスレにはまずプログラミングできる奴がいない
133 :
デフォルトの名無しさん :2011/01/25(火) 23:42:30
>>130 Line 21は変数aと関数aの名前がかぶってる。
int a,b,c;
の行を削除でLine 21のエラーは解決。
Line 22はメンバ変数名が間違ってる。
y=((w.u)->q);
のqをbにすれば解決。
y=((w.u)->b);
135 :
133 :2011/01/25(火) 23:44:53
すまん、リロードしてなかった
>>130 とりあえずエラーでないように直しといてやったぞ
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct line {
struct line * u;
struct line * t;
char *b;
}L;
L a(L e);
main()
{
int a,b,c;
char *q="abcdefg";
char *y;
L g={&g,&g,q};
}
L a(L e)
{
return(e);
}
いや面白くないから
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
$ gcc -DHAVE_GETCH=1 a.c e.c list.h a.c: In function ‘paging’: a.c:64: error: invalid operands to binary == (have ‘LINE’ and ‘void *’) e.c: In function ‘add_line’: e.c:17: error: conversion to non-scalar type requested e.c:18: error: incompatible types in return e.c:20: error: incompatible type for argument 1 of ‘free’ e.c:21: error: incompatible types in return このエラー解消したいんですけどどうすればいいですか
ニコニコ技術部ってすごかったんだな
>>153 それだけだと、その行見てみなさいとしか言いようがないんだけど
>>159 いろいろすごいよね
1時間でテトリスを作るとか見習いたいな
162 :
デフォルトの名無しさん :2011/01/26(水) 03:45:41
ホントに入門レベルの質問で申し訳ないのですが、 現在WinSock2を使用してチャットを作成しています。 同一パソコン内、同一LAN内でのサーバー、クライアント処理は作成できたのですが、 インターネット越しでの通信、 (例えば自分のPCでサーバーを起動してネカフェでクライアント起動) ができません。 ググった結果、ルータを使用している場合は、ルータのポート設定をゴニョゴニョとあったのですが P2Pなんか使うと自動的にポート開放するって聞いたのですが(自分はP2Pやらないのでよくわからないんですけど)、 ソフトの方で自動的にルータのポート設定をして、自身のソフトのみポート解放するということはできるのでしょうか? どんな処理をしているのでしょうか? Windows XP VC++ 2010 環境です。 よろしくご教授お願いします。
1秒間に10回SEX発言!
165 :
デフォルトの名無しさん :2011/01/26(水) 04:09:45
>>162 ググってわからないことが、俺らにわかるわけねえだろ! なめてんのかクズ! うせろ!
168 :
162 :2011/01/26(水) 04:44:54
>>162 ググってわからないことが、俺らにわかるわけねえだろ! なめてんのかクズ! うせろ!
169 :
162 :2011/01/26(水) 04:53:52
おめーやいいかげんふいしろや
>>165 それのどこがCの話なんだよ
ルータの使い方の話じゃないか
そもそもここはCが手段ではなく目的の人が書き込むスレだ
(キリッ
172 :
170 :2011/01/26(水) 05:12:41
おしっこもれちゃうのぉwwwwwwwwwwwwwwwwwwwww
ペタンセル
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
178 :
105 :2011/01/26(水) 09:38:12
105です。
行番号がそのままインデックスになるように書き込んだファイルでしたので、
実数をすべて固定長で書きこみ直したファイルを、"rb"で開いて
fseek()でランダムアクセスを作ることができました。
fseek(fp, (position * 9), 0);みたいな感じでした。
ありがとうございました。
特に
>>107 ,
>>108 ,
>>110 さん
後、何故か
OS:Ubuntu Cで"w"で.txt拡張子で保存するようにしたファイルを、
"rb"で開いたら、特に問題なくバイナリでいじれてしまいました。
最後に
>>110 さんのテキスト形式じゃダメみたいな書き込みの意味がわからなかったのですが、
誰か分かる方いますか?
バイナリに戻すって元々バイナリではないのでしょうか?
だってあらゆるファイルはいわゆるバイナリだし
a
テキスト形式だと基本的に行の長さが一定しないから特定の行をシークするのが困難になる。 バイナリだと「番目×1つのデータサイズ」で簡単にシークできる。 テキストでも行の長さを固定すれば「行番号×行の長さ」で似た感じでシークできるようになるけど。
>>178 浮動小数点を文字列化する際に誤差が入り込み、それを読み込む際にまた誤差が入り込むから、
文字列(テキスト形式)としてファイルに書き出すのは得策でないと言いたいんじゃないかな
>>182 書き込み時
0.015865874122548
↓
0.015865874
読み込み時
0.015865874
↓
0.01586587400000…458474←最後ゴミ
or
0.01586587414582…ゴミ
みたいな解釈でいいのかな?
185 :
デフォルトの名無しさん :2011/01/26(水) 13:07:45
質問です たとえば int a,b,,,,,,,y; srand((unsigned) time(NULL)) a=rand()%50; b=rand()%50; ・ ・ ・ y=rand()%50; といった感じでaからyの25個を0から50までの数字を格納 この数字をずっと保存しておく方法ってどうやるのですか? 同じ数字で実験したくて・・・
>>185 srand((unsigned) time(NULL));
下
rand_seed=12345;
srand(rand_seed);
188 :
デフォルトの名無しさん :2011/01/26(水) 14:39:06
コマンドプロンプトで実行結果を メモ帳に表示させるにはどうすればいいのですか?
リダイレクト
あぼーん
あぼーん
あぼーん
1秒間に10回SEX発言ってつまり10Hzってこと?
30Hzじゃね?
ふーん
ほーん
197 :
デフォルトの名無しさん :2011/01/26(水) 22:55:25
10Hz じゃ どあほ
198 :
デフォルトの名無しさん :2011/01/26(水) 23:15:05
199 :
デフォルトの名無しさん :2011/01/26(水) 23:18:22
そのうえで 30Hz とかぬかしたどあほが逆切れすんな
あぼーん
あぼーん
202 :
デフォルトの名無しさん :2011/01/26(水) 23:57:11
なんで馬鹿ってすぐに同一人物認定したがるのかね
>>202-203 黙れよ、30Hz君wwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwww
wwwwwww
w
2chには俺とお前とひろゆきしかいないからな
あぼーん
30Hzって明らかに釣りだろ こんなのに釣られて悔しかったんだな
あずにゃんペロペロ^^
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
>>210 ビットシフトってなんの役に立つんですか?
217 :
210 :2011/01/27(木) 00:59:27
おしっこ
いいからAPI出せや
なんのAPIだよ
220 :
デフォルトの名無しさん :2011/01/27(木) 01:10:59
あほぱーいちびり
え?
あぼーん
223 :
デフォルトの名無しさん :2011/01/27(木) 02:15:28
Linux で、コンソールアプリ作ろうと思うんですが、 自分で作成した文字をコンソールに表示することって出来ますか?
CreateIceCream() API が呼び出せません!! 助けてください!!
なにを設定すれば出来ますか?
わからないなら初期設定でいいよ
つスレタイ
C言語なら俺に聞け
C言語なら糞に聞け
239 :
Perl忍者 ◆M5ZWRnXOj6 :2011/01/27(木) 11:56:49
24 :デフォルトの名無しさん:2011/01/23(日) 19:14:51 Perl忍者はPerlすらできないことが判明したからなww できるけど?
241 :
デフォルトの名無しさん :2011/01/27(木) 12:34:16
ハッカーっぽいのお願いします。
あぼーん
あぼーん
239 :Perl忍者 ◆M5ZWRnXOj6 :2011/01/27(木) 11:56:49 24 :デフォルトの名無しさん:2011/01/23(日) 19:14:51 Perl忍者はPerlすらできないことが判明したからなww できるけど?
Perl忍者はPerlすらできない
お前らはPerlすらできないくせに
Perlみたいな化石使ってろ
Perlと心中
Cみたいな化石使ってろ
>>247 俺らはPerl忍者とか名乗ってませんからwwwwwwwwwwwwwwwwwwwwwwwwwww
Perl忍者はやられてしまったか
Cなんて化石使うなよ
キチガイども乙
キチガイ乙
忍びたちの争い
つスレタイ
(∪^ω^)アルトくぅ〜ん
259 :
Perl忍者 ◆M5ZWRnXOj6 :2011/01/27(木) 22:43:25
忍び4大国の争いがはじまりましたね おや?PHP,Perl,RUby,Pythonだけだと思ってたら他の大陸のゴミどもも混ざってるようですが
忍術見たいです
今の最強忍者はJava
Haskellだろ!
264 :
Perl忍者 ◆M5ZWRnXOj6 :2011/01/27(木) 22:53:19
カクレンジャー世代だったからさ 忍者に憧れてた時代なんだよね NARUTOもでてるし
糞スレ
264 :Perl忍者 ◆M5ZWRnXOj6 :2011/01/27(木) 22:53:19 カクレンジャー世代だったからさ 忍者に憧れてた時代なんだよね NARUTOもでてるし
うざ…ぁ…
うざ…ぁ…
あぼーん
あぼーん
俺は白土三平世代だからさ、忍者になれた時代なんだよね。
あちゃー…こりゃ完全に忍びスレだわ 板違い乙
データシートを見てレジスタに値をセットしてハードウェアの挙動を見るみたいなことってどうやったら自習で学べますか
スレ違い
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
OSが32bitか64bitか調べる為にはどのようなコードを書けばよいでしょうか?
sizeof(char*)
あぼーん
289 :
286 :2011/01/29(土) 00:28:05
>>287 つまりはOSで使われてるアドレスの長さですよね?
char*でもint*でもdouble*でも同じなのでどれで書くべきか
悩んでるんですがなぜcharを選んだのでしょうか?
OSによるからなんともいえないのが正解じゃないか
292 :
デフォルトの名無しさん :2011/01/29(土) 01:05:48
DxLibについての質問なのですが コンソール(フルパス以外で指定したい)?でDxLibのディレクトリの指定の仕方を教えてください。
スレ違い
Perlは何ビットですか?
9bit
WindowsならMSDN引けばそういうのはある
WindowsやMSDNはスレ違い
コンソールのプログラムからAPIを使ったウィンドウを出したいのですが可能でしょうか 今作ろうとしているプログラムは 1.getchで番号を読み込む ↓ 2.番号に応じてプログラムの流れを分岐 ↓ 3.特定の分岐先を選ぶとAPIに切り替わる という風に作りたいのですが、とっかかりが見つからずやり方が分かりません 手持ちのハウツー本や知っているcのサイトを調べてみても説明どころかヒントになりそうな文すら見つかりません やはりコンソールとAPIは切り離して作るしかないのでしょうか というかそもそもファイルの読み書きが精一杯でプログラムから別のプログラムを実行させるやり方すら分かりません。 その辺りの何か良い解説の載ってるサイトか参考書は無いでしょうか
>>299 APIってWindowsAPIのこと?
ならスレ違いだ
ペタンセル
C言語でインターフェースのような機能を実装するにはどうすればいいですか? ここで指しているインターフェースってのはOOPのそれとは別です
じゃぁどのインターフェースなんだよwwwww
UIのことかな
>>304 その通りです
中でもキャラクタユーザインタフェースについてが知りたいです
??? 特別なことをしなくても普通にやってりゃコマンドラインで実行されると思うけど?
それもそうなんですが、それはC言語のインターフェースとして備わっている機能だと思います やりたいことは独自にそういったキャラクターベースなインターフェースを備えたシステムを 作ってみたいということです
シェルを作りたいってことでいいのか?
>>308 そうです
といってもいきなりUNIXのOSで使われているシェルなどは
到底作るのは難しいと思うので、本当に簡単なものから始めようかなと
あれもfgetsで繰り返し入力を取ってるようなもんだよ それを解析してるだけだよ実質的には シェルのインターフェースってんならそれだけだ それともパイプとかサブプロセスとかの機能的な物の実装方法を聞いてるのか?
>>310 入力についてはそういった方法をとっていると私も思います
ちょっと分かり難くて申し訳ないですが、シェルやDOS窓のような
ウインドウ(というか作成方法)と、それに対する仕組み(UI)が知りたいのですが
サンプルなどが紹介されているサイトなどないでしょうか?
その通りですもそうですも全然違うじゃねーかwwww
何がやりたいのかよくわからん。 ウィンドウが作りたいならwin32apiで作れる
作れるね
あぼーん
C言語でWindows機で動く超簡単なOSを作ってください 起動後 Hello from ChokantanOS と表示するだけのOSで良いです
>>318 IPLはCでは書けないからCだけじゃ無理
あぼーん
glibc-2.9のposix/execve.cを見てるんですが2つ教えてください。 1つ目 int 関数名(引数) { } ならわかるんですけど int 関数名(引数) 変数宣言 { } なんて書けるんですか? こう書くとなんか意味あるんでしょうか。 2つ目 #include <stub-tag.h> ってソースの一番下に書いてあるけど こんなふうに書けるんですか? こう書くとなんか意味あるんでしょうか。
324 :
322 :2011/01/29(土) 19:25:29
posix/execve.c より #include <errno.h> #include <stddef.h> #include <unistd.h> /* Replace the current process, executing PATH with arguments ARGV and environment ENVP. ARGV and ENVP are terminated by NULL pointers. */ int __execve (path, argv, envp) const char *path; char *const argv[]; char *const envp[]; { if (path == NULL || argv == NULL || envp == NULL) { __set_errno (EINVAL); return -1; } __set_errno (ENOSYS); return -1; } stub_warning (execve) weak_alias (__execve, execve) #include <stub-tag.h>
325 :
デフォルトの名無しさん :2011/01/29(土) 19:26:09
>>322 > 1つ目
K&R
> 2つ目
書ける。そこにファイルの内容が挿入されるだけ。
あぼーん
327 :
322 :2011/01/29(土) 19:36:34
>>325 > > 1つ目
> K&R
K&Rを買って見てみます。
> > 2つ目
> 書ける。そこにファイルの内容が挿入されるだけ。
ありがとう。
329 :
デフォルトの名無しさん :2011/01/29(土) 19:52:57
>>327 K&R は「古いほう」じゃないと意味うすいぞ
「古いほう」は今では希少なのでぼったくられるの覚悟な
あぼーん
あぼーん
332 :
322 :2011/01/29(土) 21:33:05
あぼーん
334 :
デフォルトの名無しさん :2011/01/29(土) 22:17:58
>>332 そう。最近のK&RはANSIのことしか書いていない。
あぼーん
あぼーん
337 :
322 :2011/01/29(土) 22:36:42
>>334 それでは第1版を買ってみます。
ありがとう。
338 :
デフォルトの名無しさん :2011/01/29(土) 22:48:26
いや、買うほどのことじゃなくて ANSIでは int func(int a, float b){ return 1; } と書くのを、 K&Rでは int func( a, b) int a; float b; { return 1; } と書いていたというだけのこと。 別に買っても悪くはないけど。
K&Rってきめえな
340 :
デフォルトの名無しさん :2011/01/29(土) 22:57:57
>>338 キャストの必要性とか配列の初期化について
今の本で及第点をやれるのは少ないぞ
あぼーん
342 :
デフォルトの名無しさん :2011/01/29(土) 23:11:01
343 :
デフォルトの名無しさん :2011/01/29(土) 23:13:18
蟹汗信者乙
古いK&R買うことはないって言ってるんだろ? 新しいのにはキャストとか配列の初期化の説明がなくなってるのか。
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
PHPの質問してもいいですか?
あぼーん
なんでPerlはよくてPHPはだめなんですか
あぼーん
あぼーん
あぼーん
あぼーん
俺もテトリス作れるようになりたい
俺もWindows 9作れるようになりたい
あぼーん
375 :
デフォルトの名無しさん :2011/01/30(日) 17:43:20
すいません、調べても良く分からないんで教えてください・・ リダイレクトって何でしょうか? リダイレクトできるようにする〜とか 良く聞くのですが、対象は何なのでしょうか? 出力みたいなものですか?
だから初心者はlinuxで勉強しろって言ってるんだ
リナックス使ってるだけで勉強になるのか?
379 :
デフォルトの名無しさん :2011/01/30(日) 19:49:16
Cのプログラムを書けばな
>>375 http://ja.wikipedia.org/wiki/入出力 >コンピュータにおいて特に指定しないときに用いられる(デフォルトの)データの入力・出力を標準入出力と言う。
>キャラクタベースを想定したオペレーティングシステム(UNIX系OS、MS-DOS等)では、以下の種類がある。
(略)
>コンピュータに搭載されているオペレーティングシステムによって、備わっている標準入出力の種類や個数は異なるが、
>通常、そのオペレーティングシステムで扱える他の種類のファイルと同列の存在として扱われる。
>なお、オペレーティングシステム(や実行プログラム)の設計時に標準の入出力先として想定している装置から、
>別の装置へと入出力先を切り替える事を、リダイレクトと言う。
381 :
デフォルトの名無しさん :2011/01/30(日) 20:44:24
何のリダイレクトか書いてない ここがム板であることから察するに宛先の変更だな
あぼーん
>>375 リダイレクトなんか無視しろ、有用に使いたければLinuxいけ。
あぼーん
あぼーん
コマンドプロンプトで実行結果を メモ帳に表示させるにはどうすればいいのですか? これの回答がリダイレクトだったから聞いてるんだろ多分。
HowLinuxWorksを買うんだ。 まずはそこからだ
388 :
デフォルトの名無しさん :2011/01/30(日) 23:37:44
メモ帳を Linux で…いや使えるには使えるが
./a.out >> sample1.txt これじゃ駄目なのか?
あぼーん
>>389 それで自動的にメモ帳起動して表示させることが出来るの?
a.outを実行しその実行結果を自動的にメモ帳で表示するように
リダイレクトするんです
./a.out >> sample1.txt; notepad sample1.txt
それnotepadへのリダイレクトって言うのか
あぼーん
powershellならcatコマンド使えるぞ、良かったな
ファイル操作で sample.datというファイルの中に name A B C D taro 9 7 8 7 jiro 8 3 6 5 sanro 8 9 8 8 shiro 7 7 6 10 とあり各人の平均を計算し高い順に並べ替え表示する場合、 structを使う方法が順当なのでしょうか?
あぼーん
398 :
デフォルトの名無しさん :2011/01/31(月) 02:00:30
>>396 「とある」だけで保証を確認できなければ、俺なら char 配列にしておく
struct は厳重にチェック済みのデータでないと危なくて使えない
>>398 ,399
深夜なのに返信していただきありがとうございます
自分としてはfscanfで無理やりできるかなと思っていたのですが躓いてしまい質問させていただきました。
この問題は一番上に項目があるのがミソだと思うんですがそこがうまく回避できません。
授業でも少し前にポインタと構造体についてやったのでそれを使ってやるのが妥当なのかもしれません。
ですが正直あまり理解できていなくて・・・
方針だけでもご指南していただければありがたいです
401 :
デフォルトの名無しさん :2011/01/31(月) 02:29:32
そんなら最初の1行だけfgetsで空読みすれば あとは問題なかろう
とある配列のインデックス
void average(FILE *fp){ int i=0, n, a, b, c, d; double ave[6]; char *name[256]; char *s[100]; char *fgets(char *s, int s, FILE *fp); while( (n=fscanf( fp,"%s %d %d %d %d",&name, &a, &b, &c, &d) != EOF) ){ ave[i] = (a+b+c+d)/4; printf("NAME %6s average %2.1lf\n", name, ave[i]); } } なんか自分でも何をやっているのか分からなくなっているんですが どこがおかしいかだけでもおしえていただけませんか?
void average(FILE *fp){ int i=0, n, a, b, c, d; double ave[6]; char *name[256]; char *s[100]; char *fgets(char *s, int s, FILE *fp); while( (n=fscanf( fp,"%s %d %d %d %d",&name, &a, &b, &c, &d) != EOF) ){ ave[i] = (a+b+c+d)/4; printf("NAME %6s average %2.1lf\n", name, ave[i]); } } すいません、修正です
4を4.0にしといたほうがいいと思うぞ
char *fgets(char *s, int s, FILE *fp); これって何?
空読み込みのつもりでいれたんですけど ちょっとだけコンパイルがうまくいったんです けど空読み込みはできてないんですけど
それ関数宣言だからwwww そりゃコンパイルは通るけどさwwwww
409 :
sage :2011/01/31(月) 04:45:34
以下の問題がわかりません。構造体やcsvの辺りはいいんですが、全体の流れが 上手くまとまりません。 「複数の異なるデータ型を持つ情報に対して、情報の回覧と追加ができ、 ファイルの読込とができるプログラムを作成しなさい。 たとえば名簿のような物で、氏名、電話番号、住所、整理番号などを 読込、書込、保存をする。可能なら、検索もできるようにすると良い。 複数のデータを扱うために、構造体を持つ配列を使うこと。 また、メンバ数は6個以上の情報を扱うこと。 ファイル形式は、CSV形式で、1つの情報の関連データ(メンバ)はカンマで区切り、 別の情報データ(行)は改行で区別しなさい。ファイル名の拡張子はcsv。 データファイルはプログラム起動時にコマンドラインから入力できること。 また、そうではないことにも対応すること。」
>>404 ・>405も指摘しているが、4で割った結果をdoubleに入れても無意味。doubleに入れたいなら4.0で割るべし。
* 結果が異なってしまう。
・関数宣言と関数の使用がごっちゃになっている。
* 明らかにnameの宣言も使い方もおかしいぞ。
・配列とポインタとポインタ配列の違いが理解できていない。
・辻褄を合わせるためだけの理解できないコードを書くのは止めよう。
取り敢えず、空読みはこうだな。
--
char s[100];
fgets(s, sizeof(s), fp);
--
>>409 名簿管理ソフトみたいなものを作ると言うことなら、読み込みプログラム、書き込みプログラム、検索プログラムを先ず作ってみよう。
そんなのsqliteのAPI使った方が良いだろ
char name[256]でおk
>>414 412じゃないけど、「コンパイル通る」ってところじゃない?
>char *fgets(char *s, int s, FILE *fp);
変数 s を char* と int の両方でつかっちゃってるので
たとえば
>char *fgets(char *s, int n, FILE *fp);
のようにしないとエラーになる。
関数宣言そのものは問題なし。
>>409 引数の数を調べる
ファイル指定されてる→ファイルの内容を読み込む
ファイル指定されてない→ファイル名を入力させる(上手くいくまでループ、または終了指示を可能に)
コマンドループ(永久ループ)
終了→終了
検索→検索して表示
読込→ファイル名を入力させて、読み込む
書込→(ファイル名を入力させて、)書き込む
こういう。
こういうの自分で決めて作ったほうが楽しいのに
それが出来ないんだから
>>418 様に聞いてるんです
このようなプログラムを作ったのですが、 func2の中の「y /= x;」という部分で 「y /= x*x」や「y /= sin(x)」などについても同時に考えられるようにしたいと思っています。 今のままでは「y /=〇〇○;」の数だけ関数を作る必要があるので yとxを関係付ける部分を外に出して、関数が1つで済むようにしたいのですが for文の中にあるものを外に出すことは出来るでしょうか。 ポインタを使えば出来るかと思ったのですが知識不足で行き詰っています。 #include<stdio.h> double func1(double s) { double ans; ans = s*s; return ans; } double func2(double y) { int i; double x=0.0, ans; for(i=1;i<=10;i++){ x = i*1.5; y /= x; ////////////問題の部分 ans += func1(y); } return ans; } int main() { printf("ans = %f\n",func2(10.0)); return 0; }
呼び出す時に与える実引数を変えればいいんじゃないの
>>421 そこは固定したいんです。せっかくレス下さったのにごめんなさい
>>422 y /= x のxの部分を関数ポインタにすればいいかなと思いましたが、
func2の中で呼び出せる関数はやはり一つだけなので、色々なxの関数形を一度にやろうとすると
その数だけのfunc2が必要になってしまいますよね…。
無理に一つにまとめて、なんかいいことあんの?
425 :
デフォルトの名無しさん :2011/01/31(月) 18:15:05
>>423 うん、関数ポインタの出番だね
がんばんな、おまえさん 424 より筋いいぜ
426 :
デフォルトの名無しさん :2011/01/31(月) 19:12:49
>>423 関数ポインタの配列を用意して、ループの外側にもう一個ループ作って呼び出す関数を回してけばいいだろ
あぼーん
配列にする以外に方法ないか?
430 :
デフォルトの名無しさん :2011/01/31(月) 19:24:31
春休みの2週間で、C言語マスターしたいんですが出来ますか? アルゴリズムとかもいじりたいです。知恵袋やgooなどの質問所では ポインタやアルゴリズムで躓く人が多いと聞きました。どうでしょう? ちなみに偏差値40です・・・orz
>>430 2週間根詰めでCを理解出来ないようならその趣味は諦めろ
文法を覚えるだけならできるよ 使いこなせないけど
何か作りたいものがあるとか 目標がないと
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
どなたか教えてくれませんか?解答のない本なので教えて頂きたいです C言語宿題スレが見つからないのでここで聞かせてください Cです 【演習6-9】 要素型がint型である配列を作り、全要素を1〜10の乱数で埋め尽くす(1以上10以下の 値を代入する)プログラムを作成せよ。要素数はキーボードから読み込むこと。 ↑これはできたんですが、 【演習6-11】 異なる要素が同じ値を持つことのないように演習6-9を改良したプログラムを作成せよ。 例えば { 1,3,5,6,1,2 } とならないようにすること(1がかぶっているためNG)。 配列の要素数は10以下であるとする。 実行例 要素数:8 ←入力する a[0] = 4 a[1] = 10 a[2] = 9 a[3] = 1 a[4] = 3 a[5] = 7 a[6] = 2 a[7] = 6 よろしくおねがいします
一体どこを探して見つからなかったのだろう・・・
>>449 >↑これはできたんですが
出来た分は晒せよ
晒したらパクられるし
>>449 出来たけどそのままパクられるから晒さないわ
>>447 struct seiseki std[5];
for(i=0;i<5;i++) {
fscanf(infp,"%s %d %d %d %d %lf", std[i].name, &std[i].ko, &std[i].sa, &std[i].ri, &std[i].sh, &std[i].ave );
}
あぼーん
>>457 返信ありがとうございます
char s[100];
fgets(s,sizeof(s),infp);
struct seiseki std[5];
while(fscanf(infp,"%s %d %d %d %d", std[i].name, &std[i].ko, &std[i].sa, &std[i].ri, &std[i].sh) != EOF)
std[i].ave=( std[i].ko+std[i].sa+std[i].ri+std[i].sh)/4.0;
参考にさせていただいてこのようにしました。
ですがコンパイルまではできたのですがいざ実行するとセグメンテーション違反になってしまいます。
これがファイルの中身になります
Name kokugo sansu rika shakai
Taro 90 80 70 60
Hanako 100 60 60 100
Ichiro 80 100 100 60
Jiro 95 90 95 80
Saburo 73 85 90 98
深夜遅くに申し訳ないんですがどこを弄ればうまく実行されるかアドバイスがいただきたいです
よろしくおねがいします
分からんけどiの値をインクリメントしなくて良いの?
>Name kokugo sansu rika shakai 後ここの段ちゃんと飛ばしてる?
>>460 やってみましたがセグメンテーション違反のままでした
プログラム自体にはおかしいところはないということなのでしょうか・・・
>>461 >fgets(s,sizeof(s),infp);
一応これで空読み込みしているつもりなんですが・・・
>>465 ,466
int i=0;
でいいんでしょうか?
やっぱりセグメンテーション違反のままですorz
本当にこんな深夜なのに返信していただきありがとうございます
>>467 //fgets(s,sizeof(s),infp);
何でコメントアウトしてんの?
同じセグメンテーション違反でも、毎回違うところで出てる気がする…
>>468 できたました;;
ああ、あほだ俺
ホントこんな時間までお付き合いしていただいてありがとうございました
どんなに感謝してもしきれないです
ホントにありがとうございましたm(_)m
あぼーん
あぼーん
あぼーん
474 :
ドヤン :2011/02/01(火) 17:46:58
あぼーん
あぼーん
あぼーん
479 :
デフォルトの名無しさん :2011/02/01(火) 20:33:14
今まで専門用語やたら使う人は意地悪な人だと思ったけど、知識として 頭に入るとその用語使うと便利なんですよね、自分でもって実感しました。 本当すいません。
480 :
デフォルトの名無しさん :2011/02/01(火) 20:39:12
てけとーにビルドしてみて undefined symbol メッセージに主導権をゆだねる人たち
あぼーん
482 :
デフォルトの名無しさん :2011/02/01(火) 22:21:18
コマンドプロンプトとメモ帳とgccでC言語の勉強をしています。 メモ帳で"あいうえお"と書いたファイル,ファイル名aiueo(拡張子はtxt)を作って デスクトップ上に保存しました。 それなのに コマンドプロンプト上で dir aiueoや dir aiueo.txt など としてもファイルが見つかりませんとなります・・・orz 何故でしょう?
484 :
デフォルトの名無しさん :2011/02/01(火) 22:25:46
>>483 コマンドプロンプトスレがないんで・・・
頼みます・・
明日提出なんです。
>>482 カレントディレクトリにデスクトップを指定してないから
486 :
デフォルトの名無しさん :2011/02/01(火) 22:29:54
>>485 あぁパスを移動させたらいいのですか?
確かcdでしたよね?
cd desktop
dir aiueo txt.
でいいのでしょうか?
コマンドシェルのソースを明日提出しなければならないのです。
一応ニコニコ動画の"ニトリが教えるプログラミング講座"で
コマンドプロンプトだいたい理解したつもり何ですが・・
lsとcd で自分で探せカス
みんなスルーしようぜ ここは宿題スレじゃねぇんだ
>一応ニコニコ動画の"ニトリが教えるプログラミング講座"で >コマンドプロンプトだいたい理解したつもり何ですが・・ な?
490 :
デフォルトの名無しさん :2011/02/01(火) 22:33:55
cpad で実行押すとCpad 自体が消えるんだがどうすればいい?
491 :
デフォルトの名無しさん :2011/02/01(火) 22:34:27
>>482 cmd を起動したときのカレントディレクトリ(カレントフォルダ?)がデスクトップに対応するところになっていないので、aiueo.txt が見つけられません。
私も、デスクトップに対応するディレクトリ(フォルダ)がよくわからないので、デスクトップにあるファイルを dir で見つける方法はわからないのですが、
たとえば、
@c:\ の下に aiueo.txt を保存する。
Acmd.exe を起動する。
Bcmd 上で、「cd c:\」を実行する。
Ccmd 上で、「dir aiueo.txt」を実行する。
とどうなりますか?
あぼーん
デスクトップはホームディレクトリ直下にあるだろ普通
あぼーん
毎回思うんだが2chで質問出来るのに何でgoogle先生に聞かないのか 多分釣りだな
あぼーん
498 :
482 ◆boczq1J3PY :2011/02/01(火) 22:39:28
>>492 デスクトップというディレクトリはCドライブに直属するのですか?
答えてる奴もいい加減にしろよ
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
505 :
482 ◆boczq1J3PY :2011/02/01(火) 22:42:28
>>496 検索エンジンからの検索はサイトの選別が難しいにも程があるのです。
砕いて教えてくれる掲示板が最適なのです。
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
520 :
482 ◆boczq1J3PY :2011/02/01(火) 22:49:21
>>492 ありがとうございます。Cドライブディスクに直接ファイルを移動させて
そのオーダーを実行すると
↓↓↓
c:\のディレクトリ
ファイルが見つかりません
c:\dir aiueo.txt
ドライブCのボリュームラベルがありません。
ボリュームシリアル番号は〜〜番号略〜です。
c:\のディレクトリ
2003/01/012 3:31 12 aiueo.txt
1個のファイル 12バイト
0個のディレクトリ 108.333.333234バイト
↑↑
となりました。
ボリュームラベルがないって何でしょう
あぼーん
あぼーん
見つかったか、良かったなー
そろそろggrksと言わざるを得ない
おせーよ
サドルマン
一つの釣りでここまで荒れるところがCスレらしい。
後釣り宣言wwwwwwwwwwwwwww
あぼーん
お前らガンガン釣れるなww 良い釣り場だぜwwww
本当によく釣れるwwwwwwwwwwwwww
顔真っ赤だな
釣り堀だあnwwwww
これぞ糞スレ
なすびwwwwwwwwwwwwww
糞の立てたスレだからね
宿題スレでガチで聞いてるしw
538 :
482 ◆boczq1J3PY :2011/02/01(火) 23:01:45
とりあえず c:\は初めて知りました、ありがとうございます。 後は自分で調べますね。
>>520 ほ、ほーっ、ホアアーッ!! ホアーッ!!
釣られた奴ざまあwwwwwwwwwwwwww
542 :
482 ◆boczq1J3PY :2011/02/01(火) 23:03:57
>>537 ちょww
俺じゃありませんw
ネタでしょうね。
留年はちょっと大げさでした、本当に留年する可能性もある人がいるので
発言は控えます。
他人のフリwwwwwwwwwww
ここで教えたら叩かれることが目に見えてるな
この手の奴らは手段を選ばないからな
宿題スレであわよくば答えを得ようとしたのか
まず、C言語の話じゃない
ビットシフトはなんの役に立つのですか?
C使いはハッカーの登竜門
答えが貰えないふいんき()わらた
553 :
482 ◆boczq1J3PY :2011/02/01(火) 23:11:19
いやでも思うんですが、宿題スレは目的がはっきりしてるから
スレが荒れにくいですね。
>>545 逆に
情報系の学生、日本に何千何万といるはずなのに、何で質問する人
少ないんでしょう?しつこく食い下がって質問する人いないよね。
なんでコイツ開き直ってんの? なんで急に評論()し始めちゃったの?
まぁこのスレ雑談で消費してもイイじゃんw
糞コテ・・・
風のクロノアってPSPで出ないの?
うーうー
>>553 普通のアタマしてたら少し調べたらわかるからwwwwwww
評論()お疲れーッス
オセロとかELIZAとかのC言語のソース見てみたいんだけどどっか良いサイトない?
ELISA
ELISAって精神科のカウンセラーの?
まさか俺以外にも精神科のELISAを知ってる人がいるとは
なんたって精神科に通ってるからな
精神科のELISAを知らない奴はエセ
俺も俺も
>>498 いいえ。私の環境では、
C:\Documents and Settings\Administrator\デスクトップ
ですけれども、他の人はちがうとおもうのです。
糞トリまだいたのか
うむ
>>570 お前が消えろよ
ここは糞スレなんだから糞じゃない奴は消えろ
どう考えても糞スレ
高度な糞レス出来る奴はいないのかよ
おしっこ飲んでるけど、なんで?
いや、
>>578 は結構深いよ。分かる奴には分かるって感じかな
え?
>>579 が糞レスなんだろ?
え?マジレス?嘘だろwwww
嵐でマジで報告した お前ら規制されるわざまぁ
糞レス度が高い→良レス→良いのか糞なのかw
規制されても書き込めるからな
てかしょっちゅう"だからLinuxをやれと〜"とかいう書き込みあるけど C言語とLinux関係あるんですか?Linuxって古いOSですよね?CでWindows aplication作れるのだから、Linux環境とか必要なくないですか?
Unixと間違えてね?
Linuxこそ至高
Linuxって古いOSですよね?(爆)
釣り検定としては良いとこいってる
だがマジレス希望なんだが、GUIのWindowsアプリが旬なんだから、Linux環境 何て必要なくね?
お前が言ってるのは、C言語なんて勉強しなくていいということ。 Cで文字列処理、CでGUIアプリ、CでWebプログラミング…馬鹿の極み。
>>593 だからLinuxやる意味ってあんの?マジレス希望。
Windowsだけやっとけばいいと思う。Linuxが持ってる機能に変わる
ツール何て山ほどあるでしょ。
お前が使ってる家電のなかにLinuxが入ってるんだが
まともに理由を説明出来ないのでは?
>>595 LinuxとWindowsどっちがAPI凄いよ、んなもんWindowsに決まってるだろ。
>>597 まずオープンでないという点で論外ということ
それにデカければ良いという問題ではない
お前が言ってるのはWindowsでC#を使えば最強てことだけど
趣味でやるならまさにその通りだよ
でも旬とか関係なく、例えばお前が閲覧してるサイトのサーバーとかさ、Linuxは使われてるよ
鯖はLinuxとかいつの時代だよ
Windowsだけの時代の方がよっぽど終わりに近づいてるだろ Windowsの携帯端末は糞過ぎ あとWindowsのコマンドプロンプトもネットワーク周りも糞 プログラミング初心者ならWindowsプログラミングより断然Linuxプログラミングだわ
趣味でやってる奴なんていくらでもいるだろ ゲームを作りたいからプログラミングを勉強したいって奴もよく見る ゲームが好きなら買ってやってればいいだろと思うが
いやいやWindowsはどんなツールもインストールできるじゃん、優れものだよ。 Linuxってそもそもどこで仕入れるの?携帯でWindowsというか、それはサイズ 集積回路の規模の違いだろw
linux使ったことないんだな。大学のPCに入ってるはずだが 自宅で使いたいならVirtualBoxにUbuntu入れてみれば どんなツールでもインストール出来るよ^^
そもそも初めからCだのpythonだのプログラミング環境が入ってる
どうせWindowsを使いこなす初心者が憎たらしいだけだろ、Linux推してる人は。
蒸し返すが、なんでコマンドプロンプトにフォルダをドロップしないんだ?
コマンドプロンプトの話はスレ違いです。 コマンドプロンプトスレでやってください。
開発環境の話だろ
開発環境の話はスレ違いです。 開発環境スレでやってください。
どうせ糞レスしかないんだから何の話をしたって良いだろ なんでプログラミング関連の話だけスレチなんだよ
図星突かれてまた糞レス
あんどろいどはりなっくすべーすだよ ぐるぐるのくろーむも
>>612 どこにプログラミング関連の話があるって?
613 :デフォルトの名無しさん:2011/02/02(水) 07:37:18
>>612 ばーか^^
614 :デフォルトの名無しさん:2011/02/02(水) 07:37:54
図星突かれてまた糞レス
脊髄反射ワロタw
618 :
デフォルトの名無しさん :2011/02/02(水) 07:52:36
あるコマンドがインストールされているか、すなわち使えるかどうかを Cプログラムから調べる方法をおしえてください 。
なんで
>>619 はいちいち反応しちゃうの?w
悔しかったの?w
617 :デフォルトの名無しさん:2011/02/02(水) 07:52:16 619 :デフォルトの名無しさん:2011/02/02(水) 07:54:03 1分47秒か…
>>618 「使える」という状態が何を指すかによっても違ってくるので、具体的にどうぞ。
環境にも依存しますので、汎用的な回答は難しいかと。
625 返信:デフォルトの名無しさん[sage] 投稿日:2011/02/02(水) 08:05:11
>>621 30秒乙
626 返信:デフォルトの名無しさん[sage] 投稿日:2011/02/02(水) 08:05:37
>>621 そうだね、悔しいよね
628 :
デフォルトの名無しさん :2011/02/02(水) 08:07:03
糞スレ
631 :
デフォルトの名無しさん :2011/02/02(水) 08:08:08
ロシヒカリ
ほ
どうせ糞レスしかないんだから何の話をしたって良いだろ なんでプログラミング関連の話だけスレチなんだよ
結局こういうときの返しって「つ鏡」に落ち着くんだな
ロシヒカリ
俺も1時間でテトリス作れるようになりたいなぁ
>>639 お前も人のこと言えないぞ
どっちも五十歩百歩だわ
>>641 悔しいも何も、お前が糞レスしかしてないのって事実だろ
反論出来ないだろ糞レス野郎死ね
>>642 お前誰だよwwwwwwwwwwwwww
第三者視点ワロタwwwwwwwwwwwwwwww
お前は何歩だよwwwwwwwwwwwwwwwwwwww
643 :デフォルトの名無しさん:2011/02/02(水) 08:13:40
>>641 悔しいも何も、お前が糞レスしかしてないのって事実だろ
反論出来ないだろ糞レス野郎死ね
これって糞レスだよね
ウナギ
>>645 だから糞レスして何が悪いんだ?最初からそう言ってるのに
お前がそれを否定してきたんだろ
>>642 お前誰だよwwwwwwwwwwwwww
第三者視点ワロタwwwwwwwwwwwwwwww
お前は何歩だよwwwwwwwwwwwwwwwwwwww
>>642 お前誰だよwwwwwwwwwwwwww
第三者視点ワロタwwwwwwwwwwwwwwww
お前は何歩だよwwwwwwwwwwwwwwwwwwww
またコピペ厨か。こいつ自分の意見ゼロだから面白くないんだよな
このまま
>>1000 まで行くんだもん
>>653 お前誰だよwwwwwwwwwwwwww
第三者視点ワロタwwwwwwwwwwwwwwww
お前は何歩だよwwwwwwwwwwwwwwwwwwww
意見出せよ
レス評論家が来てるのか
コイツは録音された音声が再生される人形のようなもんだ 人形に話しかけても意味がない
さんざん話しかけてる奴はいい加減にしろってことだな
Linux
コピペ厨が何食わぬ顔でレスしてるのかと思うと笑える。お前のことだよ、お前
え
お前のことだよ、お前 これも使い古されてるなぁ
しゅっしゅ
しゅっしゅ これも使い古されてるなぁ
早く意見出せよ
コピペ厨はカス
早く意見出せよ これも使い古されてるなぁ
ぴろぴろ
これも使い古されてるなぁ これも使い古されてるなぁ
あぼーん
使い古されてる これも使い古されてるなぁ ぴろぴろ これも使い古されてるなぁ
コピペ厨w
このパートスレの最近の方は、半分以上こんな感じのコピペで埋まってるんだよ
ほかでやれバカ
Cに手を出してみたはいいけど、頭悪すぎて理解できなかったクズが悔しさをごまかすために荒しになった
コピペ厨に勝ったぞ
意味ないよ。また出てくる
でも俺の勝ちであることに変わりはない このスレの住人も俺を支持しているし
反論できないコピペ厨wwwwwwwwwwwwwwwwwwwwwwwww
まじで圧倒的勝利すぎてつまらん
全部コピペ厨の自演かよ。キモすぎ
とりあえず自演って言っておけば勝てた気がする
またコイツかよ。そのレスいつかのスレでも見たわ
自演乙
DT
Perl忍者来いよ
嵐で報告した
俺も俺も
じゃあ俺も
いやいや俺が
693 :
デフォルトの名無しさん :2011/02/02(水) 19:22:20
なるぽ
さあ、やるぽ
めるぽ
呼んだ?
キャアアァァァァシャベッタァァァァアアアア!!!!!!!!!!!
699 :
デフォルトの名無しさん :2011/02/02(水) 22:07:09
ユーキャンのこっちこっちってCMマジ腹が立つんだがお前らどう?
誤爆すまそ
703 :
デフォルトの名無しさん :2011/02/02(水) 23:11:15
static void Hoge(unsigned char Data) { unsigned char Result[MAX]; unsigned char* Ptr = Result; *Ptr++ = Data; *Ptr++ = Data; *Ptr++ = Data; *Ptr++ = Data; } このようなソースがあったのですが、 Ptrを使うメリットってあるんでしょうか? Result[0] = data; Result[1] = data;みたいに配列を使って書けばよくないですかね?
誤爆にマジ腹が立つんだがお前らどう?
>>703 ポインタ(やインデックス変数)を使わない場合、0、1、のように要素番号を定数で書かなければいけない。
その例なら、ループにするのが常道だろうけど。
707 :
デフォルトの名無しさん :2011/02/03(木) 00:22:43
最適化に丸投げなやつって、こういうとき無口なんだよな
コンパイラが何とかしてくれるだろ
709 :
デフォルトの名無しさん :2011/02/03(木) 03:22:16
>>703 マジックナンバー使うなって怒られたじゃね?
まぁ、この場合、マジックナンバーの方がましだけど…
NullとEOFの違いって何ですか どちらも、数字として使える開発済みの文字ですか?
>>710 NULLは「ポインタとしての0」を表す。
厳密には、ポインタが現れるべきところに存在する0がNULLポインタとみなされる。
定数NULLの値は0だったり((void *)0)だったり((char *)0)だったり環境によってまちまちである。
0もしくはNULLと書けば問題なし。
EOFはファイルの終端を表す。
一般的には-1であることが多いが、環境依存なのでEOFと書くべき。
あぼーん
あぼーん
ここを荒らしてるやつらは何がしたいんだろうねぇ。
Windowsのcmd.exeの話を板違いと言うならここに誘導ぐらいしてやれよ
http://hibari.2ch.net/test/read.cgi/win/1243134619/ >>703 通信ソフトでの電文作成などでデータの配置がダイナミックに変化するような場合、
unsigned char* でとったポインタを必要に応じてキャストしながら進めていくことが割とある。
データ設定の中に
*(Type*)Ptr++ = Data;
とかがあればそれだな。
そういうののプロトタイプだったり、そういうのを作ろうとしたが結局文字だけだったとかいうオチもあるかも。
中身がDataだけなら>706のようにループでいいけど、 中身が順次変わるのならポインタを使うか、インデックスを使うか。 例えばこんな感じ。 -- *Ptr++ = 'h'; *Ptr++ = 'o'; *Ptr++ = 'g'; *Ptr++ = 'e'; *Ptr++ = '\0'; -- int idx = 0; Result[idx++] = 'h'; Result[idx++] = 'o'; Result[idx++] = 'g'; Result[idx++] = 'e'; Result[idx++] = '\0'; -- このブロックだけで見れば最後のインクリメントは(当然)必要ないけれど、 他のブロックでも使う場合に備えて敢えてインクリメントしておくこともしばしば。
もうすこしマシな例でお願いしますよ・・・ほんと。
自分の信じる道を行けばいいですよ・・・ほんと。
まだコマンドプロンプトの話してたの? 馬鹿じゃね
糞スレ
このスレではhogeではなくhohhoを使うんだよ
あぼーん
C言語なら糞に聞け
Cygwinコマンドのcatというコマンドボタンを cygwin画面で使いたいんです。 cat (option)[file name]が形式なんですが、file nameはten.cとします。 cat option ten.c としたんですが、エラーが出ました。 optionって何ですか?optionコマンドってあるんでしょうか? ちなみにten.cの中身は #include<stdio.h> int main(void) {int i; i=1; printf("%d\n",i); }
optionは省略可
オンラインゲーム リネージュ1のアイテム増やしまくる ソフト作ってください お願いです どうすればいいですか? 教えてください
運営にばれたらBANされます 僕が言ってるサーバのIPアドレスはこれです 61.215.117.34 パケットとかおくってアイテムふやすほうほうおしえてください
NGワードに登録してる俺にスキは無かった
unsigned long Test[] = {0x11223344,0xAABBCCDDEE,0xFFFFFFFF}; という配列があるとします。要素数は増えるかもしれません。 int hoge(unsigned long data){
733 :
デフォルトの名無しさん :2011/02/04(金) 00:31:30
unsigned long Test[] = {0x11223344,0xAABBCCDDEE,0xFFFFFFFF}; という配列があるとします。要素数は増えるかもしれません。 int hoge(unsigned long data){ } という関数に、この配列を先頭から順番に渡したいのですが、どうかけばいいでしょうか? int i=0; while(1){ hoge(Test[i]); i++; } みたいな感じでしょうか?
あぼーん
for(i=0;i<3;i++){ hohho(Test[i]); } でいいとか言う突っ込みは無しだよな?負けたわ
要素数が固定じゃないなら、どこかでその長さを取得するか 配列の最後まで参照したということを確認しないといけないだろ
イカのように配列の長さを求めてfor文するのがいいでしょう。 range-based forはいつになったら実装されるのだ。 size_t i, end = sizeof Test / sizeof( unsigned long ); for ( i = 0; i != end; ++i ) { hoge( Test[i] ); もんしえーる?
>>736 配列の最後かってわかりませんよねえ?
やっぱ長さ取得するしかない?
>>738 配列の要素にルールを決めればいい
番兵とか言うんだけど、最後に特別な値を決めておいて
それが出てくるまでループとか
echoってファイルのテキストを書き換えるコマンドなんですか? 使い道が良くわかりません。
例えば, t.txt ↓ 123456789 というファイルがあたとして これを 123456789+1=123456790 と書き換えたい場合どうしたらいいですか?echoを使って。
いい加減寝ろよw
>>742 echo 123456789+1=1234567890 > t.txt
>>744 ありがとうございます。
echoの使い方わかりました。
echoの使い方乗ってるサイトないんですよ・・・
普通にあるが
gccを使ってるんですが、シェル端末ってメモ帳でもできますか? gccの場合、プログラム実行の際の端末はどうすればいいんですか?
このスレにエスパーはいませんかー?
cmd.exe?
>>703 /* 結果は同じ */
unsigned char Result[MAX];
unsigned char *Ptr = Result + 4;
memset(Result, Data, Ptr-Result);
/* 結果は異なるが、問題ないと思われる */
unsigned char Result[MAX] = {Data, Data, Data, Data};
unsigned char *Ptr = Result + 4;
>>748 コンソールの実行プログラムを作って他人のPCへ送りたいんですが、
メモ帳開いて実行できたら良いと思ってるんです。できませんか?
メモ帳開くと、標準入力からプログラムが始まります。
出力も当然メモ帳で・・
メモ帳端末は無理ですか?
気持ちイイです
>>739 sizeof(Test)/sizeof(Test[0])
が最良だとは思わないかね
ソースコードがメモ帳何で、端末もメモ帳にしたいです。 無理ですか?他人のPCに送るので仕様が同じようにならないといけないんで。
>>751 他端末のメモ帳にデータを送るってことか。
実行ファイルを作って、その子プロセスとしてメモ帳を起動する
親プロセスはソケットでコンソールの実行プログラムと通信をして、随時子プロセスに描画
それともプロセスIDさえ分かればメッセージ飛ばしていけるんだっけ?
メモ帳でやる意味が分からない
>>755 よくわかんないけど
出力をメモ帳にしたい、端末がない。プログラミングできない。
出力をcmd.exeにする、端末にcmd.exeを使う、プログラミングはがんばる それぐらいしか。
cmdですか。 cmd出力のexeファイルの作り方がわからんです・・
まずはhello worldを作ってみたらどうですか。
コンパイルはできて実行できるけど、exeファイル探してもどこにも ないんですが・・ソースプログラムはフォルダにちゃんとあるけど。 exeファイルって抽出できないの? Windowsアプリの場合はexeファイル当然だけど、コンソールの場合は ないんですか
開発環境を書かないのはまともに答えて欲しくないから? 使ってるコンパイラのマニュアルを読めばいいとおもうよ。
VCならリリースにすると良い
リリースにしないとexeできないんだ
a.out
cygwin上でビルドしたものはそのままではWindowsネイティブアプリとして動作しない
cygwin1.dllがないから開けませんってなります・・・ cygwin1.dllってcygwinDLした際どっかのディレクトリにありますか?
あ あ あ
>>769 そうですか、Unixダウンロードするのも面倒だし、提出すればいいだけなので。
教師はたぶん実行できる環境にあると思いますから。
今日提出して単位なんとしてもとります。
スレの私物化余裕でした
ここの住人は人が良過ぎ
ふむふむ
my @アデナ=1; push @アデナ,0 while @アデナ<7; 100万アデナ増殖チート!!!!!!!!!!!!!!!!!!!!!!!!!
あぼーん
あぼーん
>>770 windowsのファイル検索機能マジオススメ
Cygwinの/binをWindowsの環境変数PATHに入れとけ
-mno-cygwin みたいなの
宿題の質問はほとんど釣り。宿題スレあるんだからさ
◆QZaw55cn4c氏ね
キンコンカンコン、キンコンカンコン 今週のドカタ業務終了しました
きゅ、9分もオーバーしたじゃないか! 謝罪と賠償を要求するニダ!
788 :
デフォルトの名無しさん :2011/02/04(金) 17:31:33
ホールド時間にがたがた言うくせに セットアップ時間は守らないやつ
ロシヒカリ
関数の中では因数の部分は宣言しなくていいのは何故? int Direct(int x) { int x; 略 } とするとエラーが出ます。
791 :
790 :2011/02/04(金) 19:46:38
間違えた、因数じゃなくて引数だな つい「いんすう」と読んでしまうがホントは「ひきすう」なんだよな
そういうものだから
C言語を作った人がそういう風にしたから 三角形の面積はなんで底辺×高さ÷2なんですか? 昔の人がそういう風に決めたから
795 :
790 :2011/02/04(金) 19:54:37
>>791 フォローありがとうございます
関数の中では引数の部分は定義しなくていいのは何故?
こうでした
int Direct( int x ) ここで宣言してるんだよ
>三角形の面積はなんで底辺×高さ÷2なんですか? >昔の人がそういう風に決めたから これは笑うところなんだろうか…
本気でそう信じてるのかもしれん
>>798 C言語を作った人がそういう風にしたから
三角形の面積はなんで(高さ×底辺÷2ではなく)底辺×高さ÷2なんですか?
昔の人がそういう風に決めたから
流れからしてこういう事でしょ
801 :
デフォルトの名無しさん :2011/02/04(金) 21:31:10
> 三角形の面積はなんで底辺×高さ÷2なんですか? そうならないケースに気をつけてこそ、ここで話す意味があろうに
>>800 お前本人だろ
その流れ()はどう考えても無理矢理過ぎる
> 三角形の面積はなんで(高さ×底辺÷2ではなく)底辺×高さ÷2なんですか? > 昔の人がそういう風に決めたから 別に決まってないお^^
面積なら昔の人に聞け
逆に未来の人には何を聞いたらいい? ただし一つしか聞けないという条件で
C言語なら俺に聞け
それが最も簡単で正確な出し方だからだろ 効率化した結果がそれ
面積についてはスレチだろjk
無理な例え出さなくても
>>796 でFAしてんだろうが
>>807 数式については常識なんですが^^
「高さ×底辺÷2ではなく底辺×高さ÷2」について何か言えよこら^^
>>802 別人だよ
自分の意見に似合わないから
全て同一人物の仕業と思い込む
ってのは病気
論点がおかしいんじゃねww 結局は(高さ×底辺)÷2だから中が入れ替わっても同じだろ
そんなこと言っても無理矢理な喩えであることは変わらないのにねぇ
>>803 >>809 決めた=便宜上定めた
で分かるかい?
規格化、標準化、共通認識、車輪防止策
C言語でも同じでしょ
>自分の意見に似合わないから 笑うところ?
>>814 自分の意見に似わないから
だな
デリミスぐらいで厳しいな
>>813 「高さ×底辺÷2ではなく底辺×高さ÷2」と規格で決まってるのかい?
というか、お前はなんだか、この公式の根拠について話してる気がしてならないのだが
え
古語を出してきて「共通認識が〜」とか良く言えるよなw
車輪防止策にも突っ込んでやれよ…
ロシヒカリ
自分の意見に合わない、じゃねーの? そろそろガチでスレチだと言いたいが雑談だし良いか
825 :
デフォルトの名無しさん :2011/02/04(金) 22:33:58
何言っても苦しくなるだけ 面積の話が無理矢理な喩えであることに変わりはない
じゃあお前ら俺の面積の代わりにいいたとえ出してみろよ
底辺×高さ×高さじゃ計算できないよね だから底辺×高さ÷2と「便宜上定めた」んだよ C言語も一緒 これで分かったかい?
はやく面積の規格さらせよ
江戸間 とか 関西間 とか
面積の規格 cm^2 (一例)
面積の規格書、面積の規格書
数学できない奴が数学を例に出すからこうなる
面積だけに免責してやろうじゃないか!
はい
yahoo知恵遅れでやれ
yahoo知恵ぶくれ ってのがあったなぁ
四角い状態からだんだん丸く線を引いていくのってどうやったらできますか? 言葉だと分かりづらいのでできればサンプルコードをお願いします。
アニメーションGIFの規格をくれ
じゃあいいや
>>842 まずはお前の説明から分かりづらいのでできればアニメーションGIFでお願いします
関数を呼び出すとき stelsfire(int a); じゃなくて stelsfire(a); と引数は無視できるんですか?
引数無視してないじゃん!
引数じゃなかったです、intです、何だっけdoubleとかfloatみたいな。
型
むしろ型の宣言なんかしてたらプロトタイプと紛らわしいじゃん
関数呼び出しの文法は postfix-expression( argument-expression-list_opt ) これが argument-expression-list assignment-expression argument-expression-list, assignment-expression …と、ぐるっと回って、結局、primary-expressionの中の identifier(識別子)、constant(定数)、string(文字列) のいずれかに集約される。 この中にdecralation-specifieres(指定子)がないので、 つまり関数の引数リストに int a のように書くのは不可。
質問なんですが、cygwinの端末に出力される文字列をメモ帳とかに コピーする方法ってありますか?出力結果が長いと手作業だと疲れるんです。
リダイレクト
teeコマンド使えよ。
このcygwinさんがんばるなぁ。 向いてないとも思えるが、なんでcygwinなんだか。
宿題とか言ってなかったか? ここ宿題スレじゃないし、このレベルだと先生に聞いた方が良いと思うが
>>858 いや、すでに表示されているものをごっそり
コピーする方法ないですかねぇ?
>>860 徹夜×3日連続です・・・
しばらくROMります・・・
>>857 ウィンドウタイトルバー(青いところ)で右クリック
→編集
→範囲指定
→マウスで範囲指定
→ウィンドウタイトルバー(青いところ)で右クリック
→編集
→コピー
でコピペできます。
500円です
私は処女ですが… それが何か関係あるのですか?
処女が優遇されるなら童貞も価値が上がっていいはず
統計分析、機械学習、データマイニング、集合知をC言語で扱う場合は このスレでいいんですよね?
R使えよ
L使えよ
874 :
デフォルトの名無しさん :2011/02/05(土) 19:07:22
抵抗をコイルに変えたら、それでどうなるんだ
あーあ、やっちゃったねw
パッドでリターンロス良くしていたのを Π-Lマッチングにしてロスを少なくしてリターンロス良くするんですよ でね、今は集中定数回路じゃなく分布定数の マイクロストリップラインを使ったほうが良いね
もしかして面白いと思ってるんだろうか
日本語でおk
I am a pennis.
あのさ なんでこんなクソスレたってるのかな? 少しはPerlスレ見習えよな? このスレ見る限り、カスしか書き込みしてないようだけどさあ 俺に聞けとか言って全然わかってねえじゃんかよなあ? っでさあ perldocって知らないだろお前ら?
(キリッ
We are KUSOs, and we are here.
糞スレBANZAI
サテライザー=エル=ブリジット
886 :
デフォルトの名無しさん :2011/02/05(土) 23:10:05
実装って何ですか? よくわかりません。
変数サテライザー、エルに変数ブリジットの内容をコピペと
889 :
デフォルトの名無しさん :2011/02/05(土) 23:14:54
開発では「仕様を書くこと」を言う
>>886 やりたいことを実現するための具体的な手段。
やりたいことが「ある数を与えたら1つ増やして返す関数」だとしたら、
return n + 1;
がその実装の一例。もちろん実装手段はこれ以外にもたくさんある。
>やりたいことを実現するための具体的な手段 下請けに丸投げすることか
その通り
int 受注( 仕様, 開発費用 ) { return 丸投げ( 仕様, 開発費用/2 ); }
int ぺろぺろ(仕様) { return ぺろぺろ(仕様 - 1); }
おすすめの入門書を教えてください
ロベールの翻訳は分かりやすい
ロベールの原著が見つからない
ロベールこそ至高
ロベール
904 :
デフォルトの名無しさん :2011/02/06(日) 16:06:01
試験のデータをこのように表示するプログラムを作っているのですが、scanf("%d",&score);より下が分かりません。 0-9 0人 10-19 1人 … 90-100 10人 人数は最初に読み込みます。 #include<stdio.h> int main(void) { int n; int score; int i; int count; scanf("%d",&n); for(i=0;i<=n;i++){ scanf("%d",&score); } { scanf("%d",&n); if(n>=0&&n<=9)count[n%10]++; printf("%d-%dは%d人/n",count[i],i*10,i*10+9); } } どなたか教えていただけたら嬉しいです
ロベールに書いてあるよ
ロベールの翻訳はわかりやすい(ループ)
908 :
デフォルトの名無しさん :2011/02/06(日) 16:24:54
そうだそうだ!
>>904 そういう問題では普通遺伝的アルゴリズムを使う
#include <stdio.h> int main() { int i, n, score, cv[ 10 ] = {}; /* 入力 */ printf( "人数?:" ); scanf( "%d" , &n ); /* データ件数を読む */ for ( ; n != 0; --n ) { scanf( "%d", &score ); /* 点数の読み込み */ ++cv[ score == 100 ? 9 : score / 10 ]; /* 各階級への振り分け */ } /* 出力 */ for ( i = 0; i != 10; ++i ) { printf( "%d-%d %d人\n", i * 10, i * 10 + 9 + ( i == 9 ), cv[ i ] ); } } おまいらひどいな^^
911 :
デフォルトの名無しさん :2011/02/06(日) 16:58:55
? : 三項演算子はgo文並に禁止すべきだと思うんだがどう思う?
912 :
デフォルトの名無しさん :2011/02/06(日) 16:59:54
goって上野樹里?
Golf する時に困るんじゃないの
そんな話は聞いたことないけどしたいならそうすればいいんじゃない? それより、 i * 10 + 9 + ( i == 9 ) は意図したとおりに動かないね。
>>914 動かないというなら、どこが、どういった理由で動かないのか、説明しないといけないよね
問題ないように思える人はもう一度Cの規格票をよく読むんだ^^
…というのも不親切なので答えをいうと i == 9の部分はtrueの時1になることを想定しているけど (90-100の階級幅だけ11あるので、ここだけ特別処理にしている) Cの規格上はtrueは0以外の整数であればなんでもいいことになっているので 実装にっては「90-100」のような表示にならない可能性があるってことなのよ^^; ここは printf( "%d-%d %d人\n", i * 10, i == 9 ? 100 : i * 10 + 9, cv[ i ] ); のようにすべきでした。
って、答えを書いているうちに即レスするんじゃない貴様ら^^ ちなみに、この「trueは0以外の整数」というのは Cではけっこう重要な落とし穴なので初学者は覚えておくといいよ^^
925 :
デフォルトの名無しさん :2011/02/06(日) 17:41:22
>>923 > Cの規格上はtrueは0以外の整数であればなんでもいいことになっているので
嘘つくな。
Cでは、組み込みの演算子によってブール値が産み出されるときは、1か0であることが保証されている。
あーよくある間違いだなw 確かにTRUE(真)の値は規定されていない。 でもね、==演算子を始めとする論理、比較演算子の戻り値は規定されているんだよ。
あれ?そうだっけ?すまんすまん^^ワラ
嘘を書き込むスレ
>>929 Cではけっこう重要な落とし穴なので初学者は覚えておくといいよ^^
932 :
デフォルトの名無しさん :2011/02/06(日) 17:47:19
移植性ってC言語にもあるんですか? 例えばC++ではGNUとVisualでは拡張子表記が変わるとかあるんですよね? C言語でも、移植性ってありますあk? #include<stdio.h> int main() { printf("Hello\n")} みたいなプログラムでもOsや処理系によって変更必要ですか?
自信満々で間違えるとかはずかしいww
まあ、組み込みOSの場合、標準出力先がない場合もある。 printf()できない
こうして人は成長していくのであった^^;
936 :
デフォルトの名無しさん :2011/02/06(日) 17:49:45
>>932 指定した型の戻り値がないとコンパイラが通らないという点ではどの処理系でも同じ。
914 :デフォルトの名無しさん:2011/02/06(日) 17:00:59 そんな話は聞いたことないけどしたいならそうすればいいんじゃない? それより、 i * 10 + 9 + ( i == 9 ) は意図したとおりに動かないね。 920 :デフォルトの名無しさん:2011/02/06(日) 17:34:11 問題ないように思える人はもう一度Cの規格票をよく読むんだ^^ 923 :デフォルトの名無しさん:2011/02/06(日) 17:38:32 …というのも不親切なので答えをいうと i == 9の部分はtrueの時1になることを想定しているけど (90-100の階級幅だけ11あるので、ここだけ特別処理にしている) Cの規格上はtrueは0以外の整数であればなんでもいいことになっているので 実装にっては「90-100」のような表示にならない可能性があるってことなのよ^^; ここは printf( "%d-%d %d人\n", i * 10, i == 9 ? 100 : i * 10 + 9, cv[ i ] ); のようにすべきでした。 924 :デフォルトの名無しさん:2011/02/06(日) 17:41:11 って、答えを書いているうちに即レスするんじゃない貴様ら^^ ちなみに、この「trueは0以外の整数」というのは Cではけっこう重要な落とし穴なので初学者は覚えておくといいよ^^ 929 :デフォルトの名無しさん:2011/02/06(日) 17:44:46 あれ?そうだっけ?すまんすまん^^ワラ 935 :デフォルトの名無しさん:2011/02/06(日) 17:49:37 こうして人は成長していくのであった^^;
恥ずかしすぎwwww って、答えを書いているうちに即レスするんじゃない貴様ら^^ ちなみに、この「trueは0以外の整数」というのは Cではけっこう重要な落とし穴なので初学者は覚えておくといいよ^^
成長していくのであったwwww
おまえら、おもしろいおもちゃを手にいれたみたいに。ひどいじゃなイカ^^;
ひどいじゃなイカ^^
942 :
デフォルトの名無しさん :2011/02/06(日) 17:54:58
恥ずかしすぎwwww
935 :デフォルトの名無しさん:2011/02/06(日) 17:49:37 こうして人は成長していくのであった^^; 935 :デフォルトの名無しさん:2011/02/06(日) 17:49:37 こうして人は成長していくのであった^^; 935 :デフォルトの名無しさん:2011/02/06(日) 17:49:37 こうして人は成長していくのであった^^;
914 :デフォルトの名無しさん:2011/02/06(日) 17:00:59 そんな話は聞いたことないけどしたいならそうすればいいんじゃない? それより、 i * 10 + 9 + ( i == 9 ) は意図したとおりに動かないね。 最初はこんな感じだったのに「ひどいじゃなイカ^^」とかキャラ転換したのは いわゆる「馬鹿を装って大真面目に間違えたのをカモフラージュ作戦」
945 :
デフォルトの名無しさん :2011/02/06(日) 17:57:17
まさに恥ずかしい人
これは痛いw 頭悪すぎ
947 :
デフォルトの名無しさん :2011/02/06(日) 17:59:16
>ひどいじゃなイカ^^ 駄目だ、笑っちまったwww
> 913 名前:デフォルトの名無しさん[sage] 投稿日:2011/02/06(日) 17:00:40 > Golf する時に困るんじゃないの > > 914 名前:デフォルトの名無しさん[sage] 投稿日:2011/02/06(日) 17:00:59 > そんな話は聞いたことないけどしたいならそうすればいいんじゃない? 玉打ちのgolfだと思ってそう
>>936 今の規格だとmainのみOK。
どっちかいうと;がない方が気になる。
そんなに悔しかったのかw
>>953 ええ、逆切れに逆切れしそうになりました。ww
まあ、過去ログ読めないから悔しかったこと以外伝わってこないけどな
956 :
デフォルトの名無しさん :2011/02/06(日) 18:23:08
てかC言語の300p以上の入門書3日で終わらしてる人いたんだが・・・ 頭良すぎだろ・・その人は化学系の学部だからプログラミングは趣味で最近 はじめたらしい。
◆QZaw55cn4cが出てくるとロクなことがないな 氏ね
どの辺に頭の良さを感じればいいんだ?
>>956 化学系ならFORTRANとか使ってんじゃないの?
俺も工学系でBASIC組み込める電卓(マイクロコントローラ)使ってたけど
ところで次スレどうする?
961 :
デフォルトの名無しさん :2011/02/06(日) 18:29:19
>>958 3日だぞ?
ソフトバンククリエィティブのC言語入門編3日で読破してた・・
俺もこの本で勉強してるが一ヶ月かかったからな。
その人さすがにその後のアルゴリズムとデータ構造の本は1週間かかったらしい。
何かしらの別プログラミング言語の素養があれば努力でなんとか ズブの素人からならセンスがあるんじゃない
このスレでは xx==XX、xx!=XX の返り血は臣なら!0だろ #define false 0 #define true !false
、、、 , , _
,. -┬i^i、._ ィ`,、,、,、,、,.、'、
. / | | .|=ゞ=、 __l/\ v~/!|
l. l l l \\{f‖ミゞ, ,ィ≪:lf^i もういい・・・!
/ヽ. ノ「,ト、「.lヘ‐iヾ|rー~r〉〉,こlレ'
/ `ヽ//| ト、ヽlイ| |/|{王王王王}ト、
| レニ| lニゝ冫! l!L_, , ,ー, , , ,_」シ’、 もう・・・
ヽ __|ーL|┴^ーヽ>'^ヾ二三シ´\\
,ゝ,/ .}二二二二二二二二二lヽ. ヽ \ 休めっ・・・!
l/ |ト、./´\ ||. レ'´ ̄`ヽ
|| ! 、\ ||. / :|
|| |.l l゙!.|i |ヽ) |l/ / 休めっ・・・!
|| `ヘ)U'J /-─ ,イ.|
|| _ /-─ / ヽ|
>>963 || r‐-゙=っ`ヽ,.--r-─ ''"´ ̄`ヽ / }
||. {三二 | │ / /
||. ヾ=--一'`ーゝ _,. く ノ|
>>956 わかった気にはなれるけど、手が動くかどうかは別問題だと思うけど。
手が動くなら天才だなぁ。
>>961 全くプログラミング経験なしの状態からそれならセンスあるね。
Java経験有り、Javascript経験有り、Python経験有り、Ruby経験有り、Perl経験有り、等なら別に珍しくもなんともないけど。
>>960 教養かなんかの授業で触ったことあるに決まってるわなあ
ITドカタと化学者を比較するなよ 日本では化学系は優秀者が集う 一方、ITドカタは底辺者が集う
インド工科大では コンピューターに触れたことも無い学生もいるのに 来週までにC言語を覚えてきてね だからな
それなりの理系大学に入れる人間ならCくらい3日で理解できる
化学者()
プログラミングの技術は、どれだけ速く到達するかよりも どれだけ遠くまで到達出来るかが重要だと思うわ。 速ければ遠くまで行けるという物でもないからね。
速さと到達距離には強い正の相関がある。
プログラミングなんて道具だろ 大事なのは道具で何を作るかだろ 道具の使いう技術超上手だけじゃ、金は稼げないよな 化学香具師は道具使って化学反応シムとか作るんだろ
979 :
デフォルトの名無しさん :2011/02/06(日) 19:05:33
道具の学習に1ヶ月もかける奴は使えないってことだろ。
プログラミングの技術は、どれだけ早く到達するかよりも どれだけ遠くまで到達出来るかが重要だと思うわ。 の間違いじゃないかな。
>>980 日本語的にはそうだね(日本語の規格表があるのかは知らないけどw)。
この場合は、時間(早さ)よりも速度(速さ)的なニュアンスを出した方が直感的な気がしただけ。
>>879 その通りだな。
大事なのは道具で作る対象が主であって、道具じゃないってことだよな
面積の規格だとか日本語の規格だとか
984 :
デフォルトの名無しさん :2011/02/06(日) 19:18:54
別スレから誘導されてやってきました。すみません、教えてください。 Cのポインタのが、本を何度読んでも理解できずにいます。 変な質問ですが、以下のものを教えてください。 -------------------------------- 例えば、以下のような文章は、どのように読めば良いのでしょうか? unsigned int *SCI = (volatile unsigned int *)0x00808000; 1)符号無しint型(16bit)の 2)* 3)SCIという名前の変数を確保します。 (0x0000〜0xffffまで読み書きできます) 4)消さないでよ→コンパイラ 5)符号無しint型の* 6)その実体は、0x00808000番地にある わかりません。 ------------------------------------ 他の人からのレスです。 unsigned intを保管する会社SCIを設立し、倉庫の土地を0x00808000番地(埼玉県)に確保した状態 ------------------------------------ 私のレス おー、わかりやすいですね。 すると、その倉庫に16bit値0x1234を書き込む時は、 SCI=0x1234 で良いでしょうか? ここまでです。上記のような説明だと、すごくイメージが和久のです。 どなたか、教えていただけないでしょうか? 幼稚ですみません
ってか一日に費やす勉強時間もわかんねぇのに3日で読んだとか意味ないじゃん。
>>984 volatile の位置が違うような気がしますが。
SCI の値は 0x00808000 で、これは具体的にはアドレスと考えていいでしょう。
アドレス 0x00808000 から 0x0808000 + sizeof(unsigned int) - 1 までのアドレス空間に unsigned int の値 0x1234 の値を書き込むときは、
*SCI = 0x1234;
となります。
int idx; かつ、
SCI = 0x0808000 から idx * sizeof(unsigned int) 離れたところに sizeof(unsigned int) の領域分をとって 値 0x5678 の値を書き込むときは
*(SCI + idx) = 0x5678;
または
SCI[i] = 0x5678;
となります。
988 :
デフォルトの名無しさん :2011/02/06(日) 19:28:04
>>979 明快プログラミング入門編、一ヶ月って遅いですかね・・
一日4時間10Pずつ進めました、途中で理解できない部分が
何個も何個もあったので、時間は平均です。
3日とかに別に噛み付かなくてもいいだろ。 カップヌードル3分で作った位の意味しかないよ。 ( ´_ゝ`)フーンでいい。
すれ違う心
>>988 わかんない部分は飛ばして先に進んだほうがいい。
なんか今日は◆QZaw55cn4cが元気だな 早く氏ねばいいのに
>>993 進んでもいいがそのままで終わらせてはいけない。
プログラミング解説本で間接演算子を説明するときは、左辺値で使う時と右辺値で使う時と 引数で使う時と宣言で使う時の全てのパターンを網羅して欲しいわ。
わからない機能は使わなくてもいいよ。読み飛ばしていい。 必要になってから調べればいい。
998 :
デフォルトの名無しさん :2011/02/06(日) 19:36:20
ああ
999 :
デフォルトの名無しさん :2011/02/06(日) 19:37:02
ああ E
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。