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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
C言語の*入門者*向け解説スレッドです。

★前スレ
C言語なら俺に聞け(入門編)Part 93
http://toro.2ch.net/test/read.cgi/tech/1322866566/
★過去スレ
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++の宿題片付けます 154代目
http://hibari.2ch.net/test/read.cgi/tech/1322562648/
★C++言語については避けてください。C++対応明記スレへどうぞ
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
  # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること
  # サイズが大きい場合は宿題スレのアップローダ等を利用してください
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。

長くなりそうなコードはcodepadに貼り付けてもいいでしょう
http://codepad.org/
2デフォルトの名無しさん:2011/12/23(金) 23:38:13.24
printfの書式文字列で size_t や time_t や long long の数値を表示したい時は、どんなふうに書けば最も移植性が高いの?
3デフォルトの名無しさん:2011/12/23(金) 23:38:49.15
で、それをgettext のリソース中に書くにはどうしたらいいの?
4デフォルトの名無しさん:2011/12/23(金) 23:48:19.00
unsigned char const*const format_str =
#ifdef __GNUC__
"GNU式〜"
#elseif _MSC_VER
"MS式〜"
#elseif __BORLANDC__
"BCC式〜"
#elseif …
"…"
#else
"仕方が無い〜"
#endif
; /* close format_str */
5デフォルトの名無しさん:2011/12/24(土) 00:38:20.44
#include<stdio.h>
int main(void)
{
char x;
x='A';
}

エラーが出た。
何で?
6デフォルトの名無しさん:2011/12/24(土) 00:45:40.29
エラーみりゃわかんだろ。
7デフォルトの名無しさん:2011/12/24(土) 02:41:29.07
#include <stdio.h>
int main(void)
{
int ar[3];

printf("ar=%p\n", ar);
printf("&ar=%p\n", &ar);
printf("&ar[0]=%p\n", &ar[0]);
printf("(&ar)[0]=%p\n", (&ar)[0]);

return 0;
}

ar=0028FF14
&ar=0028FF14
&ar[0]=0028FF14
(&ar)[0]=0028FF14

これ何でみんな同じ場所になるの? 特に2、4行目とか
8デフォルトの名無しさん:2011/12/24(土) 03:18:18.23
int a = 0;
a = 0;
&a = 0xffffffff;
&a[0] = 0;
(&a)[0] = 0;
このうち&aは特別
9デフォルトの名無しさん:2011/12/24(土) 04:19:02.90
#include<stdio.h>
int main(void){
char first, last;
first = "kojima";
last = "yosio";
printf("姓=%s\n", first);
printf("名=%s\n", last);
return 0;
}

これどこか間違ってるみたいだけど、わからないので教えてください><
10デフォルトの名無しさん:2011/12/24(土) 04:23:40.13
>>9
firstとlastを定義してるとこの型がおかしい
11デフォルトの名無しさん:2011/12/24(土) 04:44:40.52
>>つまり、どうすればいいのですか?
12デフォルトの名無しさん:2011/12/24(土) 04:45:36.88
11ミス
>>10
つまりどうすればいいのですか?
13デフォルトの名無しさん:2011/12/24(土) 07:19:09.59
>>9>>12
char first, last;

char *first, *last;
149:2011/12/24(土) 09:00:26.22
ありがとうございましたm(__)m
15デフォルトの名無しさん:2011/12/24(土) 09:03:56.78
いえいえ
16デフォルトの名無しさん:2011/12/24(土) 10:28:17.09

 東京にある6つのキー局の内、製作から財務まで一貫して朝鮮人が行ってるテレビ局が1つ
 中国共産党から毎年大量の反日工作費が流れているテレビ局が2つ
 もろに北朝鮮と繋がっているテレビ局が1つ  
宮城県庁を訪問する谷垣禎一(自民党)と松本龍(民主党)
http://www.youtube.com/watch?v=5uF_aN-0fbQ

自民党と民主党の違いw
17デフォルトの名無しさん:2011/12/24(土) 15:48:05.16
#include<stdio.h>
#include<math.h>
char *Parity();
int main(void){
int num;
char *pari;
printf("整数を入力してください。\n");
scanf("%d", &num);
pari = Parity(num);
printf("%s\n", pari);
return 0;
}
char *Parity(int nn){
char *parit;
if (nn % 2 = 0){
parit = "even";
}
else {
parit = "odd";
}
return parit;
}
ifの行にエラーが出るのだけど、どうしてですか?
18デフォルトの名無しさん:2011/12/24(土) 17:44:12.89
mysqlでinsertをwhile文の中で実行すると、command out of sync;のエラーがでるのですが、
while分の中ではできないのでしょうか。
プログラムは以下のようになっています。
19デフォルトの名無しさん:2011/12/24(土) 17:45:49.24
貼り忘れました。
connect = mysql_init(NULL);
if (!mysql_real_connect(connect, MYSQL_SERVER, MYSQL_USERNAME,
MYSQL_PASSWORD, MYSQL_DATABASE, MYSQL_PORT,
MYSQL_SOCKET, MYSQL_OPT)) {
fprintf(stderr, "%s\n", mysql_error(connect));
exit(1); }
if (mysql_query(connect, "select * from mysql where ID!=1")) {
fprintf(stderr, "%s\n", mysql_error(connect));
exit(1); }
result = mysql_use_result(connect);
while ((row = mysql_fetch_row(result)) != NULL) {
      処理
sprintf(data,"replace into mysql values(%f,%f,%f,1)",a,b,c);
if (mysql_query(connect, data)) {
fprintf(stderr, "%s\n", mysql_error(connect));
exit(1);
}
mysql_free_result(result);
mysql_close(connect);
}while文の終了
20デフォルトの名無しさん:2011/12/24(土) 18:13:01.40
>>14
配列の実体の変数に対し、&をつけてアドレスを取り出した時だけ、同じアドレスが取り出される(ポインタを挟んで参照すると、流石に変わる)みたいだけど、

int ar[N];
ar == &ar

Cではこういう規約みたいなものがあったりするのかな?
それとも偶々か。ちなみにGCC4.5とVC10で試してみた。
21デフォルトの名無しさん:2011/12/24(土) 18:31:34.50
>17
if (nn % 2 = 0){

if((nn % 2) == 0){

二重括弧いらないと思うが念のため。
22デフォルトの名無しさん:2011/12/24(土) 19:02:27.39
>>21
助かりました
ありがとうございました。
23デフォルトの名無しさん:2011/12/24(土) 20:00:49.79
こんなこと聞くのもスレチな気がするんだけど
プログラミングの基礎力を上げるいい方法とか問題ってないかな?

C言語4年やってるけどまだまだわからないことが多すぎて不安になる。
友達に聞かれても迷うことが多くて最近自分が嫌になってきた。
24デフォルトの名無しさん:2011/12/24(土) 20:44:12.73
書いたり読んだりしたら良いとおもうよ
25デフォルトの名無しさん:2011/12/24(土) 20:47:10.48
バッチファイル便利だなぁ...


バッチジョブを終了しますか?ってのはWindows仕様なの?

26デフォルトの名無しさん:2011/12/24(土) 20:51:09.97
#include<stdio.h>
int main(void)
{

char *character;

character='c';

}

ってしたときに、characterの値を変えたい。
関数に渡してcをdに変えたい場合、関数は

char* characterkansu(char *x)
{
x='d';
}

でOK?
呼び出す時は
characterkansu(character);
でOK?
27デフォルトの名無しさん:2011/12/24(土) 20:53:07.31
どちらもNG.
28デフォルトの名無しさん:2011/12/24(土) 20:54:39.08
>>27
どこがダメでしょうか?...
29デフォルトの名無しさん:2011/12/24(土) 20:56:49.14
idef
endif
ってプログラマーじゃない限り知らなくていいでしょうか?
どういうときに使うのですか?
30デフォルトの名無しさん:2011/12/24(土) 21:24:50.26
>>26
#include<stdio.h>
int main(void)
{
char character;

character='c';
characterkansu(&character);
}

char* characterkansu(char *x)
{
*x='d';
}

コードがあるのに、これでいいでしょうかって動かす環境なしでやってるってこと?
覚えるのぜったい無理だと思う。
31デフォルトの名無しさん:2011/12/24(土) 21:26:02.67
>>23
「Cプログラミング診断室」とか「Cプログラミングの落とし穴」とか、
「C言語 FAQ 日本語訳 」とか「Unix Programming Frequently Asked Questions」とか読め。
32デフォルトの名無しさん:2011/12/24(土) 21:35:47.91
18,19ですけど、
エラーを直せません。
どなたかアドバイスいただけませんか。
33デフォルトの名無しさん:2011/12/24(土) 21:43:48.42
>>19
http://dev.mysql.com/doc/refman/5.1/ja/mysql-use-result.html
をちゃんと読め

「また、mysql_use_result()が終了するまで、他のクエリーを発行してもなりません。」

回避するには mysql_store_result を使う。
34デフォルトの名無しさん:2011/12/24(土) 22:26:49.65
>>29
#ifdef / #endif のことか?
別に職業プログラマじゃなくても、趣味プログラマでも普通に使うぞ
他の条件コンパイル絡みのものとあわせて、例えば…

・デバッグ時だけ処理したい部分があるときに使う
・第二の範囲コメントとして使う
・1つのプログラムでソースファイルが複数になったときに、依存関係を解決するために使う
・複数のプログラムから共用されるようなライブラリを作るときに使う

など…まあ、ある程度の複雑さを持つプログラムを書くなら知っておきたいね
35デフォルトの名無しさん:2011/12/24(土) 23:08:11.96
>>33
できました。
ありがとうございます。
36デフォルトの名無しさん:2011/12/24(土) 23:15:37.83
>>34
#ifdefや#endifみたいなのって関数っていうんですか?
他に#defineみたいなのは知ってますが、関数より#〜は
数が少ないですよね。
37デフォルトの名無しさん:2011/12/24(土) 23:26:32.64
>>36
関数ではなく、Cプリプロセッサへの指令。Cコンパイラを通る前に処理される。
Cプリプロセッサについて詳しく知りたいならググればいいと思う。
38デフォルトの名無しさん:2011/12/24(土) 23:30:30.62
>>37

#define
#include
とか以外に何かある?#〜
39デフォルトの名無しさん:2011/12/24(土) 23:34:25.46
#pragma
40デフォルトの名無しさん:2011/12/24(土) 23:36:13.71
>>38
あるが、そろそろ自分で調べようとは思わないのかい?
41デフォルトの名無しさん:2011/12/24(土) 23:39:02.49
>>40
#は記号だから日本語と違って調べても出てこない。
42デフォルトの名無しさん:2011/12/24(土) 23:52:02.25
せっかく「プリプロセッサ」という言葉を教えてもらったのに……。
43デフォルトの名無しさん:2011/12/24(土) 23:55:45.47
>>42
ありがとうございます。
44デフォルトの名無しさん:2011/12/25(日) 00:14:55.58
プリってどういう意味?

プリレンダリングとか
プリントとか。
45デフォルトの名無しさん:2011/12/25(日) 00:35:25.39
>>44
"pre-"で英和を当たれ。
46デフォルトの名無しさん:2011/12/25(日) 00:45:21.70
microsoft visual studio2008 で"fprintf"の勉強をしています。
"fprintf"でメモ帳やエクセルなどを多量に作っています。
出力先を変更したいのですが、数が多いので手間と時間がかかってしまいます。
コードを一括に変更する方法がありましたら、ご教授をお願いいたします。
47デフォルトの名無しさん:2011/12/25(日) 01:27:09.25
つ[リファクタリング]

そろそろC++に移行する時期だな
出力専用クラスを作れば楽々
48デフォルトの名無しさん:2011/12/25(日) 01:37:51.79
すげぇな、エクセルを作っているのか。それも大量に。
49デフォルトの名無しさん:2011/12/25(日) 03:21:48.58
>28

>>26
>char *character;
>
>character='c';
型が合わない(ポインタ変数に数値(文字コード)入れちゃダメ)。

>char* characterkansu(char *x)
>{
>x='d';
>}
*x='d';
ならこの行でエラーは出ない。
だがchar *の値を返す関数として定義されてるのにreturnが無いのがいけない。
値を返す必要が無いならvoidにする。
50デフォルトの名無しさん:2011/12/25(日) 03:35:30.70
#include<stdio.h>
void change(char* x);
int main(void)
{
char *character;
*character='c';
}
void change(char *x)
{}

コンパイル成功、実行stackエラー
51デフォルトの名無しさん:2011/12/25(日) 03:39:01.56
「プロセッサ」って言い方が気持ち悪い。
セッサってw
プロセッスとか言わないのに。
「投げキッス」みたいな?w
52デフォルトの名無しさん:2011/12/25(日) 03:40:17.78
#include<stdio.h>
void change(char* x);
int main(void)
{
char *character;
char word;
word='c';
character=word;
}
void change(char *x)
{
}

これはコンパイルエラー。。。。
53デフォルトの名無しさん:2011/12/25(日) 03:46:49.22
>>50,52
おまえアホだろ
ポインタは「メモリ領域のアドレスを指す変数」なのだから、まずポインタがどのメモリ領域を指すのか初期化しないとダメ。

> *character='c';
初期化されていないポインタ character の指すメモリ領域に 'c' を代入してる。
どこかわからんアドレスにアクセスするのだから実行時に落ちても文句言えない。

>character=word;
式の左辺と右辺で型が異なる。
54デフォルトの名無しさん:2011/12/25(日) 03:47:33.14
>>50>>52
何をやってんの?
いや、何をやりたいのか?と聞いた方がいいか
55デフォルトの名無しさん:2011/12/25(日) 03:48:18.25
>>53
int a;
int *b;
b=&a;

int aa[10];
int *bb;
b=aa;

何故?
56デフォルトの名無しさん:2011/12/25(日) 03:55:54.37
#include<stdio.h>
void change(char* x);
int main(void)
{
char *x;
x=NULL;

*x='c';

}
void change(char *x)
{
}

初期化したけど、コンパイル→成功、実行→スタックエラー
57デフォルトの名無しさん:2011/12/25(日) 03:59:19.86
>>56
やっぱおまえアホだろ。ヌルポインターについてちゃんと読んでこい。
http://www.kouno.jp/home/c_faq/c5.html
58デフォルトの名無しさん:2011/12/25(日) 04:01:09.33
#include<stdio.h>
void change(char* x);
int main(void)
{
char *x=0;

*x='c';
}
void change(char *x)
{
}

スタックエラー
59デフォルトの名無しさん:2011/12/25(日) 04:02:36.70
>>58
「どこも指していない」ことが保証されたポインタの指すメモリ領域に対して代入を行おうとしたんだから、
そうなるのが当然。

それがあなたのやりたかったことなのか?
60デフォルトの名無しさん:2011/12/25(日) 04:04:35.88
>>49

*x='d';
ならこの行でエラーは出ない。

に従いましたが...

どこが間違えてるでしょうか?
61デフォルトの名無しさん:2011/12/25(日) 04:05:36.12
>>60
あなたが何をしたかったのか分からないけど、プログラムはあなたの書いたとおりに動いているよ。
62デフォルトの名無しさん:2011/12/25(日) 04:06:39.93
>>59
char*型で作った変数aの中身を関数によって変えたいです。

char *a;


関数の戻り値はvoid


63デフォルトの名無しさん:2011/12/25(日) 04:08:39.93
>>62
もしmain関数がその関数を呼び出したいのなら、
変更されるメモリ領域をその関数に対して提示するべきだよな?

main(){
char c;
change( &c );
//FIXME: 変数cの内容を表示して、変更されたことを確認できるようにする
}
64デフォルトの名無しさん:2011/12/25(日) 04:13:28.57
形式的に

char *x;



*x='c';

でエラーでない時って
空の部分どうしたらいいですか?
65デフォルトの名無しさん:2011/12/25(日) 04:24:38.99
>>64
xの内容がヌルポインタだったかどうかチェックを入れて、もしそうなら呼び出し側にエラーを返す。
どのような形式でエラーを返すかはあなたが決めること。

また、ヌルポインタであることが「ありえない」と断言出来る場合にはアサートを入れて
開発版ビルドでのみチェックが行われるようにする開発手法もある。
http://www.geocities.jp/ky_webid/c/059.html
66デフォルトの名無しさん:2011/12/25(日) 04:25:58.54
char *x;

char d;

d='a';

x=&d;

*x='c';


答えは&ですね。
&以外だと絶対実行エラーでますね..

ありがとうございました。
67デフォルトの名無しさん:2011/12/25(日) 08:03:15.23
>>66
&以外でも出ません。
68デフォルトの名無しさん:2011/12/25(日) 09:08:01.15
char * x;
char d[1];
d[0] = 'a';
x = d;
* x = 'c';
69デフォルトの名無しさん:2011/12/25(日) 09:37:04.49
>>31
さんくす。
とりあえず片っ端から勉強してみる。
70デフォルトの名無しさん:2011/12/25(日) 11:28:14.75
総相 川端達夫 帰化人。 在日韓国人法的地位向上議員連盟
法相 平岡秀夫 帰化人。 在日韓国人法的地位向上議員連盟
文科相 中川正春 在日韓国人法的地位向上議員連盟
厚労相 小宮山洋子 帰化人。 在日韓国人法的地位向上議員連盟 自身の選挙区の太平建設と談合
国家戦略相 古川元久 パチンコ協会政治アドバイザー 

韓国人から賄賂を貰っている野田
韓国人の集いに参加している野田
野田は日本人じゃないだろ
71デフォルトの名無しさん:2011/12/25(日) 11:46:03.01
>>68
配列の場合&いらんのか?ややこしいな...
関数で渡すならなおさらややこしい。
72デフォルトの名無しさん:2011/12/25(日) 11:56:40.70
下記URLに秀丸のDLLの作り方が書かれているのですが
これをVCで作る場合のdllのコンパイルの仕方をご教示おねがいします
ttp://homepage3.nifty.com/kons/hidemaru/helpsite/hidemac/html/200_Dll.html
73デフォルトの名無しさん:2011/12/25(日) 11:57:19.27
>>71
配列は、[ ] の数が合っていれば値を、
足りなければ配列のある場所を返すからな
74デフォルトの名無しさん:2011/12/25(日) 12:17:06.85
>>72
プロジェクトの構成の種類を ダイナミックライブラリ (.dll) にするだけだと思うが…
7572:2011/12/25(日) 12:27:25.61
>>74先生ありがとうございます
まじすか
やってみたのですがうまくいかず難しいです
もしよろしければgithubにhelloworldを返すdllのソースコードを公開していただけないでしょうか?
76デフォルトの名無しさん:2011/12/25(日) 12:29:35.58
>>75
クレ厨死ね
77デフォルトの名無しさん:2011/12/25(日) 12:38:22.25
>>75
>やってみたのですがうまくいかず難しいです

何をやって、どううまくいかないか書けよ。

て言うか、

char* SampleFuncStr() {
static char sz[100];
strcpy( sz, "test" );
return sz;
}

ぐらいは試したのか?
78デフォルトの名無しさん:2011/12/25(日) 12:38:34.81
>>47
ありがとうございました。
「クラス」がすごく重要なんですね。
そこをしっかりと勉強します。
7972:2011/12/25(日) 12:49:00.23
>>77
コンパイルしてみたらVCの下の画面にエラーが出てしまいます
80デフォルトの名無しさん:2011/12/25(日) 12:53:26.48
>>72
エラーメッセージも読めないレベルの人なら、先に普通のアプリが作れるようになってからDLLとか書いた方がいいよ
81デフォルトの名無しさん:2011/12/25(日) 13:15:23.36
>>79
>コンパイルしてみたらVCの下の画面にエラーが出てしまいます

>> どううまくいかないか (=エラーの内容ぐらい) 書けよ。
82デフォルトの名無しさん:2011/12/25(日) 14:02:41.47
ttp://ist.ksc.kwansei.ac.jp/~ibaraki/shokodo/select.c
このプログラム何ですが、実行エラーが出るのですが何故ですか?
皆さんはでますか?僕が間違ってるのでしょうか?
60

3

1
2
.
.
59
60
というテキストファイルを読み込みのために作りました。
コンパイルはエラーがないものの、実行時Segmentation faulが表示されます。
8372:2011/12/25(日) 14:16:31.59
すいませんエラーはこれです
>プログラム 'D:\source\vc++\Projects\HelloWorld\Debug\HelloWorld.dll' を開始できません。
84デフォルトの名無しさん:2011/12/25(日) 14:24:30.42
HelloWorld.dllを実行しようとしてる?
8572:2011/12/25(日) 14:34:08.22
F5を押してdllを作ってます

ソースコードを載せるので添削お願いします
■hello.def
LIBRARY hello

EXPORTS
SampleFuncStr

■hello.h
extern int SampleFunc();

■hello.cpp
#include <string.h>

char* SampleFuncStr() {
static char sz[100];
strcpy( sz, "test" );
return sz;
}
86デフォルトの名無しさん:2011/12/25(日) 14:48:46.32
>>82
>n = 60
>A = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
>3-th smallest element = 3

こういう出力が出てきて、正常に実行出来た。
関数selectの名前だけ変えたが。
87デフォルトの名無しさん:2011/12/25(日) 14:52:36.32
>>83
>>プログラム 'D:\source\vc++\Projects\HelloWorld\Debug\HelloWorld.dll' を開始できません。

ちゃんと >>74 やった?
88デフォルトの名無しさん:2011/12/25(日) 15:04:35.36
>>87
プロジェクト作るときにやりました
defファイルもプロパティのモジュール定義ファイルにファイル名を書きました

またプロジェクトを作り直してF5ボタンでデバッグをやったらさっきのエラーと別に新たに↓のエラーがでました
>HelloWorld.exp : warning LNK4070: .EXP 内の /OUT:hello.dll ディレクティブの指定が出力ファイル名 'D:\source\vc++\Projects\HelloWorld\Debug\HelloWorld.dll' と異なっています。ディレクティブは無視されます。


ソリュージョンのビルドをやると以下の1行しか表示されなくなりましたがdllが作られませんでした
========== ビルド: 0 正常終了、0 失敗、1 更新不要、0 スキップ ==========
89デフォルトの名無しさん:2011/12/25(日) 15:16:36.69
>>86
それでもスタックエラー出ましたが。
どうしてなんでしょうか....

文書作成ソフトはNotepadです。

3
2
1
2
3

この5行が中身なんですが、
要素数が3 pが2 要素が1 2 3です。
90デフォルトの名無しさん:2011/12/25(日) 15:25:50.36
>>89
実行環境は?
OSとコンパイラ名、それぞれのバージョンも
91デフォルトの名無しさん:2011/12/25(日) 16:21:23.16
>>90

txt保存のとき"ファイル名"でOKでした。

他に自分が、k=l;のところをk=1;でした。

ちなみに、s.cというファイルを作ったとしたら
勝手にs1.cみたいに数字付きファイルが作られている事があるのですが
何故ですか?
92デフォルトの名無しさん:2011/12/25(日) 16:21:48.04

これは必見
フジテレビ 生放送中に有志による怒りの抗議 (昨夜) (コメント欄に反日工作員が紛れているので注意)
http://www.nicovideo.jp/watch/sm16518699?user_nicorepo
93デフォルトの名無しさん:2011/12/25(日) 16:26:56.17
>>91
お前解決する気ないだろ
94デフォルトの名無しさん:2011/12/25(日) 16:27:52.71
>>93
解決しました、ありがとうございます。
9588:2011/12/25(日) 16:44:52.34
どうかたすけてください
96デフォルトの名無しさん:2011/12/25(日) 16:59:39.30
>>95
できてんじゃないの。
ない?
97デフォルトの名無しさん:2011/12/25(日) 17:02:41.25
http://7ujm.net/C++/time.html(真ん中)
このページを参考に現在時間を取得しました。
10分後の時間を取得したいのですが、どのようにしたらよいでしょうか。
以下のように行ったところうまくいきませんでした。
sprintf(buff,"%d:%d:%d",pnow->tm_hour,pnow->tm_min+10,pnow->tm_sec);
結果、16:64:55
これを、17:4:55とでるようにしたいです。
9888:2011/12/25(日) 17:06:25.11
>>96
debugのところにはdllがあるんですけどソリュージョンでビルドをやったときにdllが作れませんn
99デフォルトの名無しさん:2011/12/25(日) 17:08:17.41
>>97
nowに10分足してからlocaltimeすればいんじゃね?
100デフォルトの名無しさん:2011/12/25(日) 17:10:59.64
>>97
now += 10*60;
101デフォルトの名無しさん:2011/12/25(日) 17:12:54.79
10年前にこの地球が存在していたことを証明するには
どこで計算ができますか?
102デフォルトの名無しさん:2011/12/25(日) 17:15:54.70
仮にこの地球が本物ではないのだとしたら
あなたはいったい誰なんですか?
103デフォルトの名無しさん:2011/12/25(日) 17:16:27.61
登大遊さんが1日に1万行ソース書いたとかいうエピソード見ましたが
凄くないですか?
104デフォルトの名無しさん:2011/12/25(日) 17:17:58.17
書くだけなら猿でもできるし
105デフォルトの名無しさん:2011/12/25(日) 17:18:56.42
1万行はすごいけど、5000行程度なら普通にいるよな。
つまり、すごい人は普通の人の2倍の能力を持つ。
106デフォルトの名無しさん:2011/12/25(日) 17:19:29.23
ttp://d.hatena.ne.jp/softether/20070324
 ↑
一ヶ月数百行???

helloworld出力のソースだけで、 5,6行あるんだが...
やっぱ職業プログラミングってhelloworldと違って複雑で難しいのかな。
107デフォルトの名無しさん:2011/12/25(日) 17:22:10.03
>>105
頭の良さってペーハー的に位置づけるらしいですね。

イメージだと、オイラーが10としたら,アインシュタインが8,シャノンが4くらいかな?

登大遊さんはどれくらいだろう。
少なくとも、彼程の天才今の大学生にいないでしょう。
周り見回しても。
108デフォルトの名無しさん:2011/12/25(日) 17:24:11.85
5000行の内何割くらいがアルゴリズムなんだろう....
109デフォルトの名無しさん:2011/12/25(日) 17:31:58.95
いまどき行数やステップ数で考える人がいるなんて。
110デフォルトの名無しさん:2011/12/25(日) 17:33:46.75
>>109
発注主がそうだと、しかたがないよね
111デフォルトの名無しさん:2011/12/25(日) 17:34:04.84
全くの0から自分の知ってる分野のプログラムを書くなら早いだろうけど
例えば今からEclipseのプラグイン作ってって言われて全く経験ない状態から24時間以内に5000行書いてみろよと
112デフォルトの名無しさん:2011/12/25(日) 17:35:16.45
行数抜きに考えることもまた難しい。
113デフォルトの名無しさん:2011/12/25(日) 17:35:40.83
>>109
ほかに物差しが無いんだから仕方ないだろ。
行数だしとけばお金が引き出せるんだから
むしろ積極的に利用した方がお手軽だぜ。
114デフォルトの名無しさん:2011/12/25(日) 17:40:00.31
#\
i\
n\
c\
l\
u\
d\
e\

とかやったらhello worldで60行くらいいけるな
115デフォルトの名無しさん:2011/12/25(日) 17:44:09.44
Ruby みたいのだと格安になっちゃうな。
116デフォルトの名無しさん:2011/12/25(日) 17:52:38.05
プログラミング環境としてはノートとデスクトップのどっちが
良いですか?やっぱりノートですか?速いし。
117デフォルトの名無しさん:2011/12/25(日) 17:57:11.33
個人で使いやすいもの使っとけよ
118デフォルトの名無しさん:2011/12/25(日) 18:00:13.22
Desktopだと疲れない?
119デフォルトの名無しさん:2011/12/25(日) 18:04:12.63
デスクトップよりタワーの方がいいよ。
120デフォルトの名無しさん:2011/12/25(日) 18:04:16.58
コーダーの上がプログラマの上がシステムエンジニアの上は?
121デフォルトの名無しさん:2011/12/25(日) 18:08:52.16
>>109
>いまどき行数やステップ数で考える人がいるなんて。

じゃあなんで考えるんだよ。
122デフォルトの名無しさん:2011/12/25(日) 18:09:32.43
マジな話すると、ラップトップの小さい画面より、
デスクトップで大きなディスプレイ使って大きめの文字で設定するのが良いよ。

ディスプレイは、やや見下ろす位置に配置、
ブライトネスは暗めに設定、部屋の証明は消さない。
キーボードは体に近付けすぎない、肘が鈍角になる位置まで離す。

123デフォルトの名無しさん:2011/12/25(日) 18:12:07.95
肘の位置重要だわ、死んだ人みたいに肘曲げて寝てる人いるけど、
あれありえないだろw疲れるw
124デフォルトの名無しさん:2011/12/25(日) 18:45:07.82

         
平松サイド       橋下サイド

民主党         大阪市民(ナマポ、70代以上の大半を除く)
自民党          
共産党
財界・関西電力
連合・自治労
日教組・公務員
毎日新聞・MBS
解放同盟・反日極左
朝鮮総連・韓国民団(野田の支持母体)
革マル派・中核派
125デフォルトの名無しさん:2011/12/25(日) 21:04:36.56
ノートで仕事すると5時間で死ぬな
126デフォルトの名無しさん:2011/12/25(日) 21:31:39.07
ITドカタやってて、今の現場はPC用意してくれなくて自分で持ち込みなんだけど、
でかいモニターを二つ持ち込んでるのって俺だけで、他はちっこいノートで作業してるから
浮いてて恥ずかしいわ。
eclipseとかあんなちっこい画面でよく使えるわ。
127デフォルトの名無しさん:2011/12/25(日) 21:46:10.86
void MergeSort(int x[ ], int left, int right)
{
int mid, i, j, k;
if (left >= right) /* 配列の要素がひとつなら */
return; /* 何もしないで戻る */
/* ここでは分割しているだけ */
mid = (left + right) / 2; /* 中央の値より */
MergeSort(x, left, mid); /* 左を再帰呼び出し */
MergeSort(x, mid + 1, right); /* 右を再帰呼び出し */
/* x[left] から x[mid] を作業領域にコピー */
for (i = left; i <= mid; i++)
temp[i] = x[i];
/* x[mid + 1] から x[right] は逆順にコピー */
for (i = mid + 1, j = right; i <= right; i++, j--)
temp[i] = x[j];
i = left; /* i とj は作業領域のデーターを */
j = right; /* k は配列の要素を指している */
for (k = left; k <= right; k++) /* 小さい方から配列に戻す */
if (temp[i] <= temp[j]) /* ここでソートされる */
x[k] = temp[i++];
else
x[k] = temp[j--];
}

/* ソートされるデータ */
int x[ ] = {9, 4, 6, 2, 1, 8, 0, 3, 7, 5};

MergeSort(x, 0, MAX_DATA - 1);


これトレースして教えてくれ
再帰の部分がいまいちわからん
128デフォルトの名無しさん:2011/12/25(日) 21:47:14.86
URLこれな http://www1.cts.ne.jp/~clab/hsample/Sort/Sort6.html

再帰の部分はどうやって処理するのかが不明
129デフォルトの名無しさん:2011/12/25(日) 21:59:52.95
>>128
説明かいてあるじゃん
130デフォルトの名無しさん:2011/12/25(日) 22:05:38.75
トレースお願い
131デフォルトの名無しさん:2011/12/25(日) 22:34:12.19
エレガントにな。
132デフォルトの名無しさん:2011/12/25(日) 22:38:19.51
ソーと関数の変数定義の後にこれ突っ込んどけ

static int n;n++;printf("呼び出し回数:%d left:%d right:%d\n",n,left,right);
133デフォルトの名無しさん:2011/12/25(日) 22:53:24.54
>>126
持ち込みPCって、情報漏洩(会社、個人とも)でヤバイんじゃないの?
134デフォルトの名無しさん:2011/12/25(日) 23:00:52.06
>>106
試行錯誤の結果行数かもしれない。
あと変幻自在の謎仕様、レガシーコード渡されて「ちょこっと変更すれば出来るだろ?」→解読に数日、とかも。
135デフォルトの名無しさん:2011/12/25(日) 23:11:51.69
mid = (left + right) / 2; /* 中央の値より */
MergeSort(x, left, mid);
MergeSort(x, mid + 1, right); /* 右を再帰呼び出し */

上のMergeSortを呼び出し終わったらどうするの?
最初0,9を渡して、割っていくんですが0,4 0,2 0,1 0,0
そして次のMergeSort(x, mid + 1, right); /* 右を再帰呼び出し */
わかりません
136デフォルトの名無しさん:2011/12/25(日) 23:26:04.04
例えば猫が愛らしい猫なで声で鳴けるのは
猫自身が努力をして試行錯誤を繰り返した結果獲得したのではなく
単にもともと愛らしい猫なで声を身に付けて生まれてきた猫だけが人間に餌を貰えて子孫を残すことが出来たというだけで
愛らしい猫なで声を持たずに生まれてきた猫は人間に餌を分けてもらえず餓死して絶滅したというだけ
生物の進化というのはこういうことを言う
要するに駄目な奴は努力しても無駄だから死ねということ
137デフォルトの名無しさん:2011/12/25(日) 23:29:54.28
確かに努力しても無駄だと思わせる文章だ。
138デフォルトの名無しさん:2011/12/25(日) 23:34:11.41
努力しても無駄な人が書いた文章の見本になるな
139デフォルトの名無しさん:2011/12/25(日) 23:41:52.70
自己解決しました
140デフォルトの名無しさん:2011/12/26(月) 01:22:56.93
そういえばソースの良し悪しを決めるソフトとかってないの?
141デフォルトの名無しさん:2011/12/26(月) 01:48:52.82
142デフォルトの名無しさん:2011/12/26(月) 07:33:02.75
うん
143デフォルトの名無しさん:2011/12/26(月) 10:14:55.02
hello worldを表示するだけのプログラムのexeが50KBもあるのはなぜでしょうか?
C#だと10Kb以下ですが
144デフォルトの名無しさん:2011/12/26(月) 10:35:31.44
ワイルドカード展開するためのプログラムとか入ってるからな。
145デフォルトの名無しさん:2011/12/26(月) 10:46:45.28
http://www1.cts.ne.jp/~clab/hsample/Sort/Sort6.html
このマージソートがどうしてもわかりません
トレースはどのようになってるのでしょうか?
0 4
0 2
0 1
0 0で MergeSort(x, left, mid); /* 左を再帰呼び出し */0 0を呼び出した後


void MergeSort(int x[ ], int left, int right)
{
int mid, i, j, k;

if (left >= right) /* 配列の要素がひとつなら */
return; /* 何もしないで戻る */

/* ここでは分割しているだけ */
mid = (left + right) / 2; /* 中央の値より */
MergeSort(x, left, mid); /* 左を再帰呼び出し */
MergeSort(x, mid + 1, right); /* 右を再帰呼び出し */
returnで何もしないで戻ったら次の MergeSort(x, mid + 1, right); /* 右を再帰呼び出し */を呼び出すのでしょうか?
146デフォルトの名無しさん:2011/12/26(月) 10:48:30.25
MergeSort(x, left, mid); /* 左を再帰呼び出し */
MergeSort(x, mid + 1, right); /* 右を再帰呼び出し */

ここの下からの処理はいつ実行されるのでしょうか?
ずっと再帰でループしてるように思えますが
147デフォルトの名無しさん:2011/12/26(月) 10:49:52.63
>>143
clつかってるのなら、/MDつければ小さくなるよ
148デフォルトの名無しさん:2011/12/26(月) 10:54:11.06
>>145
なんかどっかのすれでも見た気がするけど、returnしてるところで終わる
149デフォルトの名無しさん:2011/12/26(月) 11:01:17.75
>>148
4回目でMergeSort(x, left, mid); これに0,0入れてますよね?
最初に0,9を入れてMergeSortを呼び出して mid=(left+right)/2
0 9
0 4
0 2
0 1
0 0

if (left >= right) return;
つまり 0>=0でreturnなんですが
このreturnを実行したらどうなるのでしょうか?
0 1が返されるのでしょうか?
このreturnがどこに返されるのかがわかりません
0 1を返してまた実行すると mid=(left+right)/2で mid=0
MergeSort(x, mid + 1, right); /* 右を再帰呼び出し */
ここに入れる?わかりませんが 1 1と呼び出す いまいちわかりません
具体的に流れを教えてくれる方はいませんか?
150デフォルトの名無しさん:2011/12/26(月) 11:10:58.90
>>149
MergeSort(外側)のなかで呼び出したMergeSort(内側)がreturnすると、MergeSort(内側)のところに戻るので、その続きをする
151デフォルトの名無しさん:2011/12/26(月) 11:13:20.73
>>143
perl だと
たった20バイト程度だぞ。
152デフォルトの名無しさん:2011/12/26(月) 11:14:42.69
外側のMergeSortの変数は、内側のMergeSortの変数に影響をあたえないし、逆もしかり。
これはスタックという仕組みで実現されている。

もう少し簡単な再帰から練習したほうがいい。
void recursive_test(int i)
{
if (i > 0) {
recursive_test(i - 1);
}
return;
}
こういうので、いろんなところにprintf入れてみるとかで。
153デフォルトの名無しさん:2011/12/26(月) 11:16:41.16
>>151
斜めすぎだろ。
>>147書いたけど、それにつづけて小さいスタブに変えたらもっと小さくなるとか、せめてそういう方向でたのむわ。
154デフォルトの名無しさん:2011/12/26(月) 11:18:17.75
>>151
まじすか
俺の負けです

ちょっと今/MDつけてみたら6KBになりました
これすごいですね
/MDについて聞いたら怒られそうなので自分で/MDについて調べてみてこのページを見つけました
http://msdn.microsoft.com/ja-jp/library/2kzt1wy3(v=vs.80).aspx#
つまりこれは実行する環境にlibcpmt.libとmsvcprt.libとmsvcrt.libが入っていないと動かないということですか?
一般的なソフトは/MDつけてコンパイルされて配布されているものでしょうか?
155デフォルトの名無しさん:2011/12/26(月) 11:18:21.21
156デフォルトの名無しさん:2011/12/26(月) 11:36:58.50
>>154
実行する環境にmsvcrt.dllが入ってないと動かない(そのlib群は不要)
んで、それはある程度新しいWindowsなら標準で入ってる
一般的なソフトがどうであるかは知らない
157デフォルトの名無しさん:2011/12/26(月) 11:38:18.62
なるほど勉強になりました
158デフォルトの名無しさん:2011/12/26(月) 11:39:06.90
ある程度新しいというのが気になるかもしれないけど、
ここ10年くらいのWindowsはこれに含まれる。
159デフォルトの名無しさん:2011/12/26(月) 11:43:53.16
MergeSortの回答ありがとうございます
参考にして見ます
160デフォルトの名無しさん:2011/12/26(月) 11:44:28.14
>151
バッチファイル
echo hello world
改行無しで16バイト。

BASICなら中間コード化でさらに小さく。
161デフォルトの名無しさん:2011/12/26(月) 11:49:13.67
>>154
VCで作ったプロジェクトだと、デフォのスイッチに含まれてるから、大半はついていると思っていい
162デフォルトの名無しさん:2011/12/26(月) 11:49:14.54
>BASICなら中間コード化でさらに小さく。
行番号で2バイト、
PRINTの中間コードが・・・2バイトか?
hello worldで11バイトだか、文字数とか範囲指定とか必要だろうからさらに数バイト。
16バイトより小さくはならんだろ。
163デフォルトの名無しさん:2011/12/26(月) 12:08:14.58
Hコマンド最強。
164デフォルトの名無しさん:2011/12/26(月) 12:13:02.69
Hボタン連打
165デフォルトの名無しさん:2011/12/26(月) 12:26:32.71
連打ッス!
166デフォルトの名無しさん:2011/12/26(月) 14:05:35.06
マージソートって難しくない?
再帰普段使わないし
見たけど難しいな
167デフォルトの名無しさん:2011/12/26(月) 14:19:20.24
mySQLを扱う際に、whereを用いて制限をかけようと思うのですが、
セグメンテーション違反になってしまいます。
a=3;
if(mysql_query(connect,"select * from テーブル where ID >"+a)){
変数を扱うところが原因だと思うのですが、
どのように直したらよいのでしょうか。
168デフォルトの名無しさん:2011/12/26(月) 14:20:16.26
とりあえず基本的な理屈だけ覚えとけばいい。
どうせ実際に使う機会がある頃には記憶薄れて忘れちまってるからな。
169デフォルトの名無しさん:2011/12/26(月) 14:33:08.55
>>167
select * from テーブル where ID > 数値 という文字列を渡すことを期待しているようだが
C言語で 文字列の連結は + で表せないぞ

十分に大きい文字配列 buf があるとして
sprintf(buf, "%s%d", "select * from テーブル where ID >", a);
mysql_uery(connect, buf);
こうなる
170デフォルトの名無しさん:2011/12/26(月) 14:57:45.96
sprintf(buf, "select * from テーブル where ID > %d", a);
こっちの方がクエリパラメータっぽくていいかもしれんね。
171デフォルトの名無しさん:2011/12/26(月) 15:03:35.41
パラメータ中に printf フォーマット文字が入ったらいやーんな感じなので %s で受けるようにたけど
例題中じゃ出てこないから 後者で十分だったようだね
172デフォルトの名無しさん:2011/12/26(月) 15:22:58.52
一番初心者向きのC環境何ですか?
簡単なグラフィックが利用できたらいいなと思っています。
例えば、黄色い四角形を出力するプログラムとか作りたいです。


図書館でC関係のグラフィック関係の本漁りましたがWindows以前(1995年より前)
の本が7割くらいで……

173デフォルトの名無しさん:2011/12/26(月) 15:26:02.93
likeを使うとしても、%を含めてリプレイスするのが一般的だから、入ることはないかと。
174デフォルトの名無しさん:2011/12/26(月) 15:26:06.69
>>172
Turbo-C 2.01
175デフォルトの名無しさん:2011/12/26(月) 15:28:09.67
>>172
Visual C++ & glut
176デフォルトの名無しさん:2011/12/26(月) 15:35:13.40
今連結リストの方方向リストを使って入力した値をいれてっれ中央値を表示させようとしてるんですが、どうやって値をソートすればいいのでしょうか?

バブルソート使って、値が入力された時にソートしようとしているのですが、どうしてもできません。よろしくお願いします。
177デフォルトの名無しさん:2011/12/26(月) 15:38:32.35
できますよ。
178デフォルトの名無しさん:2011/12/26(月) 15:38:37.06
>>174
>>175
ありがとうございます。参考になりました。
179デフォルトの名無しさん:2011/12/26(月) 16:14:58.06
>>176
何ができないのか具体的に書け。
ソース全く出さずに、1から全部書いてもらおうとしているのか?
180デフォルトの名無しさん:2011/12/26(月) 16:16:54.64
>>179
どう考えても1から全部書いてもらおうとしてると思うけど、どう考えても質問に答えてもらえるとは思えない
181デフォルトの名無しさん:2011/12/26(月) 16:18:12.85
ここで>>180を覆す回答者が!CMの後で!
182デフォルトの名無しさん:2011/12/26(月) 16:22:42.90
                    , - , -─ - 、
                   /:::::::::::::::::::::::::::::::::`‐、
                 /::::::::::::::::::::::::::::::::::::::::::::::\
                /::::::::::;:ィ::::::::';:::::::::::`ヽ::::::::::::::ヽ
                ,'::::::;':::/ l:::i::::::ヽ:::\:::::::';:::::::::::::::',
                  i:::l::::i:/  ';:::';:::::::',\::ヽ:::::::::::☆:::
                l::l::;イ__, ヽ、ト、::::ヽ、\:',ヽ〃l::::::   >>176さん
                  ';l l::l      ` ‐-   l:::::l::::::  こ、ここ、これ読んで下さいっ!
                 l::::l == 、    ,.ィ== l:::::l:::::::::
                 l:::::li //////////// l:::::l::::::::::    
               , -ーl::::lヽ、  r....::´`ヽ /l:::;'> 、:::::
           , -ー 、'´`ヽl::::l// ` ‐-r‐ァ' ´ ,':/ー、  ';
            /  , ノ `   l::::l   li /ニく /⌒ヽ  \.i
        , └ '´  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ / ノ__  ',  ,イ:
      /     \ (⌒⌒)       ,  └ '´ /   i/
    /            ヽ / ー '       /  /,.イ
   ∠ __                    /  / /
          ̄ ̄ ̄プ ー r── -------/-‐'´ /

      | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
      |                    |
      |                    |
      /    ̄ ̄ ̄ ̄      /_____
      /   お断りします    /   //
    /      ハ,,ハ        /  / /
    /     ( ゚ω゚ )     /  /  /
   /   ____     /  /  /
  /             /  /  /
/             /    /  /
183デフォルトの名無しさん:2011/12/26(月) 16:47:33.78
#include <stdio.h>
#include <time.h>

int main(void){
time_t t;
time(&t);
printf("%s", ctime(&t));
return 0;
}
を実行したら↓みたいになってエラーがでるんですけどこれはコードをどう直したらよいのでしょうか?

------ ビルド開始: プロジェクト: Test, 構成: Debug Win32 ------
test.c
d:\source\vc++\projects\test\test\test.c(7): warning C4996: 'ctime': This function or variable may be unsafe. Consider using ctime_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
c:\program files\microsoft visual studio 10.0\vc\include\time.inl(86) : 'ctime' の宣言を確認してください。
Test.vcxproj -> D:\source\vc++\Projects\Test\Debug\Test.exe
========== ビルド: 1 正常終了、0 失敗、0 更新不要、0 スキップ ==========
184デフォルトの名無しさん:2011/12/26(月) 16:50:33.38
>>183
エラーじゃないよ。

警告 ctimeはあぶないのでctime_sを使ったほうがいいです。この警告がうっとうしかったら _CRT_SECURE_NO_WARNINGS を定義してくださいな。

ってかいてる。
185デフォルトの名無しさん:2011/12/26(月) 16:57:08.62
ありがとうございます
書き方はこんな感じでよいでしょうか?
直すところがございましたらご指摘お願いします

#include <stdio.h>
#include <time.h>

int main(void){
time_t t;
char c[26];
time(&t);
ctime_s(c,sizeof(c),&t);
printf("%s",c);
return 0;
}
186デフォルトの名無しさん:2011/12/26(月) 17:04:07.20
ctime_sとかってvisual studioのみでしか使用できないんじゃなかったっけ
つまり問題ないから直さなくていいって感じで記憶してるけど
警告がうっとおしいと思うなら_CRT_SECURE_NO_WARNINGSを定義するって感じで
187デフォルトの名無しさん:2011/12/26(月) 17:06:45.42
値比較後の要素交換の記述
双方向のリストなら単純にいけそうだけど、単方向リストだと自分の1個前が欲しくなるから面倒

(ex. i番目 j番目の交換が発生 リスト繋ぎ変えでi-1 と j-1 が欲しくなる
188デフォルトの名無しさん:2011/12/26(月) 17:10:14.02
他環境に移植できなくするためのMSの罠だよ。
189デフォルトの名無しさん:2011/12/26(月) 17:16:22.88
visual studioとかvisual C++って無償?
190デフォルトの名無しさん:2011/12/26(月) 17:28:03.88
ありがとうございます
セキュリティーコードということを検索して理解しました
メモリが汚れるのはいやなので警告をオフにしたいと思いますが
検索してttp://sunrisebyeast.blogspot.com/2011/07/crtsecurenowarnings.htmlにたどりついたのですが
#pragma warning(disable:4996)をtest.cの1行目に書いたんですが警告が消えません
僕が使ってるのはVC++2010なんですが2008念のバージョンじゃないとダメってことですよね?
今VC2008のバージョンがないので探しているのですが見当たらず、2010でも警告を消す方法ってございませんか?
191デフォルトの名無しさん:2011/12/26(月) 17:38:12.54
すいませんプロパティのプリプロセッサに_CRT_SECURE_NO_WARNINGSを書いたら出来ました
ttp://tiano.cocolog-nifty.com/tears_diary/2007/09/vc_2005_6591.htmlを参考にしてできました
192デフォルトの名無しさん:2011/12/26(月) 17:51:17.46
>>189
無償版もある。てかそれくらいはぐぐってください
193デフォルトの名無しさん:2011/12/26(月) 18:07:11.17
実行すると tarou.name = "tarou";の部分で
error C2106: '=' : 左のオペランドが、左辺値になっていません。
ってエラーがでます
どこが問題でしょうか?
#include <stdio.h>

struct profile {
int age;
char name[10];
int sex;
};

int main(void){
struct profile tarou;
tarou.age = 21;
tarou.name = "tarou";
tarou.sex = 0;

printf("%d - %c - %d", tarou.age, tarou.name, tarou.sex);
}
194デフォルトの名無しさん:2011/12/26(月) 18:23:32.71
strcpy()使え
195デフォルトの名無しさん:2011/12/26(月) 18:37:32.17
>>194
strcpy使ったら出来ました
なんでstrcpy使わないとだめなのですか?
196デフォルトの名無しさん:2011/12/26(月) 18:47:36.17
せめて入門書の一冊も読んでからにしてくれないか?
197デフォルトの名無しさん:2011/12/26(月) 18:48:31.78
struct profile tarou = {21, "tarou", 0}なら出来るとおもう
198196:2011/12/26(月) 18:52:20.68
言い過ぎたごめん
199デフォルトの名無しさん:2011/12/26(月) 18:53:20.28
tarou.nameはポインタだから、そのプログラムだと初期化するかstrcpyするかじゃない
ユーザーに入力を促すようなものだとscanfつかって出来る
200デフォルトの名無しさん:2011/12/26(月) 18:54:05.41
あと%cじゃなくて%sね
201デフォルトの名無しさん:2011/12/26(月) 18:57:45.25
>>199
勘弁してくれ
202デフォルトの名無しさん:2011/12/26(月) 19:03:04.04
ああ、tarou.name[0] = 't';って一つ一つ入力する方法あるか
203デフォルトの名無しさん:2011/12/26(月) 19:10:37.55
初心者スレなのに適当なことばかり。
204デフォルトの名無しさん:2011/12/26(月) 19:11:25.98
>>199
tarou.nameは確かにポインタを生み出すコードではあるけれど、tarou.nameは配列と言うべきタイミングだろ。
ということを>>201が言いたいんだろうので同意。
205デフォルトの名無しさん:2011/12/26(月) 19:15:03.11
って置いてけぼりにするところだった。

>>195
一般に、配列(文字列=文字配列)に配列を代入することはできないため。
それをしたい場合は、memcpy、特に文字列をコピーしたい場合にはstrcpyを使う。

初期化の場合は別だし、構造体でラッピングしたものを利用して代入を行うこともできるけれど、それは後から覚えればいい。
206デフォルトの名無しさん:2011/12/26(月) 19:25:01.72
リテラルを書き換えられない設計にしてるのがおかしい
207デフォルトの名無しさん:2011/12/26(月) 19:26:59.45
× ポインタ
○ ポインター
208デフォルトの名無しさん:2011/12/26(月) 19:28:04.87
JISはまだ変わってなかろ。
209デフォルトの名無しさん:2011/12/26(月) 19:34:11.15
JASに従えよ。
210デフォルトの名無しさん:2011/12/26(月) 19:37:38.30
tarou.nameは配列の先頭要素へのポインタであって配列ではないよね
211デフォルトの名無しさん:2011/12/26(月) 19:43:38.03
>>210
構造体のメンバ名だよ。って返せばいいのか?何をしたいのかわからん。
212デフォルトの名無しさん:2011/12/26(月) 19:44:41.11
struct {
char *taro;
char hanako[10];
};
213デフォルトの名無しさん:2011/12/27(火) 00:50:37.68
>>210
tarou.name自体は配列
ポインタとして解釈される場合に配列の先頭要素へのポインタに変換されるだけ
sizeof(tarou.name)の結果を考えてみろ
214デフォルトの名無しさん:2011/12/27(火) 00:59:09.61
そりゃ型が違うだけ。
char[10]型ってことだろ。
215デフォルトの名無しさん:2011/12/27(火) 00:59:53.58
テトリス作りたいのだが、time関数はいるわけ?
テトリスが落ちる時間ってtime関数だよな?
216デフォルトの名無しさん:2011/12/27(火) 01:02:19.02
mySQLって具体的にどんな用途があるの?
聞いたことあるけどイマイチ利便性が分からない。
217デフォルトの名無しさん:2011/12/27(火) 01:09:53.98
>>216
データ管理で重宝してる。
機能をCで一から組んだら大変だと思う。
218デフォルトの名無しさん:2011/12/27(火) 01:24:24.37
>>217
は?ライブラリみたいな?
219デフォルトの名無しさん:2011/12/27(火) 01:27:59.19
組み込み用途ならSQLiteのほうが使い勝手はいいよ
220デフォルトの名無しさん:2011/12/27(火) 01:40:04.03
テレビとかイメージでも会社でパソコン打ってる風景って良く見るけど、
あいつらってプログラム組んでるの?何してんだろ。
221デフォルトの名無しさん:2011/12/27(火) 01:46:26.97
パソコン使う仕事って全部プログラミング?
222デフォルトの名無しさん:2011/12/27(火) 02:07:02.67
プログラマ以外でずっとパソコンに向かってる仕事ってデザイナーとかCADとかのイメージがあるな
223デフォルトの名無しさん:2011/12/27(火) 02:10:32.94
経理とか総務とかは思い浮かばないの?
224デフォルトの名無しさん:2011/12/27(火) 02:14:45.19
丸一日向かい合うほど経理するとは想像できなくて
225デフォルトの名無しさん:2011/12/27(火) 02:24:49.58
ホワイトカラーなら、今時はどんな職種でもPCに向かって仕事すんじゃねーの?
226デフォルトの名無しさん:2011/12/27(火) 02:30:36.14
何をするのかがわからんってのに、向かうだろって言われてもなぁ。
ホワイトカラーでPCに向かわない職種なんてくさるほどあるし…
227デフォルトの名無しさん:2011/12/27(火) 02:48:20.41
仕事せずに、サーフィンしてるのかもしれない
228デフォルトの名無しさん:2011/12/27(火) 02:52:21.78
天皇さまですらPC使ってるのに
229デフォルトの名無しさん:2011/12/27(火) 05:21:29.11
明らかにキーボードだけをカタカタカタカタしてるよな。
テンキーもマウスも使う素振りもない。
230デフォルトの名無しさん:2011/12/27(火) 05:54:32.60
日がな一日書類を書いていたら殆どマウスに触る必要もないが、
一般事務職でそこまでショートカットに精通している奴は少ないと思う。
231デフォルトの名無しさん:2011/12/27(火) 06:00:14.70
それはそうと、pthreadを使ったスレッドプールの手頃なサンプルないかな。
pthread_cond_wait()が意外に使い難くて参った。
232デフォルトの名無しさん:2011/12/27(火) 06:48:49.97
引きこもりが熱く語る「僕の考えるパソコンを使った事務仕事」とか笑えるわ
233デフォルトの名無しさん:2011/12/27(火) 07:17:16.15
>>232
>230のことを言っているなら、それを書いたのは会社員の私だ。
234デフォルトの名無しさん:2011/12/27(火) 09:13:32.51
235231:2011/12/27(火) 09:34:21.72
>>234
それで見つかるところは大抵最低限の使い方だけなんだよね。
この板のマルチスレッドのスレでも同じように梃子摺っている質問は幾つか見つかるのに、
具体的な回答が見つからないし。
236デフォルトの名無しさん:2011/12/27(火) 13:10:19.29
具体的に何をしようとしてどうなったか書いてないと答えようがなくね?
237デフォルトの名無しさん:2011/12/27(火) 15:56:47.40
>>215
clock()のほうが良いと思いmath
238デフォルトの名無しさん:2011/12/27(火) 15:58:54.71
clock は精度が秒の環境もあるぞ。
239デフォルトの名無しさん:2011/12/27(火) 16:53:33.36
WindowsならtimeGetTime()かQueryPerformanceCounter()を使うしな

time()はかなり機種依存的性格を持っている
240デフォルトの名無しさん:2011/12/27(火) 16:57:23.48
DOSの時は走査線待ち。
241デフォルトの名無しさん:2011/12/27(火) 18:31:40.69
ヒープソートを書いたのですが
http://codepad.org/gQnTXtfr
最後の20 10が整頓されません
どうすれば昇順になるのか教えてください
242デフォルトの名無しさん:2011/12/27(火) 18:48:08.47
自己解決しました
for(i=N; i>2; i--)あるべきでした
243デフォルトの名無しさん:2011/12/27(火) 19:11:58.83
C言語でこのスレに書き込めるプログラム教えてください
244デフォルトの名無しさん:2011/12/27(火) 20:34:02.21
平松邦夫/民主党
大阪市役所・自治労・大阪市労働組合・日教組・大阪市教育委員会・自民党・共産党・社民党・関西電力・住友グループ
・毎日放送・毎日新聞・関西経済連合・日本原子力発電株式会社 ・ 週刊文春・週刊新潮・NHK・朝日新聞・読売新聞
・部落解放同盟・朝鮮総連・在日本大韓民国民団・日本遊技関連事業協会・全日本遊技事業協同組合連合会・日本弁護士連合会・生活保護受給者・反日左翼・9条の会・革マル派・中核派

VS

橋下徹/維新の会
大阪市民・みんなの党・国民新党・亀井静香・石原慎太郎・東国原英夫
 様子見:公明
245デフォルトの名無しさん:2011/12/28(水) 00:50:51.04
>243
ttp://www23.atwiki.jp/psp_2ch/
適当に選べ。
246デフォルトの名無しさん:2011/12/28(水) 10:17:50.61
Windowsでコンソールプログラムで右下にバルーンを表示させたいのですが
それだけのシンプルなほどシンプルな本当に登竜門なサンプルで公開してるページありませんか?
247デフォルトの名無しさん:2011/12/28(水) 12:01:39.93
つくってみよう−タスクトレイアプリケーションの作成
ttp://www.alpha-net.ne.jp/users2/uk413/vc/VCT_TaskTray.html
248デフォルトの名無しさん:2011/12/28(水) 12:06:02.01
ダブルポインターのコピーについての質問です。
二次元配列の文字列をコピーしたいのですが、コピー元の二次元配列は
ヒープメモリの確保が必要になりますが、コピー先のメモリも動的に確保しようと
コメントアウトの部分を外すと、メモリエラー(ヒープの破壊)が起こりますが、
コメントアウトした状態の実装で、メモリの使い方は間違っていないでしょうか?
#include <stdio.h>
#include <stdlib.h>
char **getString();
char **strSrc;
int main()
{
char **strDst;
// コピーされる側はヒープメモリの確保は必要ないのか?
//strDst = (char **)malloc( sizeof(char * ) * 2 ) ;
strDst = getString();
printf("%s\n", strDst[0]);
printf("%s\n", strDst[1]);
free( strSrc );
//確保していないので、解放は当然不要なわけであるが・・・・
//free( strDst);
return 0;
}
char **getString()
{
strSrc = (char **)malloc( sizeof(char * ) * 2 );
strSrc[0] = "ABCD";
strSrc[1] = "1234";
return strSrc;
}
249デフォルトの名無しさん:2011/12/28(水) 12:08:45.08
>>246
NOTIFYICONDATA NIF_INFO
でぐぐれ
250デフォルトの名無しさん:2011/12/28(水) 12:15:53.20
再帰って関数内が終わったら自動でreturnされるの?
http://codepad.org/dAqEkNzj このコードみたんだけど
HeapSortの中に--reetcountってあるけど
関数の最後でreturnが自動で呼ばれてるんですか?
251デフォルトの名無しさん:2011/12/28(水) 12:19:28.01
そう。
252デフォルトの名無しさん:2011/12/28(水) 12:23:26.60
この場合戻り値がvoidなんですが
returnっていうより
最初の if (left >= right) {
--reentcount;
return;
}
で条件に引っかからず一番したの処理まできたら
自動で前の処理の再帰に戻すってこと?
returnって書けば戻るんだけど
終了には--reetcount(カウント数)だけだよね
自動で前の再帰に戻るの?
253デフォルトの名無しさん:2011/12/28(水) 12:26:14.43
voidって値を返す必要がないのに
どうやって前の再帰に戻ってるんだろう

void HeapSortだけど
voidの場合でも関数終了時に再帰が残ってる場合は前の再帰に戻してくれるの?
254デフォルトの名無しさん:2011/12/28(水) 12:27:37.30
いや、あたい返しても返さなくても仕組みは一緒だろ…
255デフォルトの名無しさん:2011/12/28(水) 12:27:40.69
>>248
ポインタの基礎ができてない悪寒。
>248の場合、strDstにメモリ確保しても、それをgetString()の戻り値で上書きしてしまっている。
なので、free(strSrc)で解放したメモリ空間をfree(strDst)で更に解放しようとして異常終了している。

そもそも、何がしたいのか判らんが勉強中はグローバル変数は使うな。
256デフォルトの名無しさん:2011/12/28(水) 12:28:33.27
>248
strSrcとstrDstが同じポインタ値になってる。

free( strSrc );
//確保していないので、解放は当然不要なわけであるが・・・・
free( strDst);
同じメモリを2回開放しようとしてる。

>strDst = (char **)malloc( sizeof(char * ) * 2 ) ;
>strDst = getString();
やるなら
strDst = (char **)malloc( sizeof(char * ) * 2 ) ;
memcpy(strDst,getString(),sizoef(char * ) * 2 ) ;
だろう。
257デフォルトの名無しさん:2011/12/28(水) 12:30:12.51
>>253
例えばこういうコードがある。
--
void subFunc()
{
puts("subFunc()");
}

void someFunc()
{
puts("before sub");
subFunc();
puts("after sub");
}
--
このとき、どう出力されるかは判るかい?
258デフォルトの名無しさん:2011/12/28(水) 12:34:08.14
before sub
subFunc()
after sub
ですか?
なんかひねって
before sub
1
after sub
だったりしそうですがわかりません
259デフォルトの名無しさん:2011/12/28(水) 12:38:47.32
#include <stdio.h>
int main(void)
{
int i=1;
printf("%c\n",a());
return 0;
}
int a(){
}

これだと1って返されますね
void a()に変更するとコンパイルエラー
だけどcodepadの再帰はVoid型なのに関数ブロックの最後になったら前の再帰が返されてる
再帰はVoid型とか関係なくコードブロックの終了に返されるってこと?
260デフォルトの名無しさん:2011/12/28(水) 12:43:06.17
>>258
値を返すとかなんだとかを脇において、処理がどう推移するかを考えろ。
1を出力しているところはどこにもないぞ。
261デフォルトの名無しさん:2011/12/28(水) 12:53:17.58
>257の例で、処理がどう流れているかを処理される順番で表現してみた。
# main()はないが、someFunc()を呼んでいると仮定。
--
void subFunc() // 5
{ // 6
puts("subFunc()"); // 7
} // 8

void someFunc() // 1
{ // 2
puts("before sub"); // 3
subFunc(); // 4...9
puts("after sub"); // 10
} // 11
--
subFunc()の途中にreturn文があれば、こうなる。
--
void subFunc() // 5
{ // 6
return; // 7
puts("subFunc()"); // この文は実行されない。警告レベルを上げると警告されるはず。
} // 8

void someFunc() // 1
{ // 2
puts("before sub"); // 3
subFunc(); // 4...9
puts("after sub"); // 10
} // 11
--
これで判るかねぇ。
262155:2011/12/28(水) 15:12:32.15
>>252
意図は MergeSort() の入り口でカウントアップ 出口でカウントダウン して、
再帰の深さがいくつになってるかを分かりやすくしたかっただけ

できるかぎり元ソースの形(>>145 リンク先)を維持したまま追加したので
途中脱出の部分で --reentcount してるけど

void MergeSort(int x[ ], int left, int right) {
 /* ... */
 ++reentcount;
 if (lest < right) {
  /* 本体 */
 }
 --reentcount;
}

こういう記述にしたほうが良かったかな?
263デフォルトの名無しさん:2011/12/28(水) 15:21:23.52
C言語で逆引きサンプルでいいサイトありませんか?
264デフォルトの名無しさん:2011/12/28(水) 15:39:11.42
コンパイル時に、
 % gcc -DHEX=12 a.c
とやって、ソースを
 int hex = 0x12;
としたいのだけど、どう書けばいいんだっけ... ("0x"を追加したい)
 int hex = 0x00##HEX;
じゃだめだよね..
265デフォルトの名無しさん:2011/12/28(水) 15:55:16.80
VCでしか確認できてないけど、↓じゃだめ?
#define HEX_VAL(arg) 0x##arg
int hex=HEX_VAL(HEX);
266デフォルトの名無しさん:2011/12/28(水) 15:59:39.30
それだとgccじゃだめなんだな...
って、確かgccはその書き方じゃダメだったような気がしてきた。
コンパイラ別にするのイヤだから別の方法で回避するわ。
267デフォルトの名無しさん:2011/12/28(水) 16:11:10.19
ああ シンボルHEX の実体展開がなされるかどうか か

2段にすれば解決するんだっけ
#define HEX_VAL(arg) 0x##arg
#define HEX_V(arg) HEX_VAL(arg)

過去 ttp://pc11.2ch.net/test/read.cgi/tech/1144824670/139,143
268デフォルトの名無しさん:2011/12/28(水) 17:14:57.72
お前らマージソートを何も見ないでかける?
難しくない?再帰といい処理といい
マージソートなんて使う意味あるのか?
269デフォルトの名無しさん:2011/12/28(水) 17:31:29.27
>>268
マージソートはクイックソートと同じO(NLogN)オーダーの速度を持ちながら安定なソート
だからstable_sort()に使われる

欠点としては多量の記憶域が必要な事と、クイックソートの約2倍の時間が掛かる

安定でなくてもいいならクイックソート、安定で速度が必要ならマージソート
270デフォルトの名無しさん:2011/12/28(水) 17:33:47.68
ふうん
271デフォルトの名無しさん:2011/12/28(水) 18:04:35.58
教科書に載ってるようなくらいのC言語しかしたことないんだけど
仕事でC言語って行ったらどんなことするの?
272デフォルトの名無しさん:2011/12/28(水) 18:33:08.35
>>271
個人的な感想ですが、担当者レベルだと、ひたすら、
ビジネスロジックを設計(詳細設計)して書く、
そして、コーディング規則は現場によって違うけど、
厳しい方が後々良い。けど、書いているときはすごく面倒。
で、大体、テンプレート(見本のソース)を誰かが作ってくれて、
それを、自分のビジネスロジックに合わせて記述する。

ビジネスロジック意外の定番のロジックは大抵、
テンプレートを先輩が作っておいてくれるから、
C言語的には、基本は知っておけば良い。
っていうか、ポインタ程度の理解はすごい重要。
で、よほど、性能を優先する処理以外は、
「他の人がメンテナンスしやすい(理解しやすい)処理を書く」が
基本、というのが自分の大昔の大雑把な経験。

他の人(後任)が理解できない記述やロジックは嫌われる。
もちろん、処理速度を優先する場合は仕方ないけど・・・。
273デフォルトの名無しさん:2011/12/28(水) 18:47:24.27
>>272
ポインタをどのくらいまで理解すればいいの?
274デフォルトの名無しさん:2011/12/28(水) 18:55:07.18
ポインタを「このくらいは理解できた」なんてのは妄想。
理解できたか、理解できていないか、どちらかしか有り得ない。

面接で「ダブルポインタは大丈夫ですが、トリプルポインタは自信がありません」なんて
言っているような輩は、実際ポインタを理解できていない。
275デフォルトの名無しさん:2011/12/28(水) 18:55:45.50
トリプルポインタなんて使う場面はほとんどないけどな
大抵ダブルポインタまで
276デフォルトの名無しさん:2011/12/28(水) 19:14:22.51
ダブルポインタなんて言われた時点で「きっと理解できてないんだろうなぁ」と思っちゃう
この単語は使わない方がいい
277デフォルトの名無しさん:2011/12/28(水) 19:33:09.97
そもそもそんな質問する面接があんの?
今時Cの仕事ってなにがあるんだろうか。
8bitとかのワンチップマイコンくらい?
278デフォルトの名無しさん:2011/12/28(水) 19:34:00.92
パチンコ
279デフォルトの名無しさん:2011/12/28(水) 20:22:22.00
■民主党政権になって放送禁止になった言葉一覧■
[道義的責任・進退問題・発言のブレ・閣内不一致・派閥・プライマリーバランス
空気が読めない・庶民感覚・国民目線・バラマキで人気とり・国民に信を問うべき・OECDの貧困率
ワーキングプア・ネットカフェ難民・世襲・料亭・漢字・読み違え・直近の民意・国民の生活が一番、政権交代が最大の景気回復策、公務員改革
ガソリン値下げ、景気回復策、解散総選挙、ホッケの煮付け
世襲制廃止、地域主権、議員定数削減、地球温暖化対策]
280デフォルトの名無しさん:2011/12/28(水) 20:24:40.34
NGワード情報ありがとう
281デフォルトの名無しさん:2011/12/28(水) 21:48:58.32
カーナビ除く車載ソフトはだいたいC言語
282デフォルトの名無しさん:2011/12/28(水) 21:58:45.07
>>275
execv*() の引数 char **p を malloc() で確保する場合に、
それが子関数を呼び出して呼び出し先で確保して親関数に戻ってくる場合には、
途中で char ***, が出現しないだろうか?
http://codepad.org/EhhHbMVZ
283デフォルトの名無しさん:2011/12/28(水) 22:39:07.02
ぼくも先輩方のような立派なCプログラマーになりたいのですが
今は大学で学んだ程度の基本的なC言語の文法くらいしかわかりません。
この先はどのように学習していけば良いのでしょうか?
284デフォルトの名無しさん:2011/12/28(水) 22:42:44.85
>>283
一口にC言語って言っても、それを使って何をやるかってのはすごく幅広い
そして目的によって全然ノウハウは違ってくるから、実際みんな得意分野不得意分野がある
具体的に目標となる分野を決めて、その分野のプログラミングの勉強をすればいいんじゃないかな
285デフォルトの名無しさん:2011/12/28(水) 22:57:38.97
>>284
Webプログラミングに興味あります
286デフォルトの名無しさん:2011/12/28(水) 23:01:07.81
C言語はLinuxをかじっとけば大体大丈夫になる
287デフォルトの名無しさん:2011/12/28(水) 23:05:44.32
>>285
じゃあC言語ではないが、HTML と CSS は覚えておいて欲しいな
Webプログラミングと言っても細かく分けると色々あるから
その後に何をやるのかは知らんが、何れにしろその辺の知識は役に立つはずだ

あとWebプログラミングなら専門板もあるんだぜ

WebProg
http://kohada.2ch.net/php/
288デフォルトの名無しさん:2011/12/28(水) 23:28:13.34
なんでWebって文理不問なの
やっぱ組み込み系の方が賢いんですよね
289デフォルトの名無しさん:2011/12/28(水) 23:28:56.60
流石にC言語の質問から離れ過ぎでしょそれは
290デフォルトの名無しさん:2011/12/29(木) 00:33:45.06
大学で1年間プログラミングを習い、文法やポインタや構造体などを理解し、
簡単なCUIプログラミングをいくらか演習したようなレペルです

amazonのレビューで好評だったんで
S・P・ハービソン3世とG・L・スティール・ジュニアのCリファレンスマニュアル
http://www.amazon.co.jp/dp/4434124234
この本を買ったんですが、難しすぎです
こんな自分に、おすすめの書籍かサイトを教えてくださいませ
291デフォルトの名無しさん:2011/12/29(木) 01:06:00.17
webweb言ってる香具師はweb板いけばいいのに
292デフォルトの名無しさん:2011/12/29(木) 03:44:07.66
>>272
ああ、同意だわ。
後続が理解しやすい、には、他のソースと程度をあわせることも含まれるね。
いかに当たり前のような記述であったとしても、その書き方が他のソースでされていなければ「何だこの小難しいコードは」と思われてしまう。
C++をベターC(…)として使っているプロジェクトでstd::vector使っただけでその洗礼を受けた。
293デフォルトの名無しさん:2011/12/29(木) 07:04:39.91
例えばみんな手作業でマグロの一本釣りしてるのに一人だけ全自動リール使って楽してたら
空気読めない奴だと思われて村八分にされるのが落ちだろ
全自動リールってすごいね俺も今度からそれ導入しよう!とは絶対にならない
日本とはそういう国だ
294デフォルトの名無しさん:2011/12/29(木) 07:29:09.68
PHPを開発の主において、C/C++をアセンブラに翻訳するように
PHPをCに翻訳して使えば良いと思う。
生産性的に。
そういうコンパイラがあるが、winで動かず確認してない。
295デフォルトの名無しさん:2011/12/29(木) 08:25:52.21
なんでその程度の知識と技術しかないのにえらそうに言うの?
296デフォルトの名無しさん:2011/12/29(木) 08:54:28.71
× ポインタ
○ ポインター
297デフォルトの名無しさん:2011/12/29(木) 08:56:53.53
アクセントは「ポ」

 ̄\___
ポインター
298デフォルトの名無しさん:2011/12/29(木) 09:05:03.26
ポリンキーか!
299デフォルトの名無しさん:2011/12/29(木) 09:11:51.70
犬かよ。
理系ならJIS使え。
300デフォルトの名無しさん:2011/12/29(木) 11:46:23.09
CRCを計算するソース。

#define CRC32_POLY 0x82F63B78 // CRC-32C (Castagnoli) #define CRC32_POLY 0xEDB88320 // CRC-32-IEEE 802.3
class CrcCalculate {
public:
unsigned int crc32table[256];
void make_crc_table();
CrcCalculate() { make_crc_table(); }
friend unsigned int crc32base (void *ch, unsigned int byte, unsigned int cal);
} CrcCalculate_;

void CrcCalculate::make_crc_table() {
unsigned int i, j, x;
for (i = 0; i < 256; i++){
x = i;
for (j = 0; j < 8; j++) if(x&1) x=(x>>1)^CRC32_POLY; else x>>= 1;
crc32table[i]=x; }}

unsigned int crc32base (void *ch, unsigned int byte, unsigned int cal) {
unsigned int i; unsigned char *p = (unsigned char *)ch;
for (i = 0; i < byte; i++) cal = (cal >> 8) ^ CrcCalculate_.crc32table[(cal ^ p[i]) & 0xFF];
return cal; }

unsigned int crc32 (void *ch, unsigned int byte) {return crc32base( ch, byte, 0xFFFFFFFF ) ^ 0xFFFFFFFF ; }
unsigned int crc32 (const std::string &ch) { return crc32( (void *)&ch[0], ch.size()); }
301デフォルトの名無しさん:2011/12/29(木) 12:01:48.33
>>300
荒らし市ね。
302デフォルトの名無しさん:2011/12/29(木) 13:04:48.42
CRC32は重要な割に、標準関数に組み込まれてないから、簡単に使えるように貼ったんだよ。
303デフォルトの名無しさん:2011/12/29(木) 13:09:43.25
頭悪そうだな。
304デフォルトの名無しさん:2011/12/29(木) 13:20:16.19
チェックサムで十分
305デフォルトの名無しさん:2011/12/29(木) 13:23:17.43
Cでもないもの貼るな。
306デフォルトの名無しさん:2011/12/29(木) 13:25:37.35
つーか、CスレにC++貼るとか頭に蛆でも湧いているのかと。
307デフォルトの名無しさん:2011/12/29(木) 13:41:44.93
C++をやるとバカになるっていう見本を、身をもって示してくれてるんだよ
308デフォルトの名無しさん:2011/12/29(木) 13:45:31.04
お前ら、プログラミング以外だとイキイキしてるなw
309デフォルトの名無しさん:2011/12/29(木) 15:02:11.94
c99の可能性は考えないのか。
310309:2011/12/29(木) 15:02:54.34
俺が悪かった。
311デフォルトの名無しさん:2011/12/29(木) 15:20:39.12
C99禁止って職場は、レガシー以外の理由があるのかな?
312デフォルトの名無しさん:2011/12/29(木) 15:46:10.20
大抵は低レベルに合わせるためだと思うけどな。
それ以外だと互換性か。
313デフォルトの名無しさん:2011/12/29(木) 15:59:30.55
C99を導入する理由がそもそもないだろ
314デフォルトの名無しさん:2011/12/29(木) 16:00:30.91
c99禁止と言いながら、//コメントやブロック先頭以外での変数の宣言は使う顧客もいるにはいる。
315デフォルトの名無しさん:2011/12/29(木) 16:25:21.48
windowsではfopenは同時にオープンできる数に制限がある。
オープン、クローズを繰り返して使うか、APIを使うしかない。
316デフォルトの名無しさん:2011/12/29(木) 16:25:59.03
大体は職場がターゲットにしてるコンパイラの問題だと思うけどね。
例えば、VC++はC99非対応。

まぁ、コーディング規約があって、上司が老害な可能性は否定出来ない。
317デフォルトの名無しさん:2011/12/29(木) 16:33:17.25
>>315
windows以外だと制限がないの?
318デフォルトの名無しさん:2011/12/29(木) 16:34:41.06
FOPEN_MAXで分かる。
windowsでは50になってた。
しかし47あたりで開けなくなる。
319デフォルトの名無しさん:2011/12/29(木) 16:37:35.02
標準入力や出力というものがあってだな。
320デフォルトの名無しさん:2011/12/29(木) 16:37:48.58
>>318
そりゃデフォで3つディスクリプタつかうもん。
321デフォルトの名無しさん:2011/12/29(木) 16:39:36.03
移植性をたもちつつWindowsのUTF-16に対応できる_wfopenが良いと思っていたが
ファイル数の問題にぶち当たるとAPI使うしかなくなるな。
322デフォルトの名無しさん:2011/12/29(木) 16:43:22.77
移植性のために、UTF-16(UNCODE)対応とファイル数制限を外した
fwopenなどの関数群はないものか。自作しかするしかないか。
323デフォルトの名無しさん:2011/12/29(木) 16:43:58.90
つーか、なんでそんなにたくさん同時オープンしたいん?
324デフォルトの名無しさん:2011/12/29(木) 17:04:38.17
そんなに沢山オープンしていると却って管理が面倒な飢餓。
325デフォルトの名無しさん:2011/12/29(木) 17:07:55.94
そのオープン数の制限はスレッド単位? プロセス単位?
どっちにしろ、子スレッドなり子プロセスなりを立ててやらせたらいい。
326デフォルトの名無しさん:2011/12/29(木) 17:23:44.04
#include <windows.h>
#include <stdio.h>

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow) {
printf("てすと");
MessageBox(NULL , "Error" , "エラー" , MB_OK);

return 0;
}

失礼します。
メッセージボックスを出して、かつコマンドプロンプトにも文字を出力させたいのですが
上記のプログラムではメッセージボックスしかできません。どうすればよいのでしょうか?
327デフォルトの名無しさん:2011/12/29(木) 17:33:02.27
328デフォルトの名無しさん:2011/12/29(木) 19:19:33.98
>>326
>editbin /subsystem:console hoge.exe
329デフォルトの名無しさん:2011/12/29(木) 20:03:01.03
>>322
UTF-16なんて普通にfopenでいいじゃん
ファイル数制限も普通に解除できるし
330デフォルトの名無しさん:2011/12/29(木) 20:13:10.32
>>327
そこのスレすごくこわい
331デフォルトの名無しさん:2011/12/29(木) 20:17:46.19
W32を敵視する奴がいるから
332デフォルトの名無しさん:2011/12/29(木) 20:32:34.93
>326
プロジェクトをWin32コンソールアプリケーションで作成する。
333290:2011/12/29(木) 20:42:25.03
おすすめサイトや書籍の質問は駄目なのか?
334デフォルトの名無しさん:2011/12/29(木) 21:27:20.85
すいません  

#include<stdio.h>

int main(void)
{
int a, sum=0;


for(a = 1; a <= 10; a++ );{
sum= sum+a;
}
printf("1から10の数の和は・・・%d", sum);

return 0;
}


だとなぜか11になるのですが
なぜでしょう
335デフォルトの名無しさん:2011/12/29(木) 21:30:55.69
>>334
);{
336デフォルトの名無しさん:2011/12/29(木) 21:58:09.79

| ┏━━━┓   従軍慰安婦は反日朝日新聞の捏造でした。
| ┃借収安┃    デマだらけの報道に注意しよう
| ┃三三婦┃
| ┃○○大┃
| ┃○○募┃
| ┃○圓集┃
| ┃圓以  ┃
| ┃迄上  ┃_
\┃可   ┃ \
  ┗━━━┛  \
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ |
http://img04.ti-da.net/usr/wishcomestrue/t02200190_0220019010786142693.jpg
337デフォルトの名無しさん:2011/12/29(木) 23:42:56.45
int n = 1234;
↑のような数字の各桁を上から取り出す方法はあるでしょうか?
最初に1を取り出し、次に2を取りだしていくような感じです。
nの桁数は決まっていません。
よろしくお願いします。
338デフォルトの名無しさん:2011/12/29(木) 23:44:53.84
>>337
遅くても良いなら sprintf してから一文字ずつチェック
339デフォルトの名無しさん:2011/12/29(木) 23:56:00.70
むしろsprintfでいい
340デフォルトの名無しさん:2011/12/29(木) 23:58:20.03
桁数が決まってないなら無理。
実装上の int や long の最大数を制限値とするならできる。
341デフォルトの名無しさん:2011/12/30(金) 00:04:26.96
いやどっちにしろできるだろ。
342デフォルトの名無しさん:2011/12/30(金) 00:08:42.62
>>340
どういう形であれロジック中で表現されているのに、それを取ることができないと断言するのはいかがなものか。
343デフォルトの名無しさん:2011/12/30(金) 00:16:50.59
344デフォルトの名無しさん:2011/12/30(金) 00:17:59.15
皆さん意見ありがとうございます。
桁数の方は2桁のときも4桁のときもありますが
最高は6桁で抑えれそうです。
引き続きsprintfを調査します。
345デフォルトの名無しさん:2011/12/30(金) 00:18:20.93
桁数が決まってないってどんな状態だよw
そんなもん扱えるわけねーだろw
346デフォルトの名無しさん:2011/12/30(金) 00:19:15.50
>>345
もういいから。
347デフォルトの名無しさん:2011/12/30(金) 00:22:13.36
実る前の林檎を食べることはできない。
時空を超越してる。
348デフォルトの名無しさん:2011/12/30(金) 00:24:00.49
>>347
そんなことはない。>>343
349デフォルトの名無しさん:2011/12/30(金) 00:25:53.41
>>343
凄いスマートなコードですね。
ありがとうございます。
350デフォルトの名無しさん:2011/12/30(金) 00:26:13.53
351デフォルトの名無しさん:2011/12/30(金) 00:29:22.16
まぁsprintf()の中で同じことをやっているわけだが。
>>350
せめてlimits使え。
352デフォルトの名無しさん:2011/12/30(金) 00:37:02.91
関数形式マクロの展開で、
#define max(x,y) (x>y?x:y)


printf("max(x,y) = %d\n",max(x,y));


この場合""内のmax(x,y)が置換されないってのがいまいちしっくりこないんですが
""中の文字列は、定数としてメモリ上に取っておかれるようなイメージであってるでしょうか?
353デフォルトの名無しさん:2011/12/30(金) 00:38:18.26
limits.hに最大桁数がマクロ定義されてるの?
354デフォルトの名無しさん:2011/12/30(金) 00:42:33.87
>>348
>>343

f()を呼び出すときに桁数決まってるじゃん。
355デフォルトの名無しさん:2011/12/30(金) 00:49:09.72
じゃぁ桁数決まってない場合を書いてみろよ。
356デフォルトの名無しさん:2011/12/30(金) 00:49:39.72
>>353
そんなこともわからんのか?
357デフォルトの名無しさん:2011/12/30(金) 00:51:58.95
>352
なんか難しく考えてないか?
コンパイラが文字列にはマクロを適用しない様にしてるってだけだろ。
358デフォルトの名無しさん:2011/12/30(金) 00:53:12.66
>>355
だから桁数決まってないと無理ってんじゃん。
359デフォルトの名無しさん:2011/12/30(金) 00:54:20.95
>356
なんだ、適当に反論したいだけか。
360デフォルトの名無しさん:2011/12/30(金) 01:03:47.30
>358
元の要求は
int n = 1234;
なんだから問題ないだろ。
361デフォルトの名無しさん:2011/12/30(金) 01:04:24.41
>>359
アホは黙ってろって。
362デフォルトの名無しさん:2011/12/30(金) 01:13:03.12
環境が書かれていない以上intの最大値(最大桁数)も決まっていない。
よって桁数が決まっていない。
363デフォルトの名無しさん:2011/12/30(金) 01:14:25.96
つ アホは黙ってろって。>361
364デフォルトの名無しさん:2011/12/30(金) 01:15:54.85
>>362
で、その場合、>>343だと何の問題があるわけ?
365デフォルトの名無しさん:2011/12/30(金) 01:18:41.99
そいつと俺は違う人。
366デフォルトの名無しさん:2011/12/30(金) 01:19:40.90
>>343 が桁数を決めずに処理できる良い例ってことだろ。
367デフォルトの名無しさん:2011/12/30(金) 01:20:50.71
桁数が決まってない = 値が決まる前
これを扱うのはこの四次元時空においては不可能。
368デフォルトの名無しさん:2011/12/30(金) 01:23:15.96
>>360
なんだからintの上限に決まってるだろ、アホ。
369デフォルトの名無しさん:2011/12/30(金) 01:24:02.86
おこちゃまは寝る時間だぞ
370デフォルトの名無しさん:2011/12/30(金) 01:25:21.77
intの最大値と最大桁数は違うと思うの。たとえ計算で求めることが出来るとしても。
371デフォルトの名無しさん:2011/12/30(金) 01:26:59.27
最大値がわかれば桁数もわかるだろ。
どこの世界に住んでんだよお前は。
372デフォルトの名無しさん:2011/12/30(金) 01:31:27.50
                           ( <.   | l     //
                   __      ヽ\,.ィ´ .ニニェ‐、//
                  〈〈〈〈 ヽ      >、.く^┘  `) 〈
                  〈⊃   }    // ´ , -‐-、 〈,ヘヘ
           ∩___∩  |   |    | l  <丶`Д´>  l |
           | ノ      ヽ !   !     | l  ヽ、__.ノ  /./
          /  ●   ● |  /  ,,・ ヽヽヘ、____,,..ィ,ン′
          |    ( _●_)  ミ/, ’,∴ ・¨  `/`'‐--ヽ''´
         彡、   |∪|  / 、・∵ ’   /、//|/  ̄ヽ
        / __  ヽノ /       /   // 異常 /\ 〉
        (___)   /       /    // TV/\ /
373デフォルトの名無しさん:2011/12/30(金) 01:53:44.48
>371 子供は寝る時間だよ。
374デフォルトの名無しさん:2011/12/30(金) 02:02:38.61
>371
アスペ乙
375デフォルトの名無しさん:2011/12/30(金) 02:08:21.14
低脳乙。
376デフォルトの名無しさん:2011/12/30(金) 02:53:38.46
>>355
桁数の決まってない数字を出力するから、入力が終わっている状態を示してくれ
377デフォルトの名無しさん:2011/12/30(金) 11:21:47.78
>>376
getchar()が-1を返したら終わり。
378デフォルトの名無しさん:2011/12/30(金) 12:30:43.88
1休さんかよw
屏風の虎w
379デフォルトの名無しさん:2011/12/30(金) 12:32:30.81
380デフォルトの名無しさん:2011/12/30(金) 13:08:52.51
>>379
それだとnがINT_MAX越えたらAUTO。
381デフォルトの名無しさん:2011/12/30(金) 13:12:14.92
INT_MAXを超える桁数ワロタ
382デフォルトの名無しさん:2011/12/30(金) 13:15:28.48
元々そういう話だろ、何言ってんだお前。
383デフォルトの名無しさん:2011/12/30(金) 13:18:34.50
元々そういう話ワロタ
元々はちげーだろw
384デフォルトの名無しさん:2011/12/30(金) 13:24:14.62
INT_MAX桁以上の数を扱うのってどういうときだろう
天文学的な数字っていうのもせいぜい数十桁だろうに
385デフォルトの名無しさん:2011/12/30(金) 13:30:02.86
そんな話だったのならとっくに終わってるってこと。
386デフォルトの名無しさん:2011/12/30(金) 13:30:42.41
>>384
intが16bitならいくつかわかるか?
387デフォルトの名無しさん:2011/12/30(金) 13:33:11.05
DXライブラリってどこでダウンロードすべき?
388デフォルトの名無しさん:2011/12/30(金) 13:34:54.76
389デフォルトの名無しさん:2011/12/30(金) 13:36:54.45
有限でない数を内部で扱うのはむりだろ、それで結論?

>>386
3万ぐらいでしょ
390デフォルトの名無しさん:2011/12/30(金) 13:59:09.72
391デフォルトの名無しさん:2011/12/30(金) 14:02:45.24
>>388
dクス
392デフォルトの名無しさん:2011/12/30(金) 14:15:34.07
ファイル数制限を外して、UTF-16LEに対応するためにここまでできた。関数の中身はこれから調べて作る。



typedef void _WOFILE;
_WOFILE* _WOfopen( const wstring &fn , const wstring &mode){}
int _WOfseek(_WOFILE *fp, long offset, int origin){}
long _WOftell(_WOFILE *stream){}
size_t _WOfread(void *buf, size_t size, size_t n, _WOFILE *fp){}
size_t _WOfwrite(void *buf, size_t size, size_t n, _WOFILE *fp){}
int _WOfclose(_WOFILE *fp){}
int _WOfeof(_WOFILE *fp){}

#define FILE _WOFILE
#define _wfopen _WOfopen
#define fseek _WOfseek
#define ftell _WOftell
#define fread _WOfread
#define fwrite _WOfwrite
#define fclose _WOfclose
#define feof _WOfeof
393デフォルトの名無しさん:2011/12/30(金) 14:34:29.35
C言語で無限大の数を扱うにはどうしたらいいですか?
394デフォルトの名無しさん:2011/12/30(金) 14:34:36.77
>>392
ファイル数制限を超えてしまうような設計は考え直した方がいい
395デフォルトの名無しさん:2011/12/30(金) 14:35:11.50
>>393
"無限大"って文字列でおk
396デフォルトの名無しさん:2011/12/30(金) 14:45:29.90
>>393
n = 1/0;
397デフォルトの名無しさん:2011/12/30(金) 14:48:32.05
C言語で桁数の不明な数を受け取って表示するにはどうしたらいいですか?
何桁になるかは全くわからず、制約もつけられませんが、受け取り終わってから表示したいです
398デフォルトの名無しさん:2011/12/30(金) 15:00:25.04
どんな方法にせよ、上限は必要
399デフォルトの名無しさん:2011/12/30(金) 15:08:57.78
結論が出ました
400デフォルトの名無しさん:2011/12/30(金) 15:09:10.99
>>397
まだやってるのかw
401デフォルトの名無しさん:2011/12/30(金) 15:11:07.84
>>393
IEEE754に定義があるからそれ使え。大抵の実装で使える。
402デフォルトの名無しさん:2011/12/30(金) 15:26:35.95
403デフォルトの名無しさん:2011/12/30(金) 15:40:01.02
最近「頭悪い質問で釣ってみた」の投稿多いな。
404デフォルトの名無しさん:2011/12/30(金) 15:40:58.52
冬休みで暇なんだよ
面白いTV番組も無いし
405デフォルトの名無しさん:2011/12/30(金) 16:27:10.92
>>404
これでも解いてろ
http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0120

制限時間1秒以内 メモリ32MB 以内だからな
406デフォルトの名無しさん:2011/12/30(金) 16:30:14.66
>>392
違ってたら悪いんだけど、先頭4KBの人?
407デフォルトの名無しさん:2011/12/30(金) 16:32:02.05
>>405
AOJって問題が日本語で書かれてるからか、ここ最近よく見るようになったね。
海外サイトならお金くれたりするのにね。。
408デフォルトの名無しさん:2011/12/30(金) 16:39:00.44
日本語で書かれていても条件の見落としが多いのに
英語だと問題文何回も読み直さなきゃいかんのがしんどい
409デフォルトの名無しさん:2011/12/30(金) 16:42:55.01
>>408
ちなみにAOJ、英語設定で解いていくと条件の翻訳不足で詰む問題がいくつかあるんだぜ
410デフォルトの名無しさん:2011/12/30(金) 16:46:00.99
まちまちな大きさのロールケーキをたくさん作るケーキ屋さんなんて、ない。
411デフォルトの名無しさん:2011/12/30(金) 17:19:35.70
>>407
マジで金くれるの?
未解決問題でもコンテストでもないのに?
412デフォルトの名無しさん:2011/12/30(金) 17:25:20.52
メールで鍵を交換するソフトのことなんですが
質問いいでしょうか
413デフォルトの名無しさん:2011/12/30(金) 17:26:50.35
スレタイとどう関係あるかを説明できたらな。
414デフォルトの名無しさん:2011/12/30(金) 17:55:44.49
sscanfで、一度読んだところは飛ばして次から読むような方法って何かありますか?
char *str = "1 2 3 4";
while(sscanf(str,"%d",&i))
で4回ループして1〜4を読むような感じのことがしたいです
415デフォルトの名無しさん:2011/12/30(金) 17:57:30.52
ポインタ(アドレス)を進める
416デフォルトの名無しさん:2011/12/30(金) 17:58:24.26
>>414
%n ってのを調べればおk
417デフォルトの名無しさん:2011/12/30(金) 17:59:45.84
【フジテレビ】東日本大震災を体験した人々の証言を集め、
被害の実情を検証 『わ・す・れ・な・い〜東日本大震災・命の記録』
12月30日(金)午後6時〜午後8時54分放送
http://prtimes.jp/main/html/rd/p/000000251.000000084.html
418デフォルトの名無しさん:2011/12/30(金) 18:05:49.40
>>415-416
%nで取得した分だけポインタを進めることでできました
ありがとうございます
419デフォルトの名無しさん:2011/12/30(金) 19:29:27.09

朝日新聞は一時期300人のネット工作員をかかえ、反日工作していた。
捕まった編集者は49歳ですが、こんなカスでも1500万円の年収がもらえるんですよ。

Domain Information: [ドメイン情報]
a. [ドメイン名] ASAHI-NP.CO.JP
e. [そしきめい] かぶしきがいしゃ あさひしんぶんしゃ
f. [組織名] 株式会社 朝日新聞社

−「朝日新聞社は、とある思想やパラダイムに日本の世論を誘導する見返りに、中国から大量の資金を貰っている。」−
これはおそらく週刊誌さえ書けない。
「失語症躁鬱ニートは氏ねよ」【ネット】朝日新聞社員(49)ネットで荒らし行為、会社ごとアクセス規制へ 09.3

420デフォルトの名無しさん:2011/12/30(金) 20:30:59.82
ロールケーキの問題わからんなあ
普通に総当りしたら時間切れになるし
どういう考え方で並びを求めるんだろう?
421デフォルトの名無しさん:2011/12/30(金) 20:57:01.68
凸凹になるようにする。
たとえば半径5と5をつなげると、距離20を使ってしまう。
凸凹だと節約出来る。
422デフォルトの名無しさん:2011/12/30(金) 20:59:26.05
そうね、一番凸凹になる並びを求めて入るかどうか調べればいいんでないか。
つまり、隣同士の半径の差の合計を最小にする問題かな。
423デフォルトの名無しさん:2011/12/30(金) 20:59:38.68
あ、最大ね。
424デフォルトの名無しさん:2011/12/30(金) 21:19:52.33
うむ、一番凹凸になる並びとはどのように求めるのかわからん
425デフォルトの名無しさん:2011/12/30(金) 21:34:47.35
てんさいです

【東京都渋谷区】 12/31(土) 年忘れしてはならない!紅白さくら祭 みんなで「韓流紅白」をぶっ飛ばせ!
年忘れしてはならない!紅白さくら祭 みんなで「韓流紅白」をぶっ飛ばせ!

12時00分 渋谷駅ハチ公前広場 「街頭演説」(〜13時30分)
13時30分 移動
14時00分 渋谷公会堂前 「街頭演説」(〜14時45分)
15時00分 代々木公園・NHK横「イベント広場」
「年忘れしてはならない!紅白桜祭」
抗議集会・コンサート・炊き出し等々
盛りだくさんでお送りします!(〜21時00分)
426デフォルトの名無しさん:2011/12/30(金) 21:36:22.19
誰も行かないだろ
427デフォルトの名無しさん:2011/12/31(土) 00:04:10.36
動的計画法にすればよいことが分かり
保持すべき結果も分かったつもりなのにacceptされない。。。
どこが悪いのか指摘ください
ttp://ideone.com/uWKcO

数時間かけてできないなんて俺やばいなあ
428デフォルトの名無しさん:2011/12/31(土) 01:00:44.90
>>427
何やってるのかさっぱり分からん
俺やべー
429デフォルトの名無しさん:2011/12/31(土) 01:00:55.97
>>427
printf("%d %.5f¥n",width,min);
↑の行が余計とか?
430デフォルトの名無しさん:2011/12/31(土) 01:27:09.54
>>427
while(sscanf(buf+offset,"%d%n",&cake[num],&oftmp) > 0){

↑ケーキ12個の場合、cake[12]をアクセスしているみたいだが。
431デフォルトの名無しさん:2011/12/31(土) 02:55:23.02
#include <stdio.h>

int main()
{
printf("円の面積計算機\n");
printf("半径を入力してください\n");
double pi,hankei,S;
pi=3.1415926535;
scanf("%f",&hankei);
S=hankei*hankei*pi;
printf("面積は%fです",S);
return 0;
}

結果が0.000000になるんだが

432デフォルトの名無しさん:2011/12/31(土) 02:58:56.20
%fはfloatへのポインタじゃないとだめ。
433デフォルトの名無しさん:2011/12/31(土) 02:59:55.64
scanf("%f",&hankei);

scanf("%lf",&hankei);
434デフォルトの名無しさん:2011/12/31(土) 03:15:15.47
printfでは%fでも大丈夫だからscanfでも大丈夫だと思ってた
ありがとう
435デフォルトの名無しさん:2011/12/31(土) 08:37:07.48
printf()系とscanf()系には色んな点で互換性が無いから要注意。
互換性があるかのごとく書いてある入門書で勉強した人は特に。
436デフォルトの名無しさん:2011/12/31(土) 11:21:54.70
scanなんとかは型とサイズの指定が必須という事でいい?
437デフォルトの名無しさん:2011/12/31(土) 11:39:54.94
>>397
長さを問わないということは、文字列だという想定で。
終わりの検知(EOFとか)の仕方があれば、人間がタイプできる長さくらいは受け取った後で表示できる。
438 ◆QZaw55cn4c :2011/12/31(土) 11:43:04.99
>>436
正確には、ISO/IEC 9899:1999 6.5.2.2.6。
可変長引数では float -> double の型変換が行われる。だから printf() に float と double の区別は不要。
scanf()系にわたるのはポインタだから float->double は不可能であり区別しなければならない。
439デフォルトの名無しさん:2011/12/31(土) 11:49:43.19
>>397
http://pastebin.com/jN5Mbsut
realloc 使ってあとは上限を処理系にまかせるのがラク。
もっと厳密にやるならヒープ管理とか双方向リストとか、reallocの必要ない形式のバッファ管理を行うことになる。
オンメモリや仮想メモリに収まらない長さまで想定するならmmap とかも使う
440デフォルトの名無しさん:2011/12/31(土) 13:09:34.26
>>439
それだとcapaがINT_MAX越えたらAUTO。
441デフォルトの名無しさん:2011/12/31(土) 13:12:03.88
>>438
floatとdoubleの違いも知らないやつが出てくるなよ。
442 ◆QZaw55cn4c :2011/12/31(土) 13:16:54.04
>>441
ほう。
>>438 のどこに問題が?
443デフォルトの名無しさん:2011/12/31(土) 13:27:45.55
>>441じゃないが、まぁ別に不可能じゃないわな。
float=doubleの処理系もあるし。
444デフォルトの名無しさん:2011/12/31(土) 13:29:16.49
>>440
>>439じゃないが、同じようなのを考えてた。
一般論としてINTの上限は、取得できるメモリの最大長だったっけ?
445デフォルトの名無しさん:2011/12/31(土) 13:32:24.67
INTの上限=コンパイラの仕様
取得できるメモリの最大長=OSの仕様
446デフォルトの名無しさん:2011/12/31(土) 13:33:58.93
まぁ今時64bit OSも多いし、そんな一般論はないわな。
447デフォルトの名無しさん:2011/12/31(土) 15:01:37.70
コマンドライン引数で、コマンドのオプション処理のところなんですが

if(**(++argv)=='-'){
 switch(*++(*argv)){
  case 't':
 }
}
のように++(*argv)のポインタの移動で、argv[1][0]→argv[1][1]の処理が出来るのに、
double型4*3の配列の行ごとの合計を求めて表示する関数
void sum(double z[][3],int n){ //nは行数=4
で受け取って
for(i=0;i<n;i++){
 for(j=0;j<3;j++)
  sum+=*++(*z);  //←ここでエラーが出ます
 printf("%d行めの合計は%f\n",sum);
 z++;
}
だとコンパイラからは「インクリメントの被演算子として左辺値が必要です。」とエラーが吐かれます
"sum+=**z;"は通りますが、その次に"++(*z);"を入れると、「二項演算子 + への無効な被演算子です (‘double[3]’ と ‘int’)」とエラーが出ます
そこで、該当個所を
「sum += *(*z+j);」にするとコンパイラも通り、期待通りの挙動をしてくれるのですが
配列z[i]の要素の、配列の要素z[i][j]を指すポインタをインクリメントするといったことはできないのでしょうか?
上の例で、それができる理由などはありますか?
448デフォルトの名無しさん:2011/12/31(土) 15:13:52.63
int a[10];
a++;
449デフォルトの名無しさん:2011/12/31(土) 15:21:13.88
初心者はC++のstringつかってしょりしろ
450デフォルトの名無しさん:2011/12/31(土) 15:42:12.76
>>448
なるほど・・・まさしくな例ですね
それができないというか明らかに見慣れないのは分かるのですが
int a[10]; a++;が出来ないのは内部的にどういう理由なんでしょうか?

ポインタzが配列z[0]〜z[3]の先頭アドレスz[0]を指すのに対し
*zはx[0]のエイリアスで、
*zは配列z[0][0]〜z[0][2]の先頭アドレスz[0][0]を指す
とは単純に言えないのですかね・・・

それと
if(**(++argv)=='-'){
 switch(*++(*argv)){
  case 't':
 }
}
ができるのはchar型特有なんでしょうか?
451デフォルトの名無しさん:2011/12/31(土) 15:46:14.72
int a[10]は配列。
int *aはポインタ。
452450:2011/12/31(土) 15:48:10.79
すいません、>>450に追記すると
int a[10];に対してaのアドレスをint *ptrとして別の関数に渡してやれば
ptr++;の操作はできることと
a++;との差異は何なのでしょうか
453デフォルトの名無しさん:2011/12/31(土) 15:50:08.40
別の関すに渡しているのは値。
その関数ではポインタで受けてるから操作できるってだけ。
454デフォルトの名無しさん:2011/12/31(土) 15:52:30.61
>>451
あぁ、aは配列なのに対して、>>452で言うならint *ptrはポインタですもんね
なるほど、zはポインタで、*zが配列を指しているってことですか
確かにコンパイラのエラー表示がしっくりきました
ありがとうございます
455デフォルトの名無しさん:2011/12/31(土) 15:54:57.70
ほう、飲み込みが早いな。
もうこれでQZを越えたぞ。
456デフォルトの名無しさん:2011/12/31(土) 15:59:50.53
constなのか書き換え可能なのか考えろよ。
char a[]="0123";でa+1はできるだろ。
a=a+1は無理だろ。
何で無理なのかはそういう仕組みで作ってしまったからだな。
457デフォルトの名無しさん:2011/12/31(土) 16:05:05.60
文字リテラルと書き換え不可能とは別の事柄だな。

文字列リテラル - mkubara.com
http://mkubara.com/index.php/%E6%96%87%E5%AD%97%E5%88%97%E3%83%AA%E3%83%86%E3%83%A9%E3%83%AB



リテラル文字列は適切な const char[] 型を持つ
http://msdn.microsoft.com/ja-jp/library/16c4s7yy(v=vs.90).aspx



文字列リテラルと char* (C++ 移行ガイド)
http://docs.oracle.com/cd/E19957-01/805-7888/z4000220f2c4c/index.html
458デフォルトの名無しさん:2011/12/31(土) 16:10:08.03
char a[]="0123";のアドレスが書き換えられないのは、
コンパイラが確保した変数のアドレス配置を書き換えられないって事だな。
例えば
int n=1;のアドレスは&nだが、&n=&n+1とはできないのと一緒だな。
459 ◆QZaw55cn4c :2011/12/31(土) 16:11:57.47
>>447
複数の点ではまっているようだ。

(1)
double[][N] は double ** と可換ではない。
コマンドライン引数の内容が格納されている *argv[] は決して char[][] にはならないことと同様。
http://codepad.org/SNGc1UiK

(2)
>>448
×double z[][3] で z++;

(3)
×sum+=*++(*z);
○sum+=*((*z)++);
460デフォルトの名無しさん:2011/12/31(土) 16:17:03.58
またわけのわからないことを言い出したな。
461デフォルトの名無しさん:2011/12/31(土) 16:18:13.28
char str[]="0125634";

char str[]="3120456";
のように、0から6までの半角の数字を重複する事無く全て含んでいるかチェックしたいと思っています。
現在、forループ中で
if(str[i]-'0'==3)flag3=TRUE;
のように一つずつチェックしているのですが、もっとよい方法はありませんか?
462 ◆QZaw55cn4c :2011/12/31(土) 16:19:20.37
>>457
char *p = "0123"と char p[] = "0123" とを混同していないか?
463デフォルトの名無しさん:2011/12/31(土) 16:19:21.30
>>461
qsort使えば?
464デフォルトの名無しさん:2011/12/31(土) 16:21:37.95
>>456
なるほどなるほど・・・
確かにいろいろ繋がりました
constと書き換え可能の視点で見ると良さそうですね

>>457のサイトをちらちら読ませてもらいましたが
コマンドライン引数として受け取った、文字列リテラルに関しては
配列で実現する文字列というより、ポインタで実現する文字列として扱っているから
*argvは配列ではなくポインタであるんだろうと気づきました(違ってたら言ってください

>>459
++も*も右結合の優先順位は同じですから(3)に関してはどっちもエラーが出ました
465デフォルトの名無しさん:2011/12/31(土) 16:24:24.97
>>461
用途は?
466デフォルトの名無しさん:2011/12/31(土) 16:25:30.52
面白そうだからやってみよう。
でも、if(str[i]-'0'==3)flag3=TRUE;
と大差なさそうだな。

int n = 0;
for (int i = 0; str[i]; ++i) {
 n |= 1 << (str[i] - '0');
}
if (n == (1 << 7) - 1) { }

ちゃんと動くか確かめてない。
それに、速度的には全然ダメだろう。
467デフォルトの名無しさん:2011/12/31(土) 16:25:41.36
>>459
(3)
それに関してはコード自体が間違ってました、すいません
しかしエラーという点では同じです

いろいろと考えることありそうなので、少し吟味させてもらいますねー
468デフォルトの名無しさん:2011/12/31(土) 16:29:09.99
>>461
もっといいかはわからんが、俺ならこうする。

int counts[7];
int i;
const char *p;
for(i = 0; i < 7; i++){
 counts[i] = 0;
}
for(p = str; *p != '\0'; p++){
 assert('0' <= *p && *p < '7');
 counts[*p - '0']++;
}
int ok = 1;
for(i = 0; i < 7; i++){
 if(counts[i] != 1){
  ok = 0;
  break;
 }
}
469デフォルトの名無しさん:2011/12/31(土) 16:29:47.47
>461
char chk[7]={0};
flag = FALSE;
...
if( (++chk[str[i]-'0']) >1) {
/*重複あり*/
flag=TRUE;
}
470デフォルトの名無しさん:2011/12/31(土) 17:07:19.61
◆QZaw55cn4cって昔は質問者に対しては敬語だったのに、何か上からになったな。

あ、
ttp://mentor-diamond.jp/blog2/kokusai/?p=1017
この子が言ってる計算機科学なんだけど、こういうのって
プログラミングできないと勉強とか研究できないものなの?


471デフォルトの名無しさん:2011/12/31(土) 17:14:51.70
ゲームクリエイターってゲームのインターフェースだけを考えて
プログラムは全くできなくてもいいんですか?
472デフォルトの名無しさん:2011/12/31(土) 17:19:21.90
473 ◆QZaw55cn4c :2011/12/31(土) 22:46:36.69
>>455
>>447 の根本的な問題がまったく指摘できていない件について
474デフォルトの名無しさん:2011/12/31(土) 22:47:05.77
>>440
べつにsize_tでもlong long でも使えばええがな
475デフォルトの名無しさん:2011/12/31(土) 23:01:57.23
>>471
そりゃボードゲームとかカードゲームとか作るのもいるし
476デフォルトの名無しさん:2011/12/31(土) 23:17:43.23
>>471
そりゃそうだろ。ザクっとデモとかモックアップ持ってける人は強いと思うけど。
映画監督がセット全部建てられる必要は無いだろ。
477デフォルトの名無しさん:2011/12/31(土) 23:34:53.55
478デフォルトの名無しさん:2011/12/31(土) 23:45:33.44
>>474
それだとcapaがLONGLONG_MAX越えたらAUTO。
479デフォルトの名無しさん:2012/01/01(日) 00:30:29.22
あけましておめでとう!
Javaプログラマーの私が初書き込みを獲らせて頂きますね^^
480 【大吉】 【1860円】 :2012/01/01(日) 00:43:45.15
派遣でCやってた俺の初カキコ。
学校でCを習ってたころに、このスレを発見できればよかった。
481デフォルトの名無しさん:2012/01/01(日) 01:33:27.67
C言語さん今年もよろしく頼むよ
482デフォルトの名無しさん:2012/01/01(日) 01:34:29.10
おう、まかせとけ。
483461:2012/01/01(日) 02:37:00.06
皆様、回答ありがとうございます。
そして明けましておめでとうございます。

まさかこれ程の答えてくれる方がいらっしゃるとは...それぞれ確認していきたいと思います。

484デフォルトの名無しさん:2012/01/01(日) 02:44:50.76
まだ明けてねーだろ馬鹿。
一日の始まりは日の出からだ馬鹿。
485デフォルトの名無しさん:2012/01/01(日) 02:52:25.06
新年早々何キレてんだ坊主
486デフォルトの名無しさん:2012/01/01(日) 02:58:52.45
>>484
一年の始まりは1月1日 0:00 からだ、ボケ。
487デフォルトの名無しさん:2012/01/01(日) 03:01:07.54
>>484
それが何の仕様かは知らんが、2chの仕様としては0:00からじゃね?
488デフォルトの名無しさん:2012/01/01(日) 03:28:00.45
一日の始まりが日没からだった暦では、「クリスマス・イブ」はクリスマス日の始まりを意味してたけどな。
489デフォルトの名無しさん:2012/01/01(日) 04:47:24.46
printf("ba------ka\n");
490デフォルトの名無しさん:2012/01/01(日) 06:16:00.89
>>478
そのまえにヒープが足りなくなるからどうでもいい。
491デフォルトの名無しさん:2012/01/01(日) 10:38:43.33

「経世会(旧田中派)」VS「清和会」>
(田中派)田中角栄   逮捕 ロッキード事件 (←東京地検特捜部)
(経世会)竹下登    失脚 リクルート事件 (←東京地検特捜部)
(経世会)金丸信    失脚逮捕 佐川急便献金・脱税 (←東京地検特捜部&国税) 
(経世会)中村喜四郎  逮捕   ゼネコン汚職 (←東京地検特捜部)
(経世会)小渕恵三   急死(←ミステリー)
(経世会)鈴木宗男   逮捕 斡旋収賄 (←東京地検特捜部)
(経世会)橋本龍太郎  議員辞職 日歯連贈賄事件 (←東京地検特捜部)
(経世会)野中広務   議員辞職 日歯連贈賄事件 (←東京地検特捜部)
(経世会)村岡兼造   逮捕   日歯連贈賄事件 (←東京地検特捜部)
(経世会)小沢一郎   西松不正献金事件 (←東京地検特捜部)
(経世会)二階俊博   西松不正献金事件 (←東京地検特捜部)
(清和会)岸信介    安泰  A級戦なのに釈放。
(清和会)福田赳夫   安泰  清和会を創設
(清和会)安倍晋太郎  安泰  国際勝共連合、統一教会に深く関与
(清和会)森喜朗    安泰  子息の押尾事件関与疑惑ほか
(清和会)塩川正十郎  安泰  小泉構造改革の旗振り役
(清和会)小泉純一郎  安泰  郵政米営化、りそな問題他、疑惑の総合商社。
(清和会)尾身幸次   安泰
(清和会)中川秀直   安泰  統一協会(=米国福音派)に祝電   
(清和会)安倍晋三   安泰  統一協会(=米国福音派)に祝電
492デフォルトの名無しさん:2012/01/01(日) 11:48:18.18
一年の計は元旦にあり
ですよ。
自由でなんというか救われてなきゃあダメなんだ 独りで静かで豊かで・・・
493デフォルトの名無しさん:2012/01/01(日) 17:11:57.53
unsigned int n = 0 ;
n -= 1 ;
if(n == UINT_MAX) { /* proc */ } else { /* error */ }

これって環境によらずprocのブロックに行きますか?
494デフォルトの名無しさん:2012/01/01(日) 17:15:54.15
いいえ。
495デフォルトの名無しさん:2012/01/01(日) 17:21:12.12
何がやりたいかわからない。
496 ◆QZaw55cn4c :2012/01/01(日) 17:26:32.84
>>470
丁寧語にしても上から目線だといわれ、丁寧語をやめて常体にしても上から目線といわれるのであれば、今後は敬体にするしかないですね。
497デフォルトの名無しさん:2012/01/01(日) 17:30:45.95
(unsigned int)-1はUINT_MAXになるように規格に決まってたはず
だからこの場合も常に正しいんじゃないかな
498デフォルトの名無しさん:2012/01/01(日) 17:31:03.13
>494
たとえばどんな環境だと駄目なの?
499デフォルトの名無しさん:2012/01/01(日) 17:33:17.03
以下のスレの最後のほうでC言語もまじって議論になってますが本当ですか?


【PHP】下らねぇ質問はID出して書き込みやがれ 113
http://kohada.2ch.net/test/read.cgi/php/1322564127/
500デフォルトの名無しさん:2012/01/01(日) 19:43:13.35
JISに記載はあるが、減算のオーバーフローの場合”剰余”ってのはどうなるんだろう?
(引用 JISX3010 6.2.5 型)
「符号無しオペランドを含む計算は,決してオーバフローしない。
すなわち,結果を符号無し整数型で表現できないときは,
その型で表現しうる最大値より1 だけ大きい数を法とする剰余を結果とする。」
501デフォルトの名無しさん:2012/01/01(日) 19:58:44.67
だからオーバーフローしないって、そこに書いてあるだろ
502デフォルトの名無しさん:2012/01/01(日) 20:55:21.28
>>470
符号化とか純理論でもいけると思うけど。
503デフォルトの名無しさん:2012/01/01(日) 21:02:51.91
>>499
phpは昔数か月だけやったので、覚えていないけど。
php等の言語が当たり前にサポートされている機能が、C言語ではサポートされていないことも多いから。
だから、知識として必要なアルゴリズムは別なはずだよ。
504デフォルトの名無しさん:2012/01/01(日) 21:05:03.10
>>503
>C言語ではサポートされていないことも多いから。

C言語使う奴は、サポートされてなければ自分でどうにかするもんだ
505デフォルトの名無しさん:2012/01/01(日) 21:15:14.23
負数の剰余ってなにか数学的な定義があるのか?
ないとしたらC言語でも環境依存?
506デフォルトの名無しさん:2012/01/01(日) 21:17:48.83
符号なしがどうやって負数になれるんだよw
507デフォルトの名無しさん:2012/01/01(日) 21:30:24.04
符号なしの演算結果が負数になるときが
「結果を符号無し整数型で表現できないとき」
じゃないの?
508 ◆QZaw55cn4c :2012/01/01(日) 21:31:10.01
>>505
除法における剰余は実質的に厳密に定義されているわけではないからなあ。
wikipedia http://ja.wikipedia.org/wiki/%E9%99%A4%E6%B3%95#.E5.AE.9A.E7.BE.A9 では、正剰余、負剰余、最小非負剰余、絶対値最小剰余、等があるようで、その場その場で便利であるように解釈されていると思います。
で >>500 の場合は、正剰余と考えるのが妥当でしょう。
509デフォルトの名無しさん:2012/01/01(日) 21:33:14.95
>>505
C言語では負数の剰余の決め方が定められているとさ。
http://www.bohyoh.com/CandCPP/FAQ/FAQ00134.html
知らなかった。
510デフォルトの名無しさん:2012/01/01(日) 22:13:50.93

           ______
          r〃〃〃 f7⌒ろ)
           l‖‖‖ ||   f灯
            |‖‖‖ ||   | |
            |儿儿儿._」⊥厶
           〔__o____o_≦ト、
.          i / ⌒  ⌒  ヽ )
          !゙ (・ )` ´( ・)   i/
          |  (_人__)    | \
          \  `ー'    /  / ー- 、
.          ,ィ(⊆≧リ≦⊇)〃   /     rク\
.       /   | ̄r少}¨ ̄〃   /    /′ ヽ
      〃 l   |  l| | l| 〃    /     /    └ヽ
     /    l  |l | |l/″   /      !  厂    \
    く,  Y   ! l」fレト!    /       | /        1
    丿  |   | 丿} じ’  /      | /         |
   /     l   | `¨      /      レ′        |

             真の思考停
    (在位 2009年9月16日〜2010年6月8日)

   民主朝の初代考停、言行不一致、虚言、脱税、
   そして外交において巨大な負の遺産を築いた。
511デフォルトの名無しさん:2012/01/01(日) 22:31:27.24
>>508
今調べたのにそんな言い方するから恥をかくんだよ?
512デフォルトの名無しさん:2012/01/01(日) 22:42:08.29
-7÷3
って、
0 あまり -7
であるべきだろ。
513デフォルトの名無しさん:2012/01/01(日) 22:55:02.19
またバカが沸いた。
514 ◆QZaw55cn4c :2012/01/01(日) 22:56:23.57
>>511
え?>>500 を読むかぎりどう考えても >>508 の解釈(正剰余)しかあり得ないんですけれども‥‥‥。
じゃあ >>500 はどう解釈するんですか?具体的に記述願いますね。
あと>>511文中の「?」の使い方がよくわからないんですけど。まさか語尾上げを表意しているとかですかね?最近のはやりですか?

ISO/IEC 9899:1999 6.2.5.9
A computation involving unsigned operands can never overflow,
because a result that cannot be represented by the resulting unsigned integer type is
reduced modulo the number that is one greater than the largest value that can be
represented by the resulting type.

ISO/IEC 9899:1999 6.5.5.6
When integers are divided, the result of the / operator is the algebraic quotient with any
fractional part discarded. 88)
88)This is often called ‘‘truncation toward zero’’.
515デフォルトの名無しさん:2012/01/01(日) 22:58:12.64
語尾に?を付けるのは、自分の言う言葉に自信がないから
516デフォルトの名無しさん:2012/01/01(日) 22:58:57.80
500を読む限りって...
全部読んでないのかよ。
517デフォルトの名無しさん:2012/01/01(日) 22:59:09.00
元を。
518 ◆QZaw55cn4c :2012/01/01(日) 23:07:41.00
>>516-517
え?>>514 に元とやらの関連部分を丸々コピペしたのですが、これだけで判断もできないの?
そちらの >>500 の解釈を具体的によろしく。

しまった、これはわすれてたなあ。
ISO/IEC 9899:1999 6.5.5.6
If the quotient a/b is representable, the expression (a/b)*b + a%b shall equal a.
519デフォルトの名無しさん:2012/01/01(日) 23:12:15.48
>>511文中の「?」の使い方

子供に言い聞かせるときのオカンの口調であろ
520デフォルトの名無しさん:2012/01/01(日) 23:17:27.90
コテハン名乗ってる割には、些細なことにうるさいやつだな。
コテ禁止スレが多いのもわかる。
521デフォルトの名無しさん:2012/01/01(日) 23:19:52.99
>>509のページを読んでもよくわからなかったんだけど
規格にも書いてある「代数的な商」ってどういう意味?
522 ◆QZaw55cn4c :2012/01/01(日) 23:30:01.06
>>521
-7 ÷ 3 ならば、普通に電卓等で割り算すると、-2.3333......。これが代数的な商でしょうね。文脈からの推測だけれども。
で、C99 ならば、-7 / 3 = -2
したがって、C99 の余りは = -7 - ( -2 * 3 ) = -1 でこれしかない。
でもね。C99 の剰余演算子の定義と、規格の中で使われている単語「剰余」、英語では modulo は違うと思うんです。違うとしないと意味をなさないですから。
523デフォルトの名無しさん:2012/01/01(日) 23:30:41.42
>>521
代数の定義そのままだと受け取ったけど。
語弊があるように言えば、数字を変数を使って処理しきれる数学の事じゃ。
524デフォルトの名無しさん:2012/01/01(日) 23:39:33.47
そもそも「割り算」ってなんなのよってことだ。

「−7個の林檎を3人で分けたら1人分はいくつになりますか?」

答えは「ゼロ」だよ。
525デフォルトの名無しさん:2012/01/01(日) 23:40:47.50
>>520
こいつは都合が悪くなるとすぐコテ外して自演するから性質が悪い。
レベルも低いが。
526デフォルトの名無しさん:2012/01/01(日) 23:41:05.13
逆算できるようにしましょうねって事じゃないの?
527デフォルトの名無しさん:2012/01/01(日) 23:43:12.14
>>522
ダリぃ。

そこの記述が曖昧でもわざわざ型変換とルール変える奴いねーから。
んな瑣末な解釈は入門スレで長々グダグダやってんな。
JISの6.3.1.3でも読んで今日は寝ろ。
起きてもまだ気になるなら、あとはガチ規格スレでやれ。
528デフォルトの名無しさん:2012/01/01(日) 23:45:23.66
(-7 % 3) + (-7 / 3) * 3 の評価結果が -7 に戻ればオケ ってことかの
529デフォルトの名無しさん:2012/01/01(日) 23:59:26.20
負債の概念が無いとか何処の途上国人だよて話しだ
530 ◆QZaw55cn4c :2012/01/02(月) 00:10:03.48
>>527
それが、C99 では % の意味が変わっている(正確には今まで処理系依存だったのが規格にのった)んですね。その点を教えてもらったことは >>509 に感謝。

>そこの記述が曖昧でもわざわざ型変換とルール変える奴いねーから。
確かに教えてもらった場所 ISO/IEC9899:1999 6.3.1.3.2 に的確に書いてますね。納得したので寝ます。おやすみなさい。

>>528
たぶん。
531デフォルトの名無しさん:2012/01/02(月) 05:01:21.25
トイレに行きたい気分をcで表すとどうなりますか?
532デフォルトの名無しさん:2012/01/02(月) 05:02:34.27
表さない
これが真理
533デフォルトの名無しさん:2012/01/02(月) 05:30:49.63
ccc
534デフォルトの名無しさん:2012/01/02(月) 07:04:20.35
>>532
大変参考になりました
>>533
死ね
535デフォルトの名無しさん:2012/01/02(月) 07:53:48.16
cね
536デフォルトの名無しさん:2012/01/03(火) 04:19:01.01
>>534
答えはCCだな。
537デフォルトの名無しさん:2012/01/03(火) 04:36:02.85
乱数で出した数の重複を防ぐ以下のソースを書いたんだけど、重複が出てくる。
何が悪いの?

srand((unsigned) time(NULL)); /* 乱数の初期化 */
for (i = 0; i <= 5; i++) {
ra = rand() % 42 + 1; /* raに1〜42を入れる */
if (ra == r[i]) { /* raとr[i]が同じなら */
i--;
} else { /* それ以外なら */
r[i] = ra;
}
}
538デフォルトの名無しさん:2012/01/03(火) 04:40:48.45
i未満の全ての要素とraを比較しましょう
539デフォルトの名無しさん:2012/01/03(火) 04:46:25.76
>>537
そりゃ今まで出した乱数を全くチェックしてないからな
チェックしてるのは今から入れようとしてる場所だけ
540デフォルトの名無しさん:2012/01/03(火) 05:41:29.69
>>538,539
数値が入ってないものと比べることになってたのか。
ありがとう。数値が入った後で比べるようにする。
541デフォルトの名無しさん:2012/01/03(火) 17:55:34.69
C言語で皆が元気になるモリモリプロジェクトを作成するにはどうしたらいいですか?
542デフォルトの名無しさん:2012/01/03(火) 17:58:32.52
Hello,World!から始めて
四則演算、配列、条件分岐(if,switch)、繰り返し(for,while)、関数の宣言は一通りできるようになったし、
スコープ、ポインタ、構造体もある程度理解したつもりなんだが
未だにソフトウェア開発とかゲーム制作とか夢のまた夢
どうしたらその段階にいけるの
543デフォルトの名無しさん:2012/01/03(火) 18:03:34.51
向いてないから死ね
544デフォルトの名無しさん:2012/01/03(火) 18:17:33.29
>>542
既に出来るよ。
ブロック崩しとか、インベーダー風ゲームとか、
とりあえず作ってみなよ。
多分できるから。
545デフォルトの名無しさん:2012/01/03(火) 18:46:12.37
初めて作ったゲームは課題で作ったcursesでのブロック崩しだったなぁ
546デフォルトの名無しさん:2012/01/03(火) 19:25:55.19
>>542
ゴリ押しでいいならそのままでもできる
良い設計を心がけようとするとあと数年かかる
547デフォルトの名無しさん:2012/01/03(火) 19:26:58.59
良い設計が学べる書籍やWEBサイト教えてください
548デフォルトの名無しさん:2012/01/03(火) 19:33:49.59
>>542
こういう事ができるソフトが欲しいとか、
そういうのを考えて作ってみる。
549デフォルトの名無しさん:2012/01/03(火) 19:53:33.96
>>547
まずは自分で探す事を学べ
550デフォルトの名無しさん:2012/01/03(火) 20:29:06.78
>>547
人さまのソースを見る。
オープンソースで規模のあるコードは、それなりに上手くできている。
ソフト開発って、作りたいものを作ればいいだけ。
こんなフリーウェアほしいってのを、自分で作ればいい
551デフォルトの名無しさん:2012/01/03(火) 20:34:08.11
夕飯の時間に食卓に座れば食事がやってくる
そうじゃないとダメだしそうあるべきなんです
552デフォルトの名無しさん:2012/01/03(火) 20:38:14.65
良い設計なんかできなくてもソフトウェア自体は作れる
作りたいものが何もないのが致命的なんだよ
作りたいものさえあれば馬鹿でも経験が無くても必死に調べて
試行錯誤しながらも完成にこぎつけるんだよ
553デフォルトの名無しさん:2012/01/03(火) 20:43:40.75
なんだ、致命的って。
死ぬのか?
お前、死ぬのか?
554デフォルトの名無しさん:2012/01/03(火) 20:43:57.89
うざい
555デフォルトの名無しさん:2012/01/03(火) 20:48:39.32
どうやら屍のようだ。
556デフォルトの名無しさん:2012/01/03(火) 20:52:39.14
>>553は既に死んでいる
557デフォルトの名無しさん:2012/01/03(火) 22:07:02.74
>542
標準ライブラリ以外のライブラリ使用に挑戦。
グラフィック描画やパッド入力など。
558デフォルトの名無しさん:2012/01/04(水) 03:49:45.36
とりあえず socket.h かWinSock じゃね?
559デフォルトの名無しさん:2012/01/04(水) 04:17:16.63
>>542
OSをWinと想定するが、Win32API覚えると良いよ
面倒くさかったらC#で.netでもいいけど
文法と規格に準じた標準ライブラリ覚えたんなら、環境依存のライブラリの使い方覚えれば、もぐら叩きやじゃんけん位はすぐに作れる

560デフォルトの名無しさん:2012/01/04(水) 04:19:18.69
Google電卓機能だと
-2%10=8
-2%-10=-2
-7%3=2
-7%-3=-1
C言語もこうであって欲しかった
561デフォルトの名無しさん:2012/01/04(水) 07:23:27.43
なんでC言語ってアロー演算子使うんだろう?
型判ってんだからドットでいいじゃないか
562デフォルトの名無しさん:2012/01/04(水) 07:43:59.00
なんでこの板ってアスペばっかなんだよ(´・ω・`)
563デフォルトの名無しさん:2012/01/04(水) 08:41:41.86
>>561
そりゃポインタと実体は全然別物だからね。

別に無理してC使わなくていいんじゃね?
564デフォルトの名無しさん:2012/01/04(水) 12:40:06.22
>>561
それだとプログラマの方が混乱するだろ
565デフォルトの名無しさん:2012/01/04(水) 14:54:39.57
いやならアロー演算子を使わなければいいじゃない
566デフォルトの名無しさん:2012/01/04(水) 15:50:29.55

           ______
          r〃〃〃 f7⌒ろ)
           l‖‖‖ ||   f灯
            |‖‖‖ ||   | |
            |儿儿儿._」⊥厶
           〔__o____o_≦ト、
.          i / ⌒  ⌒  ヽ )
          !゙ (・ )` ´( ・)   i/
          |  (_人__)    | \
          \  `ー'    /  / ー- 、
.          ,ィ(⊆≧リ≦⊇)〃   /     rク\
.       /   | ̄r少}¨ ̄〃   /    /′ ヽ
      〃 l   |  l| | l| 〃    /     /    └ヽ
     /    l  |l | |l/″   /      !  厂    \
    く,  Y   ! l」fレト!    /       | /        1
    丿  |   | 丿} じ’  /      | /         |
   /     l   | `¨      /      レ′        |

             真の思考停
    (在位 2009年9月16日〜2010年6月8日)

   民主朝の初代考停、言行不一致、虚言、脱税、
   そして外交において巨大な負の遺産を築いた。
567デフォルトの名無しさん:2012/01/04(水) 20:37:13.22
日本を滅亡に導いた人物である
568デフォルトの名無しさん:2012/01/04(水) 21:04:46.44
http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0004
この問題なんですが、

http://ideone.com/iUQaM
この解答でWrongAnswerと出ます
間違っている部分がさっぱりわかりません
宜しくお願いします
569デフォルトの名無しさん:2012/01/04(水) 21:52:51.59
ユーティリティーって何?
参考書見てたら、ユーティリティーの作成ってあった。
570デフォルトの名無しさん:2012/01/04(水) 21:55:43.36
utilityは便利な小道具の詰め合わせみたいな感じ
571デフォルトの名無しさん:2012/01/04(水) 22:33:19.98
は?
572デフォルトの名無しさん:2012/01/04(水) 22:39:55.70
>>569
なんで辞書引かないんだ?
なんでググらないんだ?
573デフォルトの名無しさん:2012/01/04(水) 22:42:23.31
辞書をひくごとに寿命が1分縮んでいることに気が付かないのか
574デフォルトの名無しさん:2012/01/04(水) 22:47:55.78
ググれば分かることを聞いてるのは、コミュニケーションをとりたい寂しいPG。
冷たくすんな。
575デフォルトの名無しさん:2012/01/04(水) 23:06:58.54
ソープにでも行けよ
576デフォルトの名無しさん:2012/01/04(水) 23:17:38.87
邪悪です!
577デフォルトの名無しさん:2012/01/04(水) 23:24:25.57
>>568
入力例と出力例が一致しただけじゃ足りない場合がよくあるよ
578デフォルトの名無しさん:2012/01/04(水) 23:34:39.32
>>568
四捨五入の処理入ってる?
579デフォルトの名無しさん:2012/01/04(水) 23:35:55.52
>>578
実際にやってみればわかると思うが、この問題で引っかかるとこはそれじゃなかったよ
580デフォルトの名無しさん:2012/01/04(水) 23:41:42.03
>>579
あ、わりい。
581デフォルトの名無しさん:2012/01/04(水) 23:43:16.72
>>577-579
四捨五入はprintfがやってくれるので問題ないみたいです
+0/-0が関係あるのかと思って-0を+0にしたりしてみたんですがダメみたいですね
582デフォルトの名無しさん:2012/01/04(水) 23:48:12.56
>>581
1入力(a b c d e f)で1出力ではなく、複数入力に複数出力では?
sample inputは2個の入力に対して、2個の出力を表示してる。
583デフォルトの名無しさん:2012/01/05(木) 00:08:20.53
今までunsignedの付く変数型を使ったことが無かったので,試しに使ってみたのですが…
例えばunsigned int型なら,負の値は使用できないはずですよね?
int a = 100;
int b = 200;
unsigned int c = a - b;
とすると,cの値がマイナスになるのでエラーでも出るのかと思ったのですが…
問題なく c = -100 と出てしまいました.何故でしょうか?
codepadの仕様…?
http://codepad.org/GRuREQwD
584デフォルトの名無しさん:2012/01/05(木) 00:10:36.33
>>583
c = %u
585デフォルトの名無しさん:2012/01/05(木) 00:12:14.37
そりゃ "%d" って指定したら、そうなるだろうね。
586デフォルトの名無しさん:2012/01/05(木) 00:45:29.78
>>581
あれ、-0だとおもってたが、、、他に特に特殊な処理は入ってないけれど
587デフォルトの名無しさん:2012/01/05(木) 01:35:53.02
>>568
おそらく+0 -0の問題なんだろう
if(x==0)x=0;としたら通った
+0.0とするのでは対応できないということか
588デフォルトの名無しさん:2012/01/05(木) 01:52:39.42
いや、別途-0を+0にするロジックを入れてるっぽい書き方だけどね。>>581
589デフォルトの名無しさん:2012/01/05(木) 08:16:34.51
以下のスレの >>69に、
http://hayabusa2.2ch.net/test/read.cgi/morningcoffee/1325667058/69

「マイナスになる可能性がないものは全部unsignedにしろ」というレスがあったのですが、
これの理由って何なのでしょうか。
590デフォルトの名無しさん:2012/01/05(木) 08:37:51.07
>>589
面倒だからそこは読んでないけど、負の値を扱わない保証がある場合はunsignedの方が値域を広く取れる。
しかし、どの道入門レベルでは細かいことまで気が回らないだろうから
signedで適切に組めるようになることを目指した方がいいかもしれない。
つまり、「マイナスになる可能性がないものは全部unsignedにしろ」と言うよりは
signedかunsignedかは適材適所、I/Fをよく考えて決めるべき。
591デフォルトの名無しさん:2012/01/05(木) 08:58:50.47
大きさが足りないとかビット演算したいとかの理由がなければ常にsignedでいいよ
unsignedだと小さな負の整数が大きな整数に変わっちゃうから下限チェックで問題が発生する
592デフォルトの名無しさん:2012/01/05(木) 09:10:05.79
ありがとうございます。
593デフォルトの名無しさん:2012/01/05(木) 16:21:45.78
http://codepad.org/5x9nSXmX
↑の18行目以下の解説をどなたかお願いできませんか?
594デフォルトの名無しさん:2012/01/05(木) 16:30:49.93
>>593
へったくっそなコードだな。
595デフォルトの名無しさん:2012/01/05(木) 16:34:57.22
>>593
解説:
なんでstrstr()使わねーの? 馬鹿じゃね?
strstr()相当を作る課題なら、match_str()の中でstrlen()も使ってないのに
strncmp()使っている辺りが大間抜け。
596デフォルトの名無しさん:2012/01/05(木) 16:53:16.74
C言語今から勉強しようと思うんだけど初心者にオススメの本教えて下さい
597デフォルトの名無しさん:2012/01/05(木) 16:57:44.09
598デフォルトの名無しさん:2012/01/05(木) 17:38:08.09
>593
ファイル開いて
一行づつ読み込んで
検索する文字列を探す。

標準文字列関数の動作の勉強かと思ったがstrncmpは使ってるんだよなぁ。
599デフォルトの名無しさん:2012/01/05(木) 19:26:00.00
#include <stdio.h>
#include <string.h>
#include <process.h>
#include <stdlib.h>

int main(){
printf("%s",INPUTj3g());
return 0;
}

char INPUTj3g(){
    char filename[30];
    int strnum;
    printf("Input file name>");scanf("%s",&filename);
    strnum = strlen( filename );
    if(filename[strnum-1] != 't'){
       filename[strnum-4] = '.';
       filename[strnum-3] = 't';
       filename[strnum-2] = 'x';
       filename[strnum-1] = 't';
       filename[strnum] = '\0';
    }
return filename;
}

上のような文字列を返すユーザ関数を作りたいのですがどうすればよいのでしょうか?
600デフォルトの名無しさん:2012/01/05(木) 19:30:22.16
どうすればよいのだおうね
601デフォルトの名無しさん:2012/01/05(木) 19:35:05.64
>>599
突っ込みどころがありすぎ
ここで訊くより入門書読んだほうが早いレベル
602デフォルトの名無しさん:2012/01/05(木) 19:45:58.68
>>599
INPUTj3g()を抜けた時点でfilenameは使えなくなるから、呼び出す側で用意したほうがいいかな。
あとそれだと3文字以下の入力のときに、バッファの外に書き込むことになるね。
最後の文字が't'以外のときに強制的に".txt"に書き換える仕様もどうよって感じ。

#include <stdio.h>
#include <string.h>
#include <process.h>
#include <stdlib.h>

int main(){
char filename[100];
printf("%s",INPUTj3g(filename));
return 0;
}

char INPUTj3g(char* filename){
    int strnum;
    printf("Input file name>");scanf("%s",filename);
    strnum = strlen( filename );
    if(filename[strnum-1] != 't'){
       filename[strnum-4] = '.';
       filename[strnum-3] = 't';
       filename[strnum-2] = 'x';
       filename[strnum-1] = 't';
       filename[strnum] = '\0';
    }
return filename;
}
603デフォルトの名無しさん:2012/01/05(木) 19:56:44.36
>>602
ありがとうございます、ではもし拡張子が入力されていなかったら
プログラムで付け直させるにはどうすればよいでしょうか?
604デフォルトの名無しさん:2012/01/05(木) 20:02:53.96
>       filename[strnum-4] = '.';
>       filename[strnum-3] = 't';
>       filename[strnum-2] = 'x';
>       filename[strnum-1] = 't';
>       filename[strnum] = '\0';
strcpy(filename-4,".txt");
遅くてもこう書き直したい。
605604:2012/01/05(木) 20:07:18.24
>strcpy(filename-4,".txt");
俺ってバカ…
strcpy(&filename[strnum-4],".txt");
606デフォルトの名無しさん:2012/01/05(木) 20:08:11.48
>>603
if (strchr(filename, '.') == NULL) { /* '.'がないから拡張子が入力されていない */
 strcat(filename, ".txt"); /* 拡張子を追加 */
}

↑みたいな感じでいいと思う。
ファイル名をフルパスで入力されてディレクトリに'.'が含まれている場合とか
には対応できない。
バッファの最大長を超える長さで入力された場合とか、まじめに作るとけっこう面倒。
607デフォルトの名無しさん:2012/01/05(木) 20:17:54.08

>>604-607
ttp://codepad.org/ZnGnm8NK
エラー 19: 移植性のないポインタ変換(関数 INPUTj3g )

まだダメみたいです・・・orz
608デフォルトの名無しさん:2012/01/05(木) 20:21:42.98
>>607
INPUTj3g()は
char INPUTj3g(char* filename)じゃなくて、
char* INPUTj3g(char* filename)だった。
609デフォルトの名無しさん:2012/01/05(木) 20:25:07.59
>>604-607>>608
できました、ありがとうございます!
610デフォルトの名無しさん:2012/01/05(木) 21:30:03.51
611デフォルトの名無しさん:2012/01/06(金) 03:45:21.11
全ての行にコメント書くとさすがにくどい?
612デフォルトの名無しさん:2012/01/06(金) 03:51:15.19
>>611
意味があればいいけど。
613デフォルトの名無しさん:2012/01/06(金) 04:39:17.13
>>611
よほど全編に渡ってトリッキーなやり方してるコードとか
説明のためのサンプルコードとかなら分かるが
基本的にはコメントの内容を疑ってしまうかな…
どんなコメントなんだい?
614デフォルトの名無しさん:2012/01/06(金) 08:08:08.98
何故エラーが出るかわかりません。

replace = strstr(ptemp,"テスト(XXXX年XX月分)");
sprintf(monthfilename,"テスト(%c%c%c%c年%c%c月分)",monthbuf[0],monthbuf[1],monthbuf[2],monthbuf[3],monthbuf[4],monthbuf[5]);
strncpy(replace,monthfilename,sizeof(monthfilename));

fputs(ptemp,fp2);←ここで書き込みアクセス違反でエラー

monthfilenameには201110っていう文字が入ってる。
fp2のファイルポインタはfopenした時にNULLじゃなかったから正常なファイルポインタのはず。
どんな原因が考えられますか?
615デフォルトの名無しさん:2012/01/06(金) 08:54:42.66
>>614
>monthfilenameには201110っていう文字が入ってる。
monthbufの間違いだよな?
それにしたって変数名からするとmonthfilenameでfopenしそうなもんだが
”テスト(2011年10月分)”って名前のテキストファイルつくんの?
もうちょっとコード出そうよ。
616デフォルトの名無しさん:2012/01/06(金) 08:58:57.38
>>614
ファイルのオープンモードの間違い
ポインタの指している先が無効
ここに書いてない部分が変なアドレスを書き換えている
617デフォルトの名無しさん:2012/01/06(金) 09:03:06.00
>>615
monthbufの間違いです。
わかりにくかったですね。

char monthbuf[30];
char monthfilename[50];
//日付書き換え用ポインタ
char *replace;

//月取得
puts("指定した月をyyyymmddの形式で入力して下さい");
scanf("%s",monthbuf);

sprintf(monthfilename,"%s.html",monthbuf);

fp2 = fopen(monthfilename,"w");

replace = strstr(ptemp,"テスト(XXXX年XX月分)");
sprintf(monthfilename,"テスト(%c%c%c%c年%c%c月分)",monthbuf[0],monthbuf[1],monthbuf[2],monthbuf[3],monthbuf[4],monthbuf[5]);
strncpy(replace,monthfilename,sizeof(monthfilename));

fputs(ptemp,fp2);←ここで書き込みアクセス違反でエラー


ptempには大量の文字列が入っています。
replaceのポインタはNULLじゃないことは確認してます。
わかりにくいですが、monthfilenameはただ使いまわししてるだけです。
よろしくお願いします。
618デフォルトの名無しさん:2012/01/06(金) 09:07:15.82
>>617
sizeof が問題だな
終端文字を破壊してるんだろう

おかげで読んじゃいけない部分を読んだ
619デフォルトの名無しさん:2012/01/06(金) 09:16:39.45
>>618
ありがとうございます
sizeofって終端文字を破壊するんですか?
よく意味がわからないんですがどうやって解決すればいいですか?
strlenにしてもだめでした。

とりあえずやりたいのは、
ptempの中にある「テスト(XXXX年XX月分)」という文字列を
ちゃんと数字の入ったものに置き換えたいんです。
620デフォルトの名無しさん:2012/01/06(金) 10:01:35.06
>>619
「sizeofが終端記号を破壊する」のではない。
sizeof(monthfilename)で50が得られるが、本当にreplaceしたいのは”テスト(XXXX年XX月分)”
の部分だから、50ではなく”テスト(XXXX年XX月分)”の長さが必要。

X sprintf(monthfilename, "テスト(%c%c%c%c年%c%c月分)",
O sprintf(monthfilename, "テスト(%c%c%c%c年%c%c月分)¥n", /* <-strlenで長さを得られるようになる */

X strncpy(replace, monthfilename, sizeof(monthfilename));
O strncpy(replace, monthfilename, strlen(monthfilename));
621デフォルトの名無しさん:2012/01/06(金) 10:16:42.62
まだエラー出るじゃねーかw
もう一回自分で調べてみるわ
622デフォルトの名無しさん:2012/01/06(金) 10:45:30.61
*ptemp = "....."とかやってんじゃねーの?
623デフォルトの名無しさん:2012/01/06(金) 11:23:51.71
>>619
strncpy()の挙動はちゃんと調べた?
曖昧にしていると嵌るぞ。
monthfilenameに文字列を作ったら、memcpy(replace, monthfilename, strlen(monthfilename))でいいべさ。
624デフォルトの名無しさん:2012/01/06(金) 11:29:38.54
そもそも、replaceが見つかった時点で
const int year = sizeof("テスト(") - 1;
const int month = sizeof("テスト(XXXX年") - 1;
replace[year] = monthbuf[0];
replace[year + 1] = monthbuf[1];
replace[year + 2] = monthbuf[2];
replace[year + 3] = monthbuf[3];
あ、面倒だ。以下同様に。或いはmemcpy()を使って。
memcpy(replace + month, monthbuf + 4, 2);
ってこったろ。
monthfilenameなんて要らないじゃん。
625デフォルトの名無しさん:2012/01/06(金) 11:30:29.67
>>620
> O sprintf(monthfilename, "テスト(%c%c%c%c年%c%c月分)¥n", /* <-strlenで長さを得られるようになる */
えっ
626デフォルトの名無しさん:2012/01/06(金) 11:40:53.45
>>624
後でメンテが面倒だからその方法はあえて避けた

で、memcpyの関数を見て、「あれ?俺何でstrncpy使ってんだ?」と思ったんで、
memcpy(replace,monthfilename,strlen(monthfilename));
って書いてみたら一発でいけました
strncpyは最後に終端文字が自動的に付加されないことは知ってたから、
使ったのに何でダメだったんだろう?
あくまで文字列コピー用の関数だからかな?
まあとりあえずmemcpyでいけましたんで良しとします。

ご迷惑をおかけしました。
ありがとうございました。
627デフォルトの名無しさん:2012/01/06(金) 11:44:25.52
確かに>620は間が抜けている。

>>604
strcpy()は遅くないよ。
628デフォルトの名無しさん:2012/01/06(金) 11:52:13.36
>>626
sizeof使ってたからじゃなくてか?
629デフォルトの名無しさん:2012/01/06(金) 12:17:00.56
>>628
sizeofをstrlenにしても、strncpyを使ったらだめでした

原因分かる人が居るなら教えて欲しいものですね
630デフォルトの名無しさん:2012/01/06(金) 12:20:55.01
fputs で落ちてるんじゃなくて strncpy の内部で落ちてるんでないかい?

replace の器が 丁度 ,"テスト(XXXX年XX月分)" で終るような場合
sizeof(monthfilename) = 50 で複写すると器の範囲を突破するもの
631デフォルトの名無しさん:2012/01/06(金) 12:27:02.05
エスパー試験か。
632デフォルトの名無しさん:2012/01/06(金) 12:31:48.07
>>630
残念
replaceの器であるptempで該当の文字がある部分は、終端よりも大分前だ。
たぶん終端よりも2000バイトぐらい前。
わかる人いない?
このスレならレベル高そうだから誰かわかると思ったんだけど。
いや、別にバカにしてないよ
633 ◆QZaw55cn4c :2012/01/06(金) 12:37:10.20
http://codepad.org/
話はそれからだ。
634デフォルトの名無しさん:2012/01/06(金) 12:37:53.90
>>632
コードを全部あげてみなよ。
635デフォルトの名無しさん:2012/01/06(金) 12:42:10.40
ptempの文章はあるテキストファイルから読み込んでるから無理
他のコードはvector使いまくってて絶対読めないよ
あと身バレしそうだし。
再現できるコード作ってみるわ。余裕があれば。
636デフォルトの名無しさん:2012/01/06(金) 12:47:50.21
>>635
釣だろうけど手空きだったので。
http://codepad.org/QjXEQX0c


replace = strstr(ptemp, "テスト(XXXX年XX月分)");
で結果NULLの対策サボってるためとエスパーしてみた。
637デフォルトの名無しさん:2012/01/06(金) 12:56:15.99
>>636
実行したら最後に数字の8が書き出されたぞ
あとなんで改行文字入れてるのか理解できん。必要か?
結果NULLについては事前に調べて問題なかったから、
あえて書いてないだけ。
638デフォルトの名無しさん:2012/01/06(金) 13:00:48.51
配列のサイズが実は50ではない、ファイル名のプレフィクスが実はテストではない
strncpyしたあとの文字列を標準出力に出してみるとかデバッガで見てみるとかしたらどう
639デフォルトの名無しさん:2012/01/06(金) 13:01:52.78
ああでもmemcpyならうまくいったのか。
wchar関係とかは
640デフォルトの名無しさん:2012/01/06(金) 13:03:28.82
>>637
再現コードを作ってからにしろ、低脳が。
641デフォルトの名無しさん:2012/01/06(金) 13:08:30.36
ていうか、replaceの位置自体、ptempの終端から2000バイト以上も前の位置なんだから、
そこにもし50バイト書き込んでもちょっと上書きされる部分が増えるだけで、
別に不正な領域に書き出してるわけじゃないじゃん?
もしおかしい領域に書き込んでたら、strncpyの時点でエラーが出るはずだしね。
fputsでエラーが出る理由がわからん。
0x0000000へのアクセス違反っぽいエラーだけど。
なぜmemcpyに変えるだけで、fputsでエラーが出なくなるのかが意味不明。
別に書き換えてる領域は変わんないんだし。

面倒になってきたからゆるーく考えるか、スルーして下さい。
再現コードも作る時間ないかもしれんから
642デフォルトの名無しさん:2012/01/06(金) 13:09:33.30
分かったよ
再現コードは必ず作るから一日ぐらい待っててくれ。
643デフォルトの名無しさん:2012/01/06(金) 13:10:33.20
>>641
実はC++/CLIでpin_ptr使ってないからってこともないんだよね。
644デフォルトの名無しさん:2012/01/06(金) 13:12:05.31
糞CLIなんか使わないよ
645デフォルトの名無しさん:2012/01/06(金) 13:12:28.81
vectorの内部を直接触ってるとか
646614:2012/01/06(金) 13:13:58.28
ptempはただの動的確保したバッファだし、
書き出し部分ではvector関連は一切触ってない
647デフォルトの名無しさん:2012/01/06(金) 13:14:02.61
どっかで文字列終端コードを破壊しちゃってるような感じのコケ方だなあ
648デフォルトの名無しさん:2012/01/06(金) 13:37:29.65
再現しないコード
http://codepad.org/VLVofCEN
649デフォルトの名無しさん:2012/01/06(金) 15:16:16.30
もしLinuxで書いてるなら、614はvalgrind とかの使い方を覚えるべき。
650デフォルトの名無しさん:2012/01/06(金) 15:19:38.96
なんでvgrind?と思ったがそんなのがあるのか。
651デフォルトの名無しさん:2012/01/06(金) 15:40:50.89
strlenは無条件にバイト数を返して、strncpyの引数3は文字数な環境だとか。
652614:2012/01/06(金) 15:50:59.85
すいません
strncpyでもいけました。

ですが、monthfilenameのバッファを適当な別のバッファに変えて、

sprintf(tempbuf,"テスト(%c%c%c%c年%c%c月分)",monthbuf[0],monthbuf[1],monthbuf[2],monthbuf[3],monthbuf[4],monthbuf[5]);
strncpy(replace,tempbuf,sizeof(tempbuf));

ってしないとだめでした。
monthfilenameを使うとやっぱりエラーが出ます。
まあmonthfilenameっていう使わなくなったバッファを使いまわした罰だと思いますが、
sprintf実行した時点でちゃんと終端文字が付加されるので、
おかしくなるはずはないと思うんですが何でですかねぇ。
653614:2012/01/06(金) 15:55:40.77
それとLinux使ってないってかさっぱりわからないです。
ありがとうございました。
654デフォルトの名無しさん:2012/01/06(金) 15:56:45.68
で、再現コードは。
どこまで低脳なんだ。
655614:2012/01/06(金) 15:59:49.90
再現コードは作れませんでした
今は元コード使って実験してます。
だって再現しないんだもん
656デフォルトの名無しさん:2012/01/06(金) 16:11:27.36
fopen に渡したファイル名のポインタを暗に保持してて、書き換え不可な処理系とかのオチだったりして
 char name[] = "hogehoge";
 FILE* fp = fopen(name, "w");
 strcpy(name, "a");
 fputs("tekitou", fp); これだけで沈
657デフォルトの名無しさん:2012/01/06(金) 16:17:46.01
まったく、どっからそんな妄想がわいてくるんだよ…
658デフォルトの名無しさん:2012/01/06(金) 16:35:50.94
つか最初から処理系を書けよ。
659614:2012/01/06(金) 16:44:44.43
VC2008 express editionとwin 7のコンビです
660614:2012/01/06(金) 16:46:02.01
>>656
あ、これかもしれないです。
ちょっと待ってて下さい。
661614:2012/01/06(金) 16:49:32.60
あーでも再現コードでやってみても再現しないですね。
元コードでは相変わらずエラー。
何が違うんですかこれ
662デフォルトの名無しさん:2012/01/06(金) 16:55:53.28
すでに他のところでヒープかスタックがぶっこわれてるに10ジンバブエドル
663デフォルトの名無しさん:2012/01/06(金) 17:03:26.64
>>614フィルターを通すと出てくる情報がすべてゴミになるなw
身バレ云々バカじゃね
664614:2012/01/06(金) 17:04:02.24
でも原因は明らかに>>656ですよね
ファイル名として使ったバッファは使いまわさないようにします。
ありがとうございました。
665614:2012/01/06(金) 17:04:52.46
バカというかマヌケですね
ありがとうございました
666デフォルトの名無しさん:2012/01/06(金) 17:08:46.22
>>656 で落ちる処理系なんてどんな行儀の悪いコンパイラだよ
そのゴミみたいなコンパイラの名前を知りたいもんだ
667デフォルトの名無しさん:2012/01/06(金) 17:23:28.39
いや、馬鹿だよお前
プログラムやめるべき
668デフォルトの名無しさん:2012/01/06(金) 17:31:23.37
>>665
落ちるコードの全体ってどこにあります?
未解決なら見てみたいんだが。
669614:2012/01/06(金) 17:34:37.76
>>666
>>659に書いてますが

>>667
自分用のプログラムだから手抜いて作ったんだよ
配布するやつはちゃんと作ってるから安心しろ

>>668
全体のコードは>>614の50倍ぐらいの長さもあるから無理
身バレの可能性あるし
670デフォルトの名無しさん:2012/01/06(金) 17:52:40.25
>>656が原因とも確認してねーんだろ?
だいたい、年を書くのに%c%c%c%cとか使うとこから程度は知れてるがな。
671デフォルトの名無しさん:2012/01/06(金) 18:01:28.93
>>670
いや、だから再現するために>>656のコードと同じことしてみたけど再現しなかったんだって
>>661で言ってるよ
元コードだと起こって、再現するために書いたコードでは起こらなかった
コード量による違いでもあるのか?
672デフォルトの名無しさん:2012/01/06(金) 18:02:46.49
>>670
別に普通だろ。
それに自分用のプログラムだから動けばいい程度でしか作ってないし
673デフォルトの名無しさん:2012/01/06(金) 18:05:55.10
>>672
これが処理できるか確認してもらえますか?

int main(void){
char buf[] = "aaa";
buf[1] = 'b';
puts(buf);
}
674デフォルトの名無しさん:2012/01/06(金) 18:07:33.29
>>673
できた
aba
675デフォルトの名無しさん:2012/01/06(金) 18:07:43.12
>>672
じゃぁ>>664は何なんだよ。
頭腐ってるだろ、お前。
>>673
それに何の意味があるんだ。
676デフォルトの名無しさん:2012/01/06(金) 18:08:04.43
>>674
ごめん。
677デフォルトの名無しさん:2012/01/06(金) 18:11:00.13
>>675
>>664はそれ以外原因が思いつかないからそう書いたんだよ
一番筋が通ってるし、なんか聞いたことある気がしたしな
678デフォルトの名無しさん:2012/01/06(金) 18:18:07.50
なんだその理由は。
これがゆとりが進化した形なのか。
679デフォルトの名無しさん:2012/01/06(金) 18:19:09.05
少なくともお前よりはゆとりでない自信はある
680デフォルトの名無しさん:2012/01/06(金) 18:24:00.19
じゃぁなんで>>662の指摘は無視なんだ?
デバッガ使ったことあるか?
681デフォルトの名無しさん:2012/01/06(金) 18:26:13.91
デバッグなんてとっくの昔にやってるわ
それでもわからんからここに来たんだろーが
682デフォルトの名無しさん:2012/01/06(金) 18:29:34.15
ゆとり乙。
683デフォルトの名無しさん:2012/01/06(金) 18:30:51.12
>>682
はいはい
クソガキは寝てろ
684デフォルトの名無しさん:2012/01/06(金) 18:42:33.72
デバッガの使い方も知らないでよく言うな、まったく。
685デフォルトの名無しさん:2012/01/06(金) 18:48:51.15
今回のはデバッガを使っても分からない問題だろ
だからここに来た
それだけ
686デフォルトの名無しさん:2012/01/06(金) 18:53:10.35
なんのためのデバッガだよ。
printfだけでもわかるだろ。
687デフォルトの名無しさん:2012/01/06(金) 18:54:55.88
わかんねーよ
printfするまでもなく、ブレークポイントしかけて変数の中身見てるわ
それでもわかんなかったんだよ
688デフォルトの名無しさん:2012/01/06(金) 18:55:47.73
それはお前が低脳なだけ。
再現コードも出さずに迷惑なだけ。
689デフォルトの名無しさん:2012/01/06(金) 18:55:53.74
先に俺の実力とどんなデバッグをしたか書いとけばよかったな
個別に黙らせてると疲れるわ
690デフォルトの名無しさん:2012/01/06(金) 18:56:50.13
再現コードがかけないんだから仕方ないだろ
まだはっきりと原因特定できてないんだから
めんどくせーからまた後でくるわ
691デフォルトの名無しさん:2012/01/06(金) 18:58:11.07
いやいや、すごいよ、お前は。
落ちる場所までわかってるのに理由がわからないとか。
しかもデバッガ上で再現してんだろ?
ほんと、すごいわ。
692デフォルトの名無しさん:2012/01/06(金) 19:04:31.37
元コードのデバッガ上で再現してるよ
変数見てもおかしくないんだから原因わかるわけねーだろ
693デフォルトの名無しさん:2012/01/06(金) 19:07:03.13
>>692
問題のソースは>>636のやつか?
694デフォルトの名無しさん:2012/01/06(金) 19:16:44.35
つか最初からmonthfilename使い回そうとかバカ確定なんだからさ
695デフォルトの名無しさん:2012/01/06(金) 19:17:11.92
しかし、よくそんなレベルでこんなこと>>689言えるね、おれもびっくりするよ。
696デフォルトの名無しさん:2012/01/06(金) 19:20:46.07
>>693
問題のソースは>>617です。
ですが>>652のように、monthfilenameを使わずに、
別のバッファを使えば問題なく処理できました。

それともう一回検証してみたところ、memcpyでもstrncpyでも>>617のソースでやればエラーがでました。
「memcpyならいけた」という私の発言は間違いです。失礼しました。

>>617のソースは全体のソースの一部です。
再現しようと>>617のソースを切り取って、
適当な文字列を作ってptempに代入してやってみたら、何故かエラーが出ませんでした。
ですので原因がはっきりと特定できていない状況です。

でも状況からして>>656の方が指摘していただいてることが
一番可能性が高いと個人的には思っています。

そろそろウザイと思われてると思いますので、
スルーしてくださって結構です。
697デフォルトの名無しさん:2012/01/06(金) 19:22:13.73
>>694
お前は人のレス読んでるのか?
自分用のプログラムだから手抜いて作ってるって言っただろが
めんどくせーから使いまわすか、って気持ちで作ってたんだよ
だからそんなとこ突っ込んでも意味ねーよ
698デフォルトの名無しさん:2012/01/06(金) 19:22:43.71
はいはい、低脳乙。
699デフォルトの名無しさん:2012/01/06(金) 19:23:45.56
マジメにレスしてくれた方はありがとうございました。

その他のクズの皆さんは死んでください

以上。
700デフォルトの名無しさん:2012/01/06(金) 19:25:13.29
迷惑かけるだけかけて、ほんとゆとりな上にクズが何言ってるんだか。
701デフォルトの名無しさん:2012/01/06(金) 19:30:40.02
>>696
妙なところを書き換えてない限り
>>656 で落ちるのはありえないんだよマヌケ
702デフォルトの名無しさん:2012/01/06(金) 19:32:32.06
>>701
再現コードでは落ちなかったんだよ
元コードだと落ちるんだよ
俺も原因わからねーよ
703デフォルトの名無しさん:2012/01/06(金) 19:35:02.17
で、まだ>>689なの?
704デフォルトの名無しさん:2012/01/06(金) 19:44:33.81
>>699
win7でvc++2008で試してみたが。。。
表記されていないptempを「テスト(XXXX年XX月分)」にして、
strncpyの第三引数をstrlen(monthfilename)にすると普通に動いた。
705デフォルトの名無しさん:2012/01/06(金) 19:50:20.27
こんな聞きかたしてるバカは死ねってことか。了解。
706デフォルトの名無しさん:2012/01/06(金) 20:17:17.89
早く>>689頼むよ。
どんだけすごいのか教えてちょ。
707デフォルトの名無しさん:2012/01/06(金) 20:52:48.43
>>689
当たり前だろ。
質問するときは、どういうことを調べたかとか試したかとか書けよ。
プログラムの技術以前の問題だ。
708デフォルトの名無しさん:2012/01/06(金) 21:05:14.27
どこがおかしいか特定できないのに、ここがおかしいはずだって思い込むアホが多すぎて困る
709デフォルトの名無しさん:2012/01/06(金) 21:11:25.65
思い切りから不具合を見つけることもあるんだが。
こいつCの仕様を丸暗記してるのか?
710デフォルトの名無しさん:2012/01/06(金) 21:15:55.85
思い切り?
こいつってどいつのことだ。
普通、わからなかったら仕様書確認するだろ。
711デフォルトの名無しさん:2012/01/06(金) 21:18:37.76
とりあえず、思いつきで修正するが。
経験則って言葉知らないの?
712 ◆QZaw55cn4c :2012/01/06(金) 21:19:38.84
本音をいえば、現象再現を確認しながらすこしずつソースコード切り詰めていく、という地道な作業が、実は己の得になると思います、が、それはともかく、申し訳ないけれども、たとえ3000行でも再現するコードを晒していただいたほうが、はるかに話が早いでしょう。
数年来、宿題スレで大恥を数限りなく晒しながら、それでもめげずにやっている私のいうことですから、信じていただけると期待します。
713デフォルトの名無しさん:2012/01/06(金) 21:20:06.57
typedef int data[8];

こんな書き方を今日覚えたんだがこういうのが書かれた入門書ってなくね
714デフォルトの名無しさん:2012/01/06(金) 21:26:45.94
キューに突っ込んだり出したりするときは基本的に
セマフォを使って歯痛するのが一般的だと思うけど
sigactionとか割り込みっぽいゾーンからキューに
突っ込みたいときはどうしたらいいかな。
715デフォルトの名無しさん:2012/01/06(金) 21:32:50.24
セマフォがあるなら使えばいいじゃん。
716デフォルトの名無しさん:2012/01/06(金) 21:34:15.00
>>713
まあ、ただの変数とか、構造体だな > typedefの説明
配列はないような気がする。
717デフォルトの名無しさん:2012/01/06(金) 21:37:15.47
>>711
経験のないお前には無理だろ。
素直にまず仕様を確認しろ。
718デフォルトの名無しさん:2012/01/06(金) 21:47:12.51
>>717
低脳乙w
719デフォルトの名無しさん:2012/01/06(金) 21:49:13.30
>689!
>689!
720デフォルトの名無しさん:2012/01/06(金) 21:53:27.59


 東京にある6つのキー局の内、製作から財務まで一貫して朝鮮人が行ってるテレビ局が1つ
 中国共産党から毎年大量の反日工作費が流れているテレビ局が2つ
 もろに北朝鮮と繋がっているテレビ局が1つ  
年寄はまだまだテレビという外国人に騙され続ける
721デフォルトの名無しさん:2012/01/06(金) 22:15:33.18
ネトウヨきもい
722デフォルトの名無しさん:2012/01/07(土) 02:23:38.90
二次関数 f(x) = x2 について、x=0から3までの定積分を求めたい。
区分求積法により、この積分の近似値を求めよ。

この問題なんですけど、下のようにではできるのですが、
#define DX 0.1というのを使わずに書くことはできますか?

#include <stdio.h>
#define DX 0.1
int main(void)
{
double x, sum;
sum = 0.0;
for(x = 0.0; x < 3.0 - DX; x += DX)
sum += DX * x * x;
printf("%f\n", sum);
return 0;
}
723デフォルトの名無しさん:2012/01/07(土) 02:26:41.00
>>722
逆になぜ使わないで書けないと思うのかを教えてくれ。。。。。。
724デフォルトの名無しさん:2012/01/07(土) 02:41:29.40
すんませんできました
725デフォルトの名無しさん:2012/01/07(土) 03:19:52.23
C言語で、画像について勉強しようかと思ってます。
でも画像って概念が良くわかりません。

ttp://www.microsoft.com/japan/athome/umall/pc/win7/kiso04.aspx

これ何ですけど、解像度の違い=表示できる領域
ってどういうことですか?
解像度=ドットの数の度合いという認識なのですが。
726デフォルトの名無しさん:2012/01/07(土) 03:55:55.12
>>725
C言語で画像を扱うのならまずバイナリファイルを理解しろ
727デフォルトの名無しさん:2012/01/07(土) 08:13:10.72
知り合いがハードウェア操作で「アドレスを叩く」て表現使うんだけど普通に使う表現?
VRAM操作とか割り込みテーブルとか、9821の256色モードの操作で
メモリ上に書き込む方法使ってたから間違ってる訳じゃないけど
自分はハードを叩くとかIOポートを叩くって表現使ってたからなんか違和感がある。
728デフォルトの名無しさん:2012/01/07(土) 08:25:45.04
>>727
「IOポートを叩く」がアリなら同じようなことをメモリマップドIOのときは何て言うの?
729デフォルトの名無しさん:2012/01/07(土) 09:00:25.44
>728
ハードを叩く
730デフォルトの名無しさん:2012/01/07(土) 09:01:11.62
北朝鮮の金正日(キム・ジョンイル)総書記の遺訓を守るという北朝鮮が、
最近、連日のように偶像化に動物を動員している。 最も多いのは鳥だ。
最近、労働新聞など北朝鮮官営メディアは、金正日総書記の死後、フクロウが
悲しそうに鳴き、ワシが集まったなど奇異な自然現象が起きた、と報じた。
5日の労働新聞にはクマまでが登場した。 冬眠をしていたクマが突然目覚めて
鳴いたということだ。

この日の労働新聞は、金正日が最近訪れた大興(デフン)青年英雄鉱山の
労働者が悲報を聞いて弔意を表す時、3頭のクマが道路に現れ、悲しそうに鳴いた、
と伝えた。 母クマ1頭と子グマ2頭だったが、それらしき目撃談を伝えながら
「洞窟の中で眠るクマが人が行き来する真昼に、敬愛なる将軍様が通られた
道路に現れ、大きな声で長いあいだ鳴いたのは非常に珍しい現象」と強調した。

鳥の異常な動きも見られたと伝えた。 労働新聞は「慈城郡シンプン里では早朝から、
金正日総書記のモザイク壁画の上空に突然100羽を超えるカササギが飛んできた。
名川(ミョンチョン)地区の炭鉱周辺でも数十羽のカササギが飛んできて2時間ほど
休まずに鳴いた」と報道した。

この日、労働新聞は「鳥は人が近づいても動かなかった。 よく見ると、
鳥が木の枝をしっかりと握りながら固まってしまった」とし「後に分かったが、
民族大国葬の悲報が伝えられた日の晩からそうだった」と伝えた。
神話に登場するような内容の記事は、労働新聞の社会面に掲載された。

金晋希(キム・ジンヒ)記者 .
http://japanese.joins.com/article/153/147153.html?servcode=500§code=500
731727:2012/01/07(土) 09:18:50.61
確かにハードの操作方法の解説で「アドレスを叩く」って言うなら正しい表現ですね。

でもドライバー等の概念の雑談で「アドレスを叩くレベルの操作が」とか言われたんで、なんか納得できない気分に。
メモリマップドIOがメインのハードの開発やってたのかな?
732デフォルトの名無しさん:2012/01/07(土) 12:56:12.86
普通I/Oは叩くもんじゃね?
「ハードウェア操作」なんて言い方の方が違和感あるわ。
素人かって感じで。
733デフォルトの名無しさん:2012/01/07(土) 13:01:27.25
最近のテレビは叩かなくても映るよ
734デフォルトの名無しさん:2012/01/07(土) 13:16:50.72
C言語は関係ないのですが, 次のようなアルゴリズムで木構造を捜査するのは
帰りがけ順でよいのでしょうか。

/* 二分木のノード数を返す*/
int size(Node *p)
{
  int cnt = 0;

  if (! p) return cnt;
  cnt += size(p->left);
  cnt += size(p->right);
  return cnt + 1;
}
735デフォルトの名無しさん:2012/01/07(土) 13:36:57.17
>>733
昔のTVも叩かなくてもうつるだろ。
うつらなくなった時に叩くんだよ。
最近のTVはさらに壊れるだろうがな。

>>734
スレ違いだが、よくない理由でもあんのか。
何を気にしてるのかを言え。
736デフォルトの名無しさん:2012/01/07(土) 13:39:20.58
>>735
なぜスレチなのかがわからない
737デフォルトの名無しさん:2012/01/07(土) 13:42:31.64
>732
CPU、メモリ以外の物、例えばマウス、例えばサウンドチップ、例えばビデオチップ、例えばプリンタ、
それらに対してデータを送受信する行為を一言でなんと言いますか?
738デフォルトの名無しさん:2012/01/07(土) 13:44:08.49
入出力
739デフォルトの名無しさん:2012/01/07(土) 13:50:48.84
>>736
本人がそう言ってるのに何を聞いてるんだお前は。
740デフォルトの名無しさん:2012/01/07(土) 13:54:56.49
>>739
すまん、ミスったw
>>734
なんでスレチなの?w
741デフォルトの名無しさん:2012/01/07(土) 13:56:00.90
そりゃ木の探索なんて言語は関係ないからだろ。
742デフォルトの名無しさん:2012/01/07(土) 13:56:28.51
まあ、>>735もスレ違いだがと言い切ってるから
あながち>>736のレスも誤りではないが
743デフォルトの名無しさん:2012/01/07(土) 14:28:33.60
>>737
サウンドチップ、ビデオチップ、プリンタは叩く。
マウスは普通に使う分には叩かない。
普通じゃない使い方のときは叩く。
744デフォルトの名無しさん:2012/01/07(土) 14:38:27.53
三冠陥落で目が覚めた!? フジテレビがついに韓流から決別か

※イメージ画像:『嫌「韓」第二幕! 作られた韓流ブーム 』/宝島社
http://www.menscyzo.com/images/hanryu0106.jpg


「出てけ! 日本が嫌だったら出てけ!」

 今月17日に放送を予定している『なかよしテレビ』(フジテレビ系)の番組宣伝VTR中で、マツコ・デラックスが叫んでいる言葉である。
このマツコの言葉に、多くのネットユーザーが素早く反応、多くのスレッドが立ち「よく言った」「韓国ざまぁ」「本放送が楽しみだ」などとマツコを賞賛するコメントが寄せられている。

 昨年の10月から放送をスタートしている『なかよしテレビ』。番組のコンセプトは、「日本を含むアジアを中心とした3カ国の出演陣が、さまざまなテーマについてお国自慢をする」というもの。
主に日中韓による討論形式のバラエティなのだが、その内容はバラエティの域を超えて、
各国の人々の本音が垣間見えるものとなっている。
似たような番組として同時期に始まった『世界のみんなに聞いてみた』(TBS系)があるが、3カ国に特化した同番組の構成は、より激しい討論を展開させている。

 そんな番組に初出演を果たすマツコは、「K-POPに物申す」というテーマで論を展開している模様。
「日本の芸能界は草野球。韓国の芸能界はプロ野球」と主張する韓国人出演者に対し、「K-POPとか見ているとアメリカのパクリにしか見えない」と言い放ち、
「あんたたちの音楽も受け入れてやってる」「これだけ懐の深い国がどこにあるんだよ!」と主張する。

もちろん、これらの発言は先日から同局で流されている番宣VTRを見たものであり、それ以上でもそれ以下でもない。どういった経緯で、そういった話になったのか、またその後どんな結論になるのかというオチについては、本放送を見るまではわからない。
だが、冒頭に記した「日本が嫌だったら出てけ!」というマツコの言葉は、紛れもなく本人の口から出ている言葉であり、多くのネットユーザーがこの言葉に共感しているのは間違いない。
そしてまた、この番組を放送するのがフジテレビというのも彼らの興味を引く要因になっている。
http://www.youtube.com/watch?v=Q_5Mc532Vts
http://www.youtube.com/watch?v=dSGHNKy5IbM
745デフォルトの名無しさん:2012/01/07(土) 16:23:16.49
なんでこんなアホがいるんだろう
746デフォルトの名無しさん:2012/01/07(土) 16:31:31.63
アホの選ぶ仕事だしねPGって
必然的にアホばっかになる
747デフォルトの名無しさん:2012/01/07(土) 17:11:24.13
自己紹介乙。
748デフォルトの名無しさん:2012/01/07(土) 17:19:38.85
ブラウザの画面を縮小しようとしたら、何で文字のサイズは小さくならず、
カレント画面の見える範囲が狭くなるだけなの?


Windows media playerだと、画面を小さくしたら、範囲は変わらず
サイズが縮小するだけでしょう。
749デフォルトの名無しさん:2012/01/07(土) 17:22:11.07
>>748
文字の表示方法次第
750デフォルトの名無しさん:2012/01/07(土) 17:28:18.80
>>749
どうやればいいですか?
GoogleChromeです。
ググっても見つからないんで。
751デフォルトの名無しさん:2012/01/07(土) 17:31:55.67
どうしてこのスレに来た。
752デフォルトの名無しさん:2012/01/07(土) 17:50:12.83
>>748
逆になんで縮小表示にされたいわけ?
もし、そういう風に表示されたいならアドオン
作ればいいんじゃない?
ただ、いまどきのブラウザならjsとPHPつかっていて
作る側はCSSとhtmlのDOCTYPで表示方式
に準じて作ってあるけど。
753デフォルトの名無しさん:2012/01/07(土) 18:18:46.23
PHP?
754デフォルトの名無しさん:2012/01/07(土) 18:21:16.14
>>752
FireFoxならデフォでそのまま画像的に拡大縮小されるが。
2560x1440のモニタ使ってるからおれはこの方が便利だな。
755デフォルトの名無しさん:2012/01/07(土) 19:04:21.47
>>748
もっと右まで見えるようにとウィンドウを大きくしたら、今見えているものが横に伸びただけってなるのも残念だから
756デフォルトの名無しさん:2012/01/07(土) 21:27:27.32
22 名前:名無し募集中。。。[] 投稿日:2012/01/06(金) 23:40:34.39 0
AKB=金正恩

この意味わかるか
AKBという捏造ブームの裏に何があるか見えるか?


757デフォルトの名無しさん:2012/01/07(土) 23:03:38.54
開発環境の話です。
eclipse(indigo)にcdt8を入れてます。
eclipse自体はubuntuのapt-getで取得しました。

cdtでプロジェクト直下に自動で表示される、
インクルードが表示されないです。
コンパイルは通るのですが、エディタ上はエラーだらけです。

エスパー出来る方いたらお願いします。
758デフォルトの名無しさん:2012/01/07(土) 23:08:20.28
出ていけ。二度と来るな。かまってほしいならスレ選べ。
759デフォルトの名無しさん:2012/01/08(日) 03:44:58.10
>>757
Eclipse統合M32【Java/C++/Ruby/Python/Perl】
http://toro.2ch.net/test/read.cgi/tech/1320318310/
760デフォルトの名無しさん:2012/01/08(日) 08:15:45.71
最近アドレスやらポインタやらやってるんだけどそれらの存在意義が全く分からんので誰か教えて
何のために勉強するのか分からんから勉強も捗らなくなるし
761デフォルトの名無しさん:2012/01/08(日) 08:19:21.53
それがコンピューター(CPU)の基本だからだね。
Cは低レベル言語だからそういうのが出てくる。
そういうの使わなくてもいい言語もある。
762デフォルトの名無しさん:2012/01/08(日) 08:22:15.49
>>760
例えば変数の値を入れ替えるswap()という関数が欲しいとして
参照のないC言語でどうやって実装する?
763デフォルトの名無しさん:2012/01/08(日) 08:27:01.67
グローバル変数使えばできるし、いくらでも方法はある。
764デフォルトの名無しさん:2012/01/08(日) 09:20:32.58
ポインタがないとscanfとかfgetsとかができなくなって困る
わざわざグローバル変数を用意していたらグローバル変数があふれかえる

割と大きな構造体を作った時に、ポインタで渡すことで処理速度アップ!
765デフォルトの名無しさん:2012/01/08(日) 09:28:52.21
>>760
実際にプログラムを作るとアホでもわかる。
今は、そういう仕組みもあると思えばいいよ。
766デフォルトの名無しさん:2012/01/08(日) 09:31:25.86
木構造をポインタを使わずに表現したくないな
767デフォルトの名無しさん:2012/01/08(日) 09:41:08.45
配列のインデックスで木を作ることはよくある
768デフォルトの名無しさん:2012/01/08(日) 09:43:58.56
ポインタの機動力は過分で
配列コードに余計な足枷を掛けてる
大体がC++の参照相当で十分な場合が多いし
769デフォルトの名無しさん:2012/01/08(日) 09:50:14.49
そう思うんなら他の言語使えばいい
770デフォルトの名無しさん:2012/01/08(日) 10:02:23.93
>>768
一理あるな。
771デフォルトの名無しさん:2012/01/08(日) 10:09:02.83
メモリマップドIOでハードウェア叩くときに必要だろ
772デフォルトの名無しさん:2012/01/08(日) 10:22:40.21
>>760
自分はリスト構造を操作するプログラムを書いて、初めて腑に落ちた。
木構造でもいいけど、リスト構造のほうが更にプリミティブだからリストの方をすすめる。
773デフォルトの名無しさん:2012/01/08(日) 10:23:53.15
>>771
だから低レベルだと言っとろうが。

FORTRANも知らんのか。
774デフォルトの名無しさん:2012/01/08(日) 10:28:09.97
C言語で継承とかやろうと思ったら関数ポインタが必要だろ
775デフォルトの名無しさん:2012/01/08(日) 11:02:38.23
16bitCPUで処理速度が重要なアセンブラプログラムやれば必要性がわかってくるよ。
776アドルフォイ ◆J7x7Kq26DTjq :2012/01/08(日) 18:50:02.51
>>775
組み込み系ではアセンブラとか使われてるからなー。
777デフォルトの名無しさん:2012/01/08(日) 19:11:54.88
震災前

     /::::::::::::::::::::::::::::::;;::ノ ヽ;::\
    /::::::::;;;;;;;;;,,,;;...-‐''"~    ヽ:;::l
     |:::::::::::|    岡田 異音    |ミ|
     |:::::::/     ,,,  ヽ,、   '|ミ|  
     '|:::::::l    '''""   ゙゙゙゙`   |ミ|
       |:::::|.  ,,r ‐、   ,, - 、  |/
     ,/⌒|  ノ ・ _), (. ・ `つ|
     | (   "''''"    |"'''''"  | 
      ヽ,,.        ヽ    |
       |       ^-^_,, -、   |   
         |    _,, --‐''~    ) |  マニフェストもう守れない。どうしよう・・・・ 
         'ヽ  (   ,r''''''‐-‐′ / 


震災後

     |:::::::::/            |ミ|
     |::::::::|   ,,,,,    ,,,,,   |ミ|
     |彡|.  '''"""''   ''"""'' |/
     /⌒|  -=・=‐,   =・=-  |
     | (    "''''"   | "''''"  |  
     .ヽ,,         ヽ    .|  キリッ
        |       ^-^    |
   .     |     ‐-===-   |   大震災が起こったのだからマニフェストの破綻も致し方ありません
         ,\.    "'''''''"   / 
朝鮮民主党
     おわり
778デフォルトの名無しさん:2012/01/08(日) 19:59:41.38
>760
バイナリーエディタや「スペシャルねこまんま57号」等のメモリエディタで
ゲームデータ改造やってみれば多少は理解できるようになるぞ。
779デフォルトの名無しさん:2012/01/08(日) 21:14:48.77
>>776
おまえiPhone板のちょっと面倒なコテだろ。
本当にプログラムやりたかったのか。
780デフォルトの名無しさん:2012/01/08(日) 21:41:20.76
>>776
最近だとさすがにもうほとんどC/C++だけどね。。
781デフォルトの名無しさん:2012/01/09(月) 00:51:38.64
C言語のchar型について質問があります.

ここのページ
http://marupeke296.com/CPP_charUnicodeWideChar.html
によるとVCのcharはShift-JIS(ASCIIのスーパーセット)を格納するとあります.
以下の私の理解が正しいか教えてください.
1. C言語はcharを単なる数字としてしか見ておらず,printfやscanfの内部で文字列と解釈されている.その解釈はMSの独自の解釈である.
2. 他言語のWindows(例えばベトナム語版のWindows)ではShift-JISとして解釈されるとは限らない.

782デフォルトの名無しさん:2012/01/09(月) 01:14:00.43
C言語の中ではprintfだろうがなんだろうが単なる数字としてしか扱ってないから独自の解釈もない
文字列なんかは、ソースコードに書かれたままを扱ってるだけだから
ソース上にShift_JISで日本語をかいてそのまま出力させればShift_JISでの出力になる

ターミナル(windowsだとコマンドプロンプトなど)がプログラムからの出力を文字として解釈して表示する
だからターミナルとプログラム出力の文字コード設定が合ってないと文字化けする
解釈の仕方はターミナルの設定なので、ベトナム語版windowsでも設定すればShift_JISでの表示をしてくれるだろう
783デフォルトの名無しさん:2012/01/09(月) 01:15:00.02
>>781
MS独自の解釈っていうか、一応規格にのっとってやってる。
SJISとかそれぞれメーカーによって微妙に違ってるみたいだけど、まあだいたい同じ。

2は、それはそう。
日本語のwindowsでもコードページの設定をUTF-8とかにできるみたいだから、SJISとはかぎらない。
784デフォルトの名無しさん:2012/01/09(月) 01:22:53.25
パソ通時代は半角カナ文字はMacで誤作動起こすから使うなとか言われてたな。
785デフォルトの名無しさん:2012/01/09(月) 01:23:43.56
>>781
printfやscanfはchar*やchar[]を文字列だとは扱っても
それを「解釈」はしていないと思われ
多分数値の列をOSやAPIにそのまま送るだけかと

それを「解釈」してるのはOS側で、そうなると当然前提になる文字コードは違う
786デフォルトの名無しさん:2012/01/09(月) 01:24:20.69
>>784
(金)
787デフォルトの名無しさん:2012/01/09(月) 01:31:40.60
解釈はしてるさ。
例えば「表」を正しく出力できないならShift JISには対応してないということ。
788781:2012/01/09(月) 01:42:23.39
端末とOSのAPI内部で解釈されていて,C言語自体は解釈していないと理解しました.
ありがとうございました.
789デフォルトの名無しさん:2012/01/09(月) 01:44:06.39
>>787
ああ、言われてみれば。
じゃVC側でも文字コードの設定とかがあるんかな
790デフォルトの名無しさん:2012/01/09(月) 01:54:51.43
>>787
それって正しく出力できてないんじゃなくて
正しく表示できてないだけでしょ
791 ◆QZaw55cn4c :2012/01/09(月) 02:05:56.15
>>790
いや解釈している。の shift-JIS コード表現において '表' の2バイト目 0x5c = '\' を解釈してしまうので、正しく出力できない。
792デフォルトの名無しさん:2012/01/09(月) 02:08:52.17
>>790
リテラルとかがおかしくなっちゃうってことだろ
例えばShift_JISのソースに "表0hello" と書いたとき
全くShift_JISを考慮しないと
「表」の2バイト目がバクスラなせいでhelloの前に文字列終端が来ちゃう
793デフォルトの名無しさん:2012/01/09(月) 03:00:03.62
それはコンパイラの話ではないのか?
一個ずつ{}内に16進で書くのと違うコードが出来上がるんだろうか?
794デフォルトの名無しさん:2012/01/09(月) 04:27:27.15
UTF16をprintfで出力したい人もいるんですよ!
795デフォルトの名無しさん:2012/01/09(月) 05:02:26.76
>>793
リテラルに書かなきゃ問題ないから
printf() や scanf() 自体には関係がない話…ってことか
796デフォルトの名無しさん:2012/01/09(月) 06:10:51.81
「表示」を正しく表示できないというのが笑いどころだよねw
797デフォルトの名無しさん:2012/01/09(月) 06:15:57.04
【ソウル聯合ニュース】国策シンクタンクの韓国開発研究院(KDI)は8日に公表した経済動向報告書で、
韓国経済の成長が輸出・内需ともに鈍化していると評価した。

 前年同月比の輸出増加率をみると、12月は12.5%で前月(13.8%)よりやや悪化した。11月の
消費販売額指数は0.5%増にとどまり、前月の増加率(2.2%)を下回った。

 産業生産は鉱工業、サービス業がともに振るわず、前月より減少した。また、需要不振などで在庫が
拡大して生産増加の制約要因に作用すると、KDIは予想した。

 設備投資は前月と比べれば、減少幅がやや改善したが、全般的に不振が続いている。回復ペースを
見せていた建設投資も足踏み状態にある。

 KDIは先進国一部の景気指標がやや改善したが、成長鈍化や財政危機などで下振れリスクが依然
として残ると指摘した。


聨合ニュース: 2012/01/08 14:03
http://japanese.yonhapnews.co.kr/economy/2012/01/08/0500000000AJP20120108000900882.HTML
798デフォルトの名無しさん:2012/01/09(月) 06:19:53.06
>>796
Windowsに毒されすぎ。
出力は出来る。表示するのはまた別の人。そいつが表示できない事なんか知ったこっちゃない。
799デフォルトの名無しさん:2012/01/09(月) 07:29:13.38
>>760に答えてくれた人ありがとう!
800デフォルトの名無しさん:2012/01/09(月) 07:32:53.99
今大学1年であんまプログラミング分からないけど今から空いた時間とかで勉強してiPhoneのアプリとか作れるようになりたい俺はまず何した方がいい?
801デフォルトの名無しさん:2012/01/09(月) 07:37:21.21
本屋にでも行ってアプリの作り方の本でも買ってこい
802デフォルトの名無しさん:2012/01/09(月) 09:14:58.56
>>782
>文字列なんかは、ソースコードに書かれたままを扱ってるだけだから

なんか、最近どっかのスレで似たような話があったような気が…

UTF-8 で書いたソースコードリテラルをコンパイルするとオブジェクトコードに
Shift-JIS で格納するとか、gcc 3.4.0 以降は --input-charset と
--exec-charset オプションで、ソースコードと実行ファイルの文字コードを
別々に指定できるとかあるので、必ずしもそのまま出力するわけじゃないよ。
803デフォルトの名無しさん:2012/01/09(月) 09:49:45.87
そんなの c じゃない。
804デフォルトの名無しさん:2012/01/09(月) 10:24:36.22
名無しでいいよ:2011/08/15(月) 23:20:15.53 ID:2fed4jwtO
FNS歌謡祭やHEY!×3の制作会社
株式会社CELL
東京都千代田区麹町2―2―4麹町YTビル

前バリ・REN4・野田らに政治献金した後藤組のフロント企業
メディアトゥエンテイワン
東京都千代田区麹町2―2―4麹町YTビル


805デフォルトの名無しさん:2012/01/09(月) 11:20:01.43
おまえら、規格表の locale の項とコンパイラの仕様の項読んでこいよ。
>>802の動作は規格の範疇。つまり、それもまた c。
Cはちゃんと文字コードを解釈する。規格がいい加減だから動作がいい加減だけど。
806デフォルトの名無しさん:2012/01/09(月) 12:24:27.07
>>798
>>796 は「出力」にしちゃうとネタとして成立しなくなるのは…解るよな?
807デフォルトの名無しさん:2012/01/09(月) 13:30:35.66
>>806
だから上手くないっつってんの。
808デフォルトの名無しさん:2012/01/09(月) 15:54:38.27
>>807
まあ、それなら解る。
809デフォルトの名無しさん:2012/01/09(月) 16:04:37.06
いや、面白くないと言うのはわかるけど、そうなら >>798 のレスは意味不明だよ。
810デフォルトの名無しさん:2012/01/09(月) 16:05:49.51
ものすごくどーでもいい話をしているのですか?
811デフォルトの名無しさん:2012/01/09(月) 16:11:26.41
YES
812デフォルトの名無しさん:2012/01/09(月) 16:33:28.62
質問はこちらへ、どしどし投稿してね!

…どしどしって、よく考えると変な擬音だよね
813デフォルトの名無しさん:2012/01/09(月) 16:38:48.18
どんどんやじゃんじゃんとそう変わらないと思うが。
814アドルフォイ ◆J7x7Kq26DTjq :2012/01/09(月) 17:54:31.75
>>779
すみませんそうです。
今プログラミングしてます。
よろしくお願いします。

>>780
あ、そうなんですか。
日進月歩の世界ですね。
その分やりがいがあります。
815デフォルトの名無しさん:2012/01/09(月) 18:13:48.15
Win32APIの質問はスレ違いですか?
816デフォルトの名無しさん:2012/01/09(月) 18:17:39.83
文盲が多いスレだな。
817デフォルトの名無しさん:2012/01/09(月) 18:24:13.89
>>800
少なくとも、Cの勉強をしても時間の無駄。
このすれ的にはこんな答えだろうか
818デフォルトの名無しさん:2012/01/09(月) 18:35:13.88
Objective-CやるにはCの習得が前提だからな
819アドルフォイ ◆J7x7Kq26DTjq :2012/01/09(月) 18:35:55.60
>>817
んーアプリ開発ではObjective-Cを使うわけですが、
完全下位互換のCもやっておくと分かりやすいですよw
820デフォルトの名無しさん:2012/01/09(月) 18:37:56.47
>>817
無駄どころかCの知識は必要だろう。。
Objective-CはCの完全上位互換なんだから。。
821デフォルトの名無しさん:2012/01/09(月) 18:39:41.49
別にiPhoneのアプリ作るのにObjective-C使わんでもできるし、使わない方が
100万倍楽だろw
822デフォルトの名無しさん:2012/01/09(月) 18:51:41.54
>>819
下位互換じゃない。基礎だ。
国語が出来ない奴に小論文書けるか?
そういう心持ちがいかん。
823アドルフォイ ◆J7x7Kq26DTjq :2012/01/09(月) 19:04:11.39
>>822
なるほど。すみませんでした。
824デフォルトの名無しさん:2012/01/09(月) 19:21:00.62
スマホアプリは基本JAVAだっけ?
iPhoneはMacじゃないと開発できんらしいね。
825デフォルトの名無しさん:2012/01/09(月) 19:54:19.79
>>824
Androidも、言語としてはJAVAみたいな感じ(Javaとは言えない)だか、VMはスタックマシンじゃなかったりと変態系。
826デフォルトの名無しさん:2012/01/09(月) 19:58:07.60
>>824
WindowsPhoneはは
C#だね
827デフォルトの名無しさん:2012/01/09(月) 21:22:45.16
SEかプログラマーでブラックじゃない分野ってある?
828デフォルトの名無しさん:2012/01/09(月) 21:25:08.96
ハッカー
829デフォルトの名無しさん:2012/01/09(月) 21:30:14.09
9時出社、17時退社、土日休み、有給休暇完全保証、福利厚生施設完備。
830デフォルトの名無しさん:2012/01/09(月) 21:35:17.43
>>827
SEって表現をする=SIerってことだけど、日本国内のSIerじゃ全部ブラックだろ。

SIerじゃないIT業界を選べばいいだけの話である
831デフォルトの名無しさん:2012/01/09(月) 21:39:19.25
もう IT業界自体が、ブラックと言うか、色が薄くなってると言うか、衰退業界だろ。
832デフォルトの名無しさん:2012/01/09(月) 21:40:10.60
>>831
amazonやgoogleやAppleもIT産業なんだが。SIerじゃないだけ。
833デフォルトの名無しさん:2012/01/09(月) 21:43:32.78
人の閲覧リストを全世界に公開したりするAmazonや、
MACアドレスやパスワードを蒐集するGoogleや、
GPS情報や住所録を抜きまくるAppleがブラックじゃないとか。
834アドルフォイ ◆J7x7Kq26DTjq :2012/01/09(月) 21:50:03.91
>>833
個人情報を集めないで運営はほぼ不可能ですし。
どんな大企業でも漏洩は起こりうる事故ですしおすし!
835デフォルトの名無しさん:2012/01/09(月) 21:53:23.72
誰もそんな話はしていない。
836デフォルトの名無しさん:2012/01/09(月) 21:54:53.13
>>834
今時、そういうことを内緒でやるのは犯罪なんだよ。知らないの?
837デフォルトの名無しさん:2012/01/09(月) 21:57:20.77
仕事がきついという意味のブラックと
仕事が汚いという意味のブラックを混同して話す奴はIQ低い
838デフォルトの名無しさん:2012/01/09(月) 22:00:11.58
ブラックというのは違法あるいは脱法のことだろ。
なんで仕事がきついのがブラックなんだ。
839デフォルトの名無しさん:2012/01/09(月) 22:03:20.62
アルバイトや社員に営業ノルマを課せる。
アルバイトには1000枚を、正社員には1万枚を
断ると、雇用が継続されなかったり、昇進に響く。
840アドルフォイ ◆J7x7Kq26DTjq :2012/01/09(月) 22:03:26.14
>>835
いやブラックの話でしょ。

>>836
そういう話じゃない。

>>837
だなw

>>838
「仕事がきつい」っていうのが”ブラック”の意味だよwww
ブラックをヤクザとかと勘違いしてるだろwww
841デフォルトの名無しさん:2012/01/09(月) 22:06:30.68
あ?
残業代払わない=違法=ブラック
じゃねーのか?
ただきついと思うなら仕事が合ってないんだろ。
842アドルフォイ ◆J7x7Kq26DTjq :2012/01/09(月) 22:08:01.30
>>841
まぁ”違法”という意味も多少は含んでいるかもな。
843デフォルトの名無しさん:2012/01/09(月) 22:08:31.60
多少か。
844デフォルトの名無しさん:2012/01/09(月) 22:10:33.93
え、ブラック=違法って意味だったのか
845デフォルトの名無しさん:2012/01/09(月) 22:14:06.66
ボス、やつはやっぱりクロですぜ。
846アドルフォイ ◆J7x7Kq26DTjq :2012/01/09(月) 22:14:44.49
>>844
ブラックのイメージ
・社員への扱いがひどい←パワハラなどで人権侵害
・サービス残業を強制←労働基準法で違反してる
・激務薄給←これは自分で選んでるから仕方ないかもしれない

・オリンパスのように影で悪いことしてる←完全に違法

すまん、ブラックは違法性も高かったわ。
847デフォルトの名無しさん:2012/01/09(月) 22:21:59.16
ブラック=ブラックリスト、またはリストの内容?
848デフォルトの名無しさん:2012/01/09(月) 22:23:35.83
>>847
スレ違いな上に少しググればわかることをなぜ聞く?
849デフォルトの名無しさん:2012/01/09(月) 22:30:55.43
医療かな。俺はずっと医療だが。
前の会社はxxはブラックとスレが立つほど黒いが、普通はもう少しマシだと。
今の会社は金払いは良いが、書類は多いし激務だし試験網羅度はアホみたいに高いしミスったらとても困った事になる。
様は、買う方が素人じゃないと楽だよ。医者なんか頭良いと言うかさすがと言うか、
「おれはわからん、こいつはわかってる。だから俺が話を聞く」って態度の人が多い。
根拠が薄弱な事したら死ぬ程つっこまれるけどね。
850デフォルトの名無しさん:2012/01/09(月) 22:32:20.86
まあブラックてのは文脈や場所によって、微妙に意味が違うわな
就職の話をするなら社員の扱いのほうが最優先だし
851デフォルトの名無しさん:2012/01/09(月) 22:33:19.88
852デフォルトの名無しさん:2012/01/09(月) 23:16:15.85
どの業界や分野のプログラマーは待遇良さげですか?
853デフォルトの名無しさん:2012/01/09(月) 23:18:17.33
>>819
直接その言語をやる方が効率的と思うが。
導入として、Cをやりたいなら反対しない。
854デフォルトの名無しさん:2012/01/09(月) 23:31:44.01
先にCやっても全く無駄にならないのがObjective-C
855デフォルトの名無しさん:2012/01/09(月) 23:39:31.97
死ぬほどきついけどびっくりするほど給料がいい
ってのはブラックなのかな
だれかC言語でブラック判定式を書いてくれ
856デフォルトの名無しさん:2012/01/09(月) 23:44:09.81
857デフォルトの名無しさん:2012/01/09(月) 23:47:01.52
実行したらまけじゃねぇかタコ
858デフォルトの名無しさん:2012/01/09(月) 23:48:26.50
判定して欲しいということはブラックだと思ってんだろ?
859デフォルトの名無しさん:2012/01/09(月) 23:49:50.53
>>855
楽しい仕事ですか ? ホワイト : ブラック;
860デフォルトの名無しさん:2012/01/10(火) 00:14:58.58
>>857
^C で抜けるんだよ。

それに気づかない奴は、ブラック確定。
861デフォルトの名無しさん:2012/01/10(火) 00:20:20.75
クッ
まあ、おれはソフト屋じゃないからいいけど。。
862デフォルトの名無しさん:2012/01/10(火) 06:49:48.23
>>860
SIGINTをトラップして捨てちゃうようにしようぜ
863デフォルトの名無しさん:2012/01/10(火) 09:38:59.49
民主党には朝鮮人など外国人のなりすまし、スパイが約90名在籍している

野田内閣は過半数が帰化人

野田はどうだろうか
韓国人から賄賂を貰い、韓国人の集いに出席している野田は
864デフォルトの名無しさん:2012/01/10(火) 09:50:14.72
韓国企業がおびえる意外な敵

ウォン安を追い風に、世界市場で急速に勢力を拡大する韓国企業。
だが国内の事情は異なる。ウォン安で輸入コストが上昇して物価が高騰。「大企業ばかり優遇して庶民を省みない」との不満が一斉に噴き出している。
韓国の消費者物価指数は前年同月比4%前後の高い伸びを示す。
昨年以降は月次で物価上昇率が名目の賃金上昇率をたびたび上回り、実質賃金が目減りするケースも増えた。

しかも最近は、ウォン安の長期化で輸入物価の伸びが輸出物価の伸びを上回り、交易損失が発生。ウォン安が国益を生まないジレンマに陥っている。

国内では空洞化が進み、若年層の就職難は日本以上に深刻だ。超学歴社会にもかかわらず、ソウル大や延世大といった名門大学を出ても就職率は6割程度だ。

http://www.nikkei.com/biz/focus/article/g=96958A9C93819499E2E6E2E3878DE2E7E2E3E0E2E3E0E2E2E2E2E2E2;df=2;p=9694E3E4E3E0E0E2E2EBE0E0E4E3
865デフォルトの名無しさん:2012/01/10(火) 10:20:12.53
国民の民度が低いほど就職難が多い気がする
民度が低いと次世代や国のことなんて考えずに自分の保身出世が第一になる
そうなると今すでにある程度の地位を持ってるものが生き残るのは必然
結果として老害に椅子を独占されて若者が追い詰められていく
韓国や日本なんてもろにこのパターンでしょ
二大最低国家消えてなくなれ
866デフォルトの名無しさん:2012/01/10(火) 19:04:31.31
定年を65まで伸ばすとか、何を考えてるんだろ。
ますます仕事無くなるじゃん。
867デフォルトの名無しさん:2012/01/10(火) 19:12:56.51
バグを作る人と直す人で手分けすれば、仕事はなくならない。
868デフォルトの名無しさん:2012/01/10(火) 19:47:56.18
なんだその東電と保安院の癒着みたいな関係
869デフォルトの名無しさん:2012/01/10(火) 19:51:14.79
>>868
直らないってことか
870デフォルトの名無しさん:2012/01/11(水) 00:15:48.37
むしろ事態は悪化する
871デフォルトの名無しさん:2012/01/11(水) 00:36:34.95
しかし金はまわる
872デフォルトの名無しさん:2012/01/11(水) 03:21:00.92
ネットにわいせつ画像陳列容疑で組員を逮捕 兵庫

■「PC覚えるため、趣味で…」

インターネット掲示板にわいせつ画像を投稿したとして、県警サイバー犯罪対策室は10日、
わいせつ図画公然陳列容疑で、尼崎市七松町の指定暴力団山口組系組員で

「韓国籍」の

任信彦容疑者(51)=日本名・豊川政雄=を逮捕した。県警によると、任容疑者は
「パソコンを覚えようとして自分の趣味としてやった」などと容疑を認めているという。

逮捕容疑は、昨年6月2日〜7月11日、携帯電話を使い、インターネット上の掲示板に
わいせつ画像20点を投稿したとしている。

任容疑者の自宅パソコンなどからネット上で入手するなどしたわいせつ画像約690点が
見つかっており、県警は余罪を調べる。

http://sankei.jp.msn.com/region/news/120111/hyg12011102090002-n1.htm
873デフォルトの名無しさん:2012/01/11(水) 06:32:14.43
例えば「20増える度に実行」という文を書くには何を使えばいいのでしょうか?
874デフォルトの名無しさん:2012/01/11(水) 07:20:25.39
>>873
20増えたかどうかをチェックするif文とか。
875デフォルトの名無しさん:2012/01/11(水) 08:51:43.80
>>873
while(1) {
if(++count % 20 == 0) handler();
}
876デフォルトの名無しさん:2012/01/11(水) 09:20:55.71
while(1) {
if((++count-count_initial_value) % 20 == 0) handler();
}
だろ
877デフォルトの名無しさん:2012/01/11(水) 10:16:49.57
for (int count = countInitialValue;; ++count) {
if ((count - countInitialValue) % 20 == 0) handler();
}
// だろ。JK
878デフォルトの名無しさん:2012/01/11(水) 10:22:49.52
20カウントごとに1回という要件は満たしている
最初の1回をコールバックするタイミングの指示は要件に含まれていない
879デフォルトの名無しさん:2012/01/11(水) 10:37:47.48
何れオーバーフローするんじゃないか?って思う奴は、おれだけ?
880デフォルトの名無しさん:2012/01/11(水) 11:13:29.98
何か問題でも?
881デフォルトの名無しさん:2012/01/11(水) 11:40:30.00
if ( (count=((count - countInitialValue)%20) ) == 0) handler();
かな?
882デフォルトの名無しさん:2012/01/11(水) 12:52:53.43
20回に1回を実現するのに毎回モジュロを計算するというのはちょっともったいない気も。
883デフォルトの名無しさん:2012/01/11(水) 12:55:53.07
>>881
countInitialValueが20を超えてたらだめじゃね?
884デフォルトの名無しさん:2012/01/11(水) 12:56:49.78
>>879
そんくらいまわすんならサイクリックにすればよろしい
885デフォルトの名無しさん:2012/01/11(水) 13:00:23.90
countInitialValueが0でないケースの存在価値が不明
886デフォルトの名無しさん:2012/01/11(水) 13:13:09.36
なんで条件文実行のたびに代入したり引き算したりするのよ
条件文は count % 20 == countInitialValue にできるだろうし
handeler(); count -= 20; の方が代入回数が少なくて速いし
887デフォルトの名無しさん:2012/01/11(水) 13:15:57.78
>>886
要件が曖昧な事に比べれば、大した問題ではない。
888デフォルトの名無しさん:2012/01/11(水) 13:22:43.04
ねえだからinitValueをわざわざ何度も使う理由はなんなの?
最初にcountを0で初期化すれば済む話だろカス
889デフォルトの名無しさん:2012/01/11(水) 13:25:08.04
そういうこった
先頭が 0 から始まらないなら
count = countInitialValue
で初期化すれば済む話だしな

まぁなんだ。平日の昼間はそういうレベルだってことだよ(自虐)
890デフォルトの名無しさん:2012/01/11(水) 13:27:08.95
【レス抽出】
対象スレ:C言語なら俺に聞け(入門編)Part 94
キーワード:initValue

888 名前:デフォルトの名無しさん[sage] 投稿日:2012/01/11(水) 13:22:43.04
ねえだからinitValueをわざわざ何度も使う理由はなんなの?
最初にcountを0で初期化すれば済む話だろカス



抽出レス数:1
891デフォルトの名無しさん:2012/01/11(水) 13:33:20.81
それ以前に%を使う必要がない。
892デフォルトの名無しさん:2012/01/11(水) 13:48:40.40
それ以前に用件が曖昧すぎる。
893デフォルトの名無しさん:2012/01/11(水) 14:16:03.47
         __________       |  見ろよ!                 |
       ./::::::::::::::::::ノ、ヽ     |  民主党支持者がいるよ!w  |
      ./:::::::;;;-‐‐''"´  |:::|     \____  ________/
      |:::::::|   。   .|:::|        ノ´⌒ V        _____
      .|::::/ ⌒   ⌒ ヽ:|     γ⌒´      ヽ,     / _____)
       |:::| /・\ /・\||    // ""⌒⌒\  )    | /        ヽ
げひひw .|´  ⌒_ ヽ⌒  |  .   i /   ⌒   ⌒ヽ )     | 〉 ⌒   ⌒  |
      .| :::⌒(__人_)⌒|    !゙   /・\ /・\i/      |/. /・\ /・\ヽ
⊂ ̄ヽ___ ヽ   \__| ⊂ ̄ヽ_ |  :::⌒(__人_)⌒⊂ ̄ヽ_ | ::::⌒(__人_)⌒:: |
  <_ノ_    ヽ_    _/ <_ノ_. \     \__|  / .<_ノ_ \ ´ \__|  ノ  い〜ひっひw
   
894デフォルトの名無しさん:2012/01/11(水) 14:48:08.75
要件が確定したら消し飛んでしまうような詳細について、彼是考えるのは面白いけど他人に強制するほどのものじゃないな。
895デフォルトの名無しさん:2012/01/11(水) 16:06:30.67
>>874は正しいが、>>875は間違っている。
なんで勝手に条件にもないインクリメントを入れるのか。
896デフォルトの名無しさん:2012/01/11(水) 16:08:22.51
くだらないからもういい。>>874で終わってる。
>>895
お前が一番低レベル。
897デフォルトの名無しさん:2012/01/11(水) 16:25:12.56
くやしいのうw
898デフォルトの名無しさん:2012/01/11(水) 19:20:51.16
「20増える度」って「1ずつ増える」とは書かれてないよね。
なら俺ならこう書くかな。

int value = 0;
void addV(int delta){
value += delta;
while( value >= 20 ){
value -= 20;
execute_something();
}
}
899デフォルトの名無しさん:2012/01/11(水) 19:42:14.52
addV(2147483647);
900デフォルトの名無しさん:2012/01/11(水) 19:42:41.32
アホ。
901デフォルトの名無しさん:2012/01/11(水) 19:44:36.81
おれなら
void handler(); void nil();
void (*p_handler)[]={nil,handler};

p_handler[!(counter*=!~(++counter&&~0x13))];
902デフォルトの名無しさん:2012/01/11(水) 19:46:45.52
1ずつ増やすも何も、自分で増やすとも言ってないしな。
だから増えてるかどうかの確認をするだけだな。
増やすのは別のところでやってるんだろう。
903デフォルトの名無しさん:2012/01/11(水) 19:48:03.02
>>901
自信満々?
904デフォルトの名無しさん:2012/01/11(水) 19:51:17.44
つまり、これが正解。
int f(v)
{
static int prev;
if(v-prev > 20){ prev+=20,handler();}
return 0;
}
905デフォルトの名無しさん:2012/01/11(水) 19:52:20.67
> → >=
906デフォルトの名無しさん:2012/01/11(水) 19:53:08.68
>903
悔しい?
この程度のキショイコードも思いつけない自身が虚しくて吊りたい気分?
907デフォルトの名無しさん:2012/01/11(水) 19:55:17.96
>>906
それ本気?
内容が間違ってるとは思わないの?
908デフォルトの名無しさん:2012/01/11(水) 19:56:00.59
>>901
こんな短いコードにバグを紛れ込ませるなんて、ある意味才能だよなwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
バグ職人にでも転職したらどうだ?マジでwwwwwwwwwwwwwwwwwwwwww
909デフォルトの名無しさん:2012/01/11(水) 19:57:15.58
>>904
そこのifはwhileじゃね?あとなんで戻り値あるの?
910デフォルトの名無しさん:2012/01/11(水) 20:05:35.07
911デフォルトの名無しさん:2012/01/11(水) 20:06:51.41
こうだな。
int f(v)
{
static int prev;
if(v-prev >= 20){ prev+=20,handler();return 1;}
return 0;
}
912デフォルトの名無しさん:2012/01/11(水) 20:07:27.25
f(40)

ダメじゃん
913デフォルトの名無しさん:2012/01/11(水) 20:15:31.59
while(f(40));

なんのために変更したのか考えろよ。
つーか、返ってこないのは不便だからわざわざ一回で返ってるんだろ。
914デフォルトの名無しさん:2012/01/11(水) 20:17:26.55
ここって学生しか居ないのか?
915デフォルトの名無しさん:2012/01/11(水) 20:32:23.67
お題の要件を満たすのに回答の外側にコードが必要っておかしいだろ…
916デフォルトの名無しさん:2012/01/11(水) 20:37:39.22
一瞬grassスレにでも迷い込んだかとオモタ
917デフォルトの名無しさん:2012/01/11(水) 20:40:22.44
>>914
仕事のオファーですか?
918デフォルトの名無しさん:2012/01/11(水) 20:41:48.43
ありえねぇw
919デフォルトの名無しさん:2012/01/11(水) 20:54:23.64
#defineで置き換えた先にdefine以外のプリプロセッサ置くのって可能?
920デフォルトの名無しさん:2012/01/11(水) 20:56:56.13
日本語でおk。
921デフォルトの名無しさん:2012/01/11(水) 20:59:45.64
#define TEST #include "aaa.h"
みたいな使い方ができる方法ってある?
922デフォルトの名無しさん:2012/01/11(水) 21:05:59.01
>>921
何をしたいのか、分かりやすく書いて
923デフォルトの名無しさん:2012/01/11(水) 21:08:16.09
>>921
#if とか #ifdef とか使えばやりたいことは出来ると思うよ
924デフォルトの名無しさん:2012/01/11(水) 21:13:50.85
さすが匿名
思慮の足りない塵ばかりであったか
925デフォルトの名無しさん:2012/01/11(水) 21:19:52.74
自己紹介乙。
926デフォルトの名無しさん:2012/01/11(水) 21:23:27.81
>>921
ないので他の方法をつかう
927デフォルトの名無しさん:2012/01/11(水) 21:25:12.19
>>921
それは普通は

#ifdef TEST
#include "aaa.h"
#endif

みたいにして、それ以前に#define TESTを入れるか否かとか
プリプロセッサ(というかコンパイラか)にオプション渡して分岐するとこじゃね?

てか TEST ってのがデバッグ中のことなら
IDEとかの環境側がリリース形態によって勝手に定義しといてくれたりもするぞ
例えばVSならDebugリリース時に _DEBUG だっけ
928デフォルトの名無しさん:2012/01/11(水) 21:27:10.81
ごめんDebugビルドか、ワケ分からん用語使ってすまぬ
929デフォルトの名無しさん:2012/01/11(水) 21:30:25.11
#define TEST_LEVEL 1

#if TEST_LEVEL > 0
#define TEST_INC "test.h"
#else
#define TEST_INC "nothing.h"
#endif

#include TEST_INC

こんなのでイケるかもよ?
930デフォルトの名無しさん:2012/01/11(水) 21:32:38.83
931デフォルトの名無しさん:2012/01/11(水) 21:37:40.68
>>929
二つもインクルードファイル作って管理するの面倒
932デフォルトの名無しさん:2012/01/11(水) 21:53:07.51
仕様を悪用して無駄にゴチャゴチャさせるのは悪ノリ以外の何物でもないぞ。
933デフォルトの名無しさん:2012/01/11(水) 22:20:05.95

800 自分:名無し募集中。。。[] 投稿日:2012/01/08(日) 22:00:50.04 0
AKBブーム捏造の裏

サウンドスキャンの売り上げでさえほとんどが業者の自社買い他社買いで
資金洗浄した金額がオリコンの枚数×CDの価格って感じかね
http://livedoor.blogimg.jp/dqnplus/imgs/f/f/fff69a26.jpg

934デフォルトの名無しさん:2012/01/11(水) 22:37:23.63
FAQさらっと読んだけど「予約」はされてなかったYO
単なる「慣習」だったYO
JISのサイトは見れない(くそっ!)から
規格票でどうなってるかは不明

http://www2.research.att.com/~bs/bs_faq.html
http://www.libjingu.jp/trans/bs_faq2-j.html
935934:2012/01/11(水) 22:38:36.74
ごめん、誤爆ったーー;
936デフォルトの名無しさん:2012/01/11(水) 22:45:15.38
謝っても許さねぇ。オメェだけは絶対に許さねぇぞフリィーザァーーーーーー!!
937デフォルトの名無しさん:2012/01/11(水) 22:45:48.57
うぜえよ餓鬼
938デフォルトの名無しさん:2012/01/12(木) 08:35:18.89
すでに質問者いないのにこの荒れようすごいな。
ってか釣りだとは思わないのかw
939デフォルトの名無しさん
プログラミング以外と釣り相手だとイキイキする奴が多いからな。