C言語なら俺たちに聞け パート0001
■ このスレッドは過去ログ倉庫に格納されています
このスレッドは天才チンパンジー「アイちゃん」が 言語訓練のために立てたものです。 アイと研究員とのやり取りに利用するスレッドなので、 関係者以外は書きこまないで下さい。 京都大学霊長類研究所 localtime()をつかったとき、オブジェクトは、自動的に用意されてるのですか? 自動的に解放されますか? 「オブジェクトへのポインタを返す」 http://www.bohyoh.com/CandCPP/C/Library/localtime.html 静的に確保された領域に格納されるので解放する必要はないです >>4 解放する必要はないということで安心しました。ありがとうございます! あ、思い出した Darwinのソースの中にあったから気になった >>11 Unixなどのシステムをかける言語です The C Programming Language プログラミング言語C という本がある >>11 Linux、FreeBSDなどのカーネル、ドライバーが殆どCで書かれています。 エキスパートCプログラミングを読むといっぱしになった気分になれます。 初心者は、独習C、初めてのC言語などお勧めです。 どす窓が一瞬開いて閉じちゃて結果がわからないんだけど、どうすればいいんだろう? VCだから? >>25 VCに限らずそういうもんやねん。リードキー的なものを最後に書いといたらええで。 >>25 VC?Ctrl+F5で実行すれば窓閉じる前にPAUSEが挿入されるよ コマンドプロンプトで、コマンドを入力して、Enterをおします 民主党「韓国で反日が盛り上がっていてヤバイ… そうだ! 秋田のシェールガスを日韓で開発しよう!」 http://engawa.2ch.net/test/read.cgi/poverty/1342227537/ 仙谷氏、韓国の“対日感情”高まりに懸念 民主党・仙谷政調会長代行は13日、「未来志向の日韓戦略協力」をテーマにした財団法人世界平和研究所の シンポジウムで基調講演を行い、12月の韓国の大統領選挙を前に、対日ナショナリズムが韓国国内で高まるこ とに懸念を示した。 仙谷氏「相当な鋭い言論によって、どうしても選挙を控えた、あるいは選挙があろうとなかろうと、政治の世界 がそこを無視できなくなる。政治家の仕事は、その種の過剰なナショナリズムに対して、どこまで踏ん張れるかと いうのが最大の問題、最大の課題だと考えています」 その上で、仙谷氏は「日韓相互がウィン・ウィンの関係を作るべきだ」として、ロシアの天然ガスやアメリカの シェールガス開発などを日韓共同事業体で行うことを提案した。 また、知的財産権の問題などで「日韓がある種の価値観を共有し、国際社会の中でリードするルール作りに積極 的に参加することが重要だ」として、日韓の連携強化の必要性を強調した。 http://www.news24.jp/articles/2012/07/14/04209493.html ウィンドウズパワーシェルで○○.cをコンパイルする方法を誰か教えて >>34 GCCかVisual C++ Express使えばいいです(”^-^) f(){ char a[8]="HOGE"; puts(a); } ↑これができるなら ↓これもできて然るべきなんじゃねえの? f(){ char a[8]; a="HOGE"; puts(a); } まあ表記としては a={"HOGE"}; のようにでもするべきだが。 これは前者でも char a[8]={"HOGE"}; こうあるべきだけどな。 /* >>40 */ #include <stdio.h> #include <string.h> f(){ char a[8] = "HOGE"; puts(a); } func(){ char a[8]; strcpy(a, "HOGE"); puts(a); } function() { char a[8] = {"HOGE"}; puts(a); } int main(void) { f(); func(); function(); return 0; } 【大赤字】 韓国万博にK-POPスターを呼んでも客が来ないため、チケット69円で投売り開始 http://engawa.2ch.net/test/read.cgi/poverty/1342528699/ 麗水エキスポ:1000ウォンの深夜入場券発行へ 麗水エキスポの入場者数が目標を大幅に下回っていることを受け、 韓国政府は1000ウォン(約69円)の深夜入場券を発行することを決めた。 http://www.chosunonline.com/site/data/html_dir/2012/07/17/2012071701101.html #define NON_OVERFLOW_SIZE 256 #include <stdio.h> #include <string.h> typedef struct STRING STRING; struct STRING { char c[NON_OVERFLOW_SIZE]; int length; }; void set_string(STRING *s, const char *p) { strcpy(s->c, p); s->length = strlen(p); } int main(void) { STRING a, HOGE; set_string(&HOGE, "HOGE"); a = HOGE; puts(a.c); printf("%d\n", a.length); return 0; } >>46 f(){ char a[8] = "HOGE"; puts(a); } これが静的変数じゃない場合は結局は代入するルーチンが入るんだから、 初期化じゃなくても同じようにできたっていいだろって意味なんだが。 >>49 char foo[] = "abcd"; ってのは char foo[] = {'a', 'b', 'c', 'd'}; の糖衣構文だ。この構文を見て判るように、構造体の初期化と同じである。 構造体メンバの直接代入ができないんだから、配列でできなくてもいいだろ。 構造体は代入できるだろ。 struct T a, b; b=a; 静的と動的の初期化は意味がまったく違うんだから、 動的の文字列が初期化できるなら 同じ方法でコピーできたっていいだろ。 初期化の時に展開されるルーチンを同じように使えばいいだけじゃん。 既に決まっている言語の仕様についてガタガタ抜かすスレにようこそ >>51 私の言っているのは、構造体全体の代入ではなく、メンバの直接代入だ。 つまり、これができないと言っている。 struct foo { int a, b; } bar; bar = {3, 4}; >>50 char foo[]={'a','b','c','d',0}の誤り。 二分探索木を利用するプログラム 探索、要素追加、要素削除 #include<stdio.h> #include<stdlib.h> #include<malloc.h> #define NODE_NUM 10 #define RAND_SEED 0x1031000 必要な関数・構造体の定義をここに書く int main(void){ struct BST_Node *T_root; int i; T_root=(struct BST_Node*)malloc(sizeof(struct BST_Node)); T_root->left=T_root->right=NULL; T_root->value=0; srand(RAND_SEED); for(i=0;i<NODE_NUM; i++){ insert_v(T_root,rand()/(double)RAND_MAX*NODE_NUM*10); } 木の高さや木の形をここで表示 } プログラムを書いてくださいますようお願い申し上げます >>58 struct BST_Node { struct BST_Node *left,*right; double value; }; struct BST_Node *new_node(double value) { struct BST_Node *node= (struct BST_Node *)malloc(sizeof(struct BST_Node)); node->left=node->right=NULL; node->value=value; return node; } void insert_v(struct BST_Node*root,double value){ if(value<root->value){ if(root->left)insert_v(root->left,value); else root->left=new_node(value); } else if(root->value<value){ if(root->right)insert_v(root->right,value); else root->right=new_node(value); } } void print_node(struct BST_Node*node,int level){ int i; for(i=0;i<level;i++)printf(" "); printf("%g\n",node->value); if(node->left) print_node(node->left,level+1); if(node->right) print_node(node->left,level+1); } 韓国産のヒラメで食中毒 調べてみたら寄生虫がうようよみつかる http://engawa.2ch.net/test/read.cgi/poverty/1342639945/ 県内初 ヒラメ由来の食中毒 今月14日、新庄市内の飲食店でヒラメの刺身を食べた5人が下痢や吐き気などの食中毒の症状を訴え、原因は、 ヒラメに特有の寄生虫とわかりました。 この寄生虫が原因の食中毒が確認されるのは県内で初めてです。 県によりますと、今月14日午後、新庄市内の飲食店で、韓国産の養殖ヒラメの刺身を食べた5人がその日の夜に かけて次々に下痢や吐き気などの症状を訴えて病院に運ばれ、1人が入院しました。 県によりますと全員快方に向かっていて入院した1人もすでに退院しているということです。 県が飲食店に保管されていた残りのヒラメを回収して調べたところ、「クドア・セプテンプンクタータ」という寄 生虫が見つかり、食中毒が原因と断定しました。 この寄生虫は、おもにヒラメの刺身に寄生し、全国的に食中毒が相次いだことをうけ厚生労働省は去年6月、都道 府県などに注意を呼びかけていましたが、県内で確認されたのは今回が初めてです。 県によりますと、国内で養殖されるヒラメは出荷前に寄生虫がいないか検査が行われているということです。 http://www.nhk.or.jp/lnews/yamagata/6023681251.html ポインタの配列の型を関数の引数にかくとき、サイズも必要ですか? typedefのとき、どうですか char *p[POINTER_ARRAY_SIZE] ここってネタスレでしょw >>69 やりたいことを思った通りに書いてみて、エラーがでるかどうか。 エラーがでなかったとしたら、思い通りに処理できるかどうか検証するコードを書く。 検証するコード自体もエラーが出ないようなら、実行して結果を検証する。 思い通りの結果が得られないようなら遣り直し。 川渡りパズル クマの親子、トラの親子、ワニの親子の計6匹が、2匹乗りボートで対岸に渡ろうとしています。 ただし、子どもは自分の親がそばについていないときに、他の親と一緒にいると食べられてしまいます。 (普段は、とっても仲良しなのですが...) みんな、泳げませんが、1匹でもボートに乗って渡ることはできます。 どのような順番で渡れば良いでしょうか? 課題:このパズルを縦型探索で解くプログラムを作成してください。 実行結果としてOpenListの変化の様子と得られた解を表示させてください。 これC言語で解いてくれませんか? cmdにgccと打つと、{gcc: 致命的エラー:入力ファイルがありません RpC~オワオスB}とでるんだけど、だれか助けて(泣) オワオスが分からんが、ファイル名を指定する必要ガール ふぁいるめい?(私は何故か今日c言語始めようと思ったど素人なので) 当たり前のことまで聞いてすみません。 for (i=0;i<num1;i++){ array_value = *(b+?); sum1 = sum1 +array_value; printf("current sum = %8.3lf\n",sum1); どういう意味? 変数の定義がない、括弧が閉じてないなどいろいろおかしい #include "stdafx.h" double mean1(int num1,double *b){ int i; double array_value; double sum1=0.0; double avg0=0.0; for (i=0;i<num1;i++){ array_value = *(b+?); sum1 = sum1 +array_value; printf("current sum = %8.3lf\n",sum1); } printf("sum = %8.3lf\n",sum1); avg0=sum1/(double)num1; printf("average = %8.3lf\n",avg0); return avg0; } int _tmain(int argc, _TCHAR* argv[]) { int num0=5; double a[5] ={-1.0,3.5,2.1,1.2,-2.3}; double avg1 = 0.0; avg1 = mean1(num0,&a[0]); printf("mean of a is %8.3lf",avg0); printf("\n"); char c1; printf("hit enter key to quit\n"); scanf("%c",&c1); return 0; 元はこれ /* myc.c */ #include<stdio.h> int main(void){ printf("My C programming\n"); return 0; } を myc.c て書いて保存した。 次に、cmd起動、cd c:\myc と打った。 そのあと、gcc myc.c -o myc とやったがエラーがでる。 (こういうことですか?) ドライブ C のボリューム ラベルは Windows Vista です ボリューム シリアル番号は XXXX-XXXX です c:\myc のディレクトリ 012/07/24 18:35 <DIR> . 012/07/24 18:35 <DIR> .. 0 個のファイル 0 バイト 2 個のディレクトリ 18,851,442,688 バイトの空き領域 #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { int a[3][4] = {{8,2,12,4},{11,5,1,10},{7,6,9,3}}; int row1 = 3,column1 = 4,b,i1,j1; i1 = 0; j1 = 0; b = a[i1][j1]; if (b>a[0][0]) {b = a[0][0];i1 = 0;j1 = 0;} if (b>a[0][1]) {b = a[0][1];i1 = 0;j1 = 1;} if (b>a[0][2]) {b = a[0][2];i1 = 0;j1 = 2;} if (b>a[0][3]) {b = a[0][3];i1 = 0;j1 = 3;} if (b>a[1][0]) {b = a[1][0];i1 = 1;j1 = 0;} if (b>a[1][1]) {b = a[1][1];i1 = 1;j1 = 1;} if (b>a[1][2]) {b = a[1][2];i1 = 1;j1 = 2;} if (b>a[1][3]) {b = a[1][3];i1 = 1;j1 = 3;} if (b>a[2][0]) {b = a[2][0];i1 = 2;j1 = 0;} if (b>a[2][1]) {b = a[2][1];i1 = 2;j1 = 1;} if (b>a[2][2]) {b = a[2][2];i1 = 2;j1 = 2;} if (b>a[2][3]) {b = a[2][3];i1 = 2;j1 = 3;} printf("??? value of matrix a is a[%d][%d] = %d\n",i1+1,j1+1,b); char c1;printf("hit enter key to quit\n"); scanf("%c",&c1); return 0; } if文でなにを行ってるの? gcc: 致命的エラー:入力ファイルがありません RpC~オワオスB >>83 1.cmd を起動する。 2.dir "My Documents" で確認する。 3.myc.cが有れば結果を2chに貼り付ける。 4.cd c:\myc 5.gcc myc.c むかしの日本人技術者は優秀だった。もちろんABCは、日本国内で学習できた。 アメリカに研修にいったひとたちは、ABCではなくPQRぐらいから質問するほど レベルがたかかったそうだ。 いまはどうかしらないけど… 中国人技術者は、ABCから質問したそうだ。かんがえられないことだ。 アメリカ人技術者もABCから質問するひとがいて、質問というか議論好きな人もいるということらしい。 日本人は、そういうのがなんかめんどくさく感じる(「あの連中、いらんことまで質問するなぁ」) >>96 ABCから聞くのも良いだろ別に。 ヤバイのはABCを議論で決める風潮が今ある事www 定石があるのに、議論するんだぜ、やってらんねーよ。 ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.1 2024/04/28 Walang Kapalit ★ | Donguri System Team 5ちゃんねる