X



C言語なら俺たちに聞け パート0001
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2012/07/07(土) 17:15:26.10
なんでも聞きなよ
0002デフォルトの名無しさん
垢版 |
2012/07/07(土) 17:36:26.32
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所
0005デフォルトの名無しさん
垢版 |
2012/07/07(土) 19:53:09.17
int a[0];
の意味を教えてください
00063
垢版 |
2012/07/07(土) 20:03:05.68
>>4
解放する必要はないということで安心しました。ありがとうございます!
00095
垢版 |
2012/07/07(土) 20:49:12.71
あ、思い出した
Darwinのソースの中にあったから気になった
0011デフォルトの名無しさん
垢版 |
2012/07/08(日) 21:21:27.95
質問です。
C言語ってなんですか?
0013デフォルトの名無しさん
垢版 |
2012/07/08(日) 23:26:34.53
>>11
Unixなどのシステムをかける言語です

The C Programming Language
プログラミング言語C
という本がある
0014デフォルトの名無しさん
垢版 |
2012/07/09(月) 00:06:00.54
>>13
ありがとうございました。
勉強します。
0015デフォルトの名無しさん
垢版 |
2012/07/09(月) 00:24:28.00
>>11
Linux、FreeBSDなどのカーネル、ドライバーが殆どCで書かれています。

エキスパートCプログラミングを読むといっぱしになった気分になれます。

初心者は、独習C、初めてのC言語などお勧めです。
0016デフォルトの名無しさん
垢版 |
2012/07/09(月) 02:13:51.78
どうやったらゲームやアプリが作れるんですか?
0018デフォルトの名無しさん
垢版 |
2012/07/09(月) 13:10:42.50
>>16
まず服を脱ぎます
0020デフォルトの名無しさん
垢版 |
2012/07/09(月) 15:35:38.49
ぶひひ
0022デフォルトの名無しさん
垢版 |
2012/07/09(月) 22:56:19.14
ふっほっ
0023デフォルトの名無しさん
垢版 |
2012/07/10(火) 14:42:21.51
ばあぶう
0024デフォルトの名無しさん
垢版 |
2012/07/10(火) 14:53:35.03
ひまだ
質問まだ?
0025デフォルトの名無しさん
垢版 |
2012/07/10(火) 19:14:27.31
どす窓が一瞬開いて閉じちゃて結果がわからないんだけど、どうすればいいんだろう?
VCだから?
0026デフォルトの名無しさん
垢版 |
2012/07/10(火) 19:43:12.34
>>25
VCに限らずそういうもんやねん。リードキー的なものを最後に書いといたらええで。
0030デフォルトの名無しさん
垢版 |
2012/07/14(土) 13:41:49.26
捕手
0031デフォルトの名無しさん
垢版 |
2012/07/14(土) 14:43:34.94
民主党「韓国で反日が盛り上がっていてヤバイ… そうだ! 秋田のシェールガスを日韓で開発しよう!」
http://engawa.2ch.net/test/read.cgi/poverty/1342227537/



仙谷氏、韓国の“対日感情”高まりに懸念

 民主党・仙谷政調会長代行は13日、「未来志向の日韓戦略協力」をテーマにした財団法人世界平和研究所の
シンポジウムで基調講演を行い、12月の韓国の大統領選挙を前に、対日ナショナリズムが韓国国内で高まるこ
とに懸念を示した。

 仙谷氏「相当な鋭い言論によって、どうしても選挙を控えた、あるいは選挙があろうとなかろうと、政治の世界
がそこを無視できなくなる。政治家の仕事は、その種の過剰なナショナリズムに対して、どこまで踏ん張れるかと
いうのが最大の問題、最大の課題だと考えています」

 その上で、仙谷氏は「日韓相互がウィン・ウィンの関係を作るべきだ」として、ロシアの天然ガスやアメリカの
シェールガス開発などを日韓共同事業体で行うことを提案した。

 また、知的財産権の問題などで「日韓がある種の価値観を共有し、国際社会の中でリードするルール作りに積極
的に参加することが重要だ」として、日韓の連携強化の必要性を強調した。

http://www.news24.jp/articles/2012/07/14/04209493.html

0034デフォルトの名無しさん
垢版 |
2012/07/16(月) 13:20:33.85
ウィンドウズパワーシェルで○○.cをコンパイルする方法を誰か教えて
0037デフォルトの名無しさん
垢版 |
2012/07/17(火) 06:18:09.03
ぶひひ
0040デフォルトの名無しさん
垢版 |
2012/07/17(火) 21:31:50.36
f(){
 char a[8]="HOGE";
 puts(a);
}

↑これができるなら
↓これもできて然るべきなんじゃねえの?

f(){
 char a[8];
 a="HOGE";
 puts(a);
}

まあ表記としては
 a={"HOGE"};
のようにでもするべきだが。
これは前者でも
 char a[8]={"HOGE"};
こうあるべきだけどな。
0042デフォルトの名無しさん
垢版 |
2012/07/18(水) 02:26:00.91
わかりません
0043デフォルトの名無しさん
垢版 |
2012/07/18(水) 02:28:02.24
英語
0046デフォルトの名無しさん
垢版 |
2012/07/18(水) 07:36:01.30
/* >>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;
}
0047デフォルトの名無しさん
垢版 |
2012/07/18(水) 08:05:01.17
【大赤字】 韓国万博に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
0048デフォルトの名無しさん
垢版 |
2012/07/18(水) 09:08:31.90
#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;
}
0049デフォルトの名無しさん
垢版 |
2012/07/18(水) 11:36:31.73
>>46
f(){
char a[8] = "HOGE";
puts(a);
}
これが静的変数じゃない場合は結局は代入するルーチンが入るんだから、
初期化じゃなくても同じようにできたっていいだろって意味なんだが。
0050デフォルトの名無しさん
垢版 |
2012/07/18(水) 11:58:20.68
>>49
char foo[] = "abcd";
ってのは
char foo[] = {'a', 'b', 'c', 'd'};
の糖衣構文だ。この構文を見て判るように、構造体の初期化と同じである。

構造体メンバの直接代入ができないんだから、配列でできなくてもいいだろ。
0052デフォルトの名無しさん
垢版 |
2012/07/18(水) 12:15:36.64
静的と動的の初期化は意味がまったく違うんだから、
動的の文字列が初期化できるなら
同じ方法でコピーできたっていいだろ。
初期化の時に展開されるルーチンを同じように使えばいいだけじゃん。
005650
垢版 |
2012/07/18(水) 14:23:13.42
>>51
私の言っているのは、構造体全体の代入ではなく、メンバの直接代入だ。
つまり、これができないと言っている。
struct foo {
int a, b;
} bar;
bar = {3, 4};
0057片山博文MZボット ◆0lBZNi.Q7evd
垢版 |
2012/07/18(水) 18:51:10.30
>>50
char foo[]={'a','b','c','d',0}の誤り。
0058khklh
垢版 |
2012/07/18(水) 18:59:05.56

二分探索木を利用するプログラム
探索、要素追加、要素削除

#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);
}

木の高さや木の形をここで表示

}
プログラムを書いてくださいますようお願い申し上げます
0059片山博文MZボット ◆0lBZNi.Q7evd
垢版 |
2012/07/18(水) 21:30:34.63
>>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);
}
0060片山博文MZボット ◆0lBZNi.Q7evd
垢版 |
2012/07/18(水) 21:32:39.25
print_node(T_root,0);
0062デフォルトの名無しさん
垢版 |
2012/07/19(木) 00:31:10.67
ふっひっ
0063デフォルトの名無しさん
垢版 |
2012/07/19(木) 09:23:33.16
韓国産のヒラメで食中毒 調べてみたら寄生虫がうようよみつかる
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
0065デフォルトの名無しさん
垢版 |
2012/07/23(月) 07:35:49.02
C言語の質問ならこちらへどうぞ
0066デフォルトの名無しさん
垢版 |
2012/07/24(火) 09:05:11.94
質問来ないけど過疎なのかなあ
0069デフォルトの名無しさん
垢版 |
2012/07/24(火) 11:57:56.32
ポインタの配列の型を関数の引数にかくとき、サイズも必要ですか? typedefのとき、どうですか
char *p[POINTER_ARRAY_SIZE]
0070デフォルトの名無しさん
垢版 |
2012/07/24(火) 12:47:08.40
ここってネタスレでしょw

>>69
やりたいことを思った通りに書いてみて、エラーがでるかどうか。
エラーがでなかったとしたら、思い通りに処理できるかどうか検証するコードを書く。
検証するコード自体もエラーが出ないようなら、実行して結果を検証する。
思い通りの結果が得られないようなら遣り直し。
0071デフォルトの名無しさん
垢版 |
2012/07/24(火) 16:50:43.44
川渡りパズル

クマの親子、トラの親子、ワニの親子の計6匹が、2匹乗りボートで対岸に渡ろうとしています。
ただし、子どもは自分の親がそばについていないときに、他の親と一緒にいると食べられてしまいます。
(普段は、とっても仲良しなのですが...)
みんな、泳げませんが、1匹でもボートに乗って渡ることはできます。
どのような順番で渡れば良いでしょうか?


課題:このパズルを縦型探索で解くプログラムを作成してください。
   実行結果としてOpenListの変化の様子と得られた解を表示させてください。


これC言語で解いてくれませんか?
0073カナカナゼミ
垢版 |
2012/07/24(火) 19:37:17.06
cmdにgccと打つと、{gcc: 致命的エラー:入力ファイルがありません
 RpC~オワオスB}とでるんだけど、だれか助けて(泣)
0075カナカナゼミ
垢版 |
2012/07/24(火) 19:46:22.19
ふぁいるめい?(私は何故か今日c言語始めようと思ったど素人なので)



当たり前のことまで聞いてすみません。
0076デフォルトの名無しさん
垢版 |
2012/07/24(火) 19:48:19.79

for (i=0;i<num1;i++){
array_value = *(b+?);
sum1 = sum1 +array_value;
printf("current sum = %8.3lf\n",sum1);


どういう意味?
0079デフォルトの名無しさん
垢版 |
2012/07/24(火) 19:57:04.90
#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;
元はこれ
0081カナカナゼミ
垢版 |
2012/07/24(火) 20:04:35.34
/* 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 とやったがエラーがでる。
(こういうことですか?)
0083カナカナゼミ
垢版 |
2012/07/24(火) 20:14:47.70
ドライブ 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 バイトの空き領域
0084デフォルトの名無しさん
垢版 |
2012/07/24(火) 20:15:51.80
#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文でなにを行ってるの?
0086カナカナゼミ
垢版 |
2012/07/24(火) 20:17:24.31
どうすれば(汗)
0089カナカナゼミ
垢版 |
2012/07/24(火) 20:23:35.76
ゴミでもいいおしえてくれ。
0091カナカナゼミ
垢版 |
2012/07/24(火) 20:38:09.74
それそれ!どうすんだろうか。
0094デフォルトの名無しさん
垢版 |
2012/07/25(水) 11:19:03.50
ぷぅ〜
0095 ◆tsGpSwX8mo
垢版 |
2012/07/25(水) 12:33:22.71
>>83
1.cmd を起動する。
2.dir "My Documents" で確認する。
3.myc.cが有れば結果を2chに貼り付ける。
4.cd c:\myc
5.gcc myc.c
0096デフォルトの名無しさん
垢版 |
2012/07/25(水) 20:20:43.96
むかしの日本人技術者は優秀だった。もちろんABCは、日本国内で学習できた。
アメリカに研修にいったひとたちは、ABCではなくPQRぐらいから質問するほど
レベルがたかかったそうだ。
いまはどうかしらないけど…
中国人技術者は、ABCから質問したそうだ。かんがえられないことだ。
アメリカ人技術者もABCから質問するひとがいて、質問というか議論好きな人もいるということらしい。
日本人は、そういうのがなんかめんどくさく感じる(「あの連中、いらんことまで質問するなぁ」)
0097デフォルトの名無しさん
垢版 |
2012/07/26(木) 09:08:14.74
7/22 日韓国交断絶国民大行進 in 関西
http://www.nicovideo.jp/watch/sm18435339

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


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

http://www.youtube.com/watch?v=2oqZGmeEzWg&feature=player_detailpage#t=2545s
0099デフォルトの名無しさん
垢版 |
2012/07/27(金) 02:11:25.21
へえ
0100デフォルトの名無しさん
垢版 |
2012/07/27(金) 17:12:27.17
>>96
ABCから聞くのも良いだろ別に。

ヤバイのはABCを議論で決める風潮が今ある事www
定石があるのに、議論するんだぜ、やってらんねーよ。
0101デフォルトの名無しさん
垢版 |
2012/07/27(金) 17:17:26.95
夏休み♪
0102デフォルトの名無しさん
垢版 |
2012/07/27(金) 17:21:50.75
引き渡された配列aをポインタbで受けて順に加算した結果を
sum1に入れて順次表示している。
最後に全ての合計がsum1に入っているので
配列のサイズ(数)で除して配列aの平均値を求めavg0に入れて
戻り値として返している。


誰かもっとわかりやすく説明して
0103デフォルトの名無しさん
垢版 |
2012/07/27(金) 17:30:21.84
Type func(Type const a[], unsigned size)
{
Type sum1 = 0;
for (unsigned ic = 0; ic < size; ++ic) sum1 += a[ic];
return sum1 / size;
}
// あれ、bとavg0はどこだw
0104デフォルトの名無しさん
垢版 |
2012/07/31(火) 12:41:12.65
夏休み!夏休み!
0105◇AIRRIDEtx.
垢版 |
2012/07/31(火) 12:42:42.38
俺はActionScriptできるからどんな言語でもできるよ?
なんか質問ある?
0107デフォルトの名無しさん
垢版 |
2012/08/03(金) 22:45:42.24
なんでこっちには質問来ないんだろう・・・
0110デフォルトの名無しさん
垢版 |
2012/08/13(月) 08:41:33.31
夏休みだというのに人居ないね
0112デフォルトの名無しさん
垢版 |
2012/08/14(火) 08:41:53.81
10代20代テレビ離れ 30%減少 インターネットの方が面白い 総務省
http://engawa.2ch.net/test/read.cgi/poverty/1344886835/


Twitter Facebook YouTube mixi ニコニコ動画

総務省が発表した「情報通信白書」には、
世代別の「テレビを見る」時間を過去と比較したデータがある。
若い世代のテレビ離れは一目瞭然。
10代では、2005年に1日平均106分だった視聴時間が、2010年には70分と、
わずか5年で3割以上も減少している。
同様に20代では、2005年に104分だったのが2010年には76分に激減。

10代 106分 → 70分
20代 104分 → 76分

http://zasshi.news.yahoo.co.jp/article?a=20111104-00000005-pseven-pol

テレビよりインターネット

メディア環境研究所は2010年6月23日、毎年2月に実施している
「メディア定点調査」の最新版「メディア定点調査・2010」の抜粋編を発表した。
「20代男性はテレビ以上にパソコンでネットに接続している」
「男性は10代から30代でテレビよりも、パソコンと携帯電話を合わせた
インターネットへの接続時間が長い」

グラフ
http://www.garbagenews.com/img10/gn-20100624-17l.gif
http://www.garbagenews.net/archives/1443170.html
0114364
垢版 |
2012/08/14(火) 22:45:44.80
char型の配列に文字を入れて、それを別の関数に渡して全文字を出して
欲しいんですけど、下記コードのようにちゃんとFまで出てくれません。
確保数と実際に入っている文字数が異なる場合、入ってる文字数分だけ
配列を回す処理をvoid print_char(char *)でやりたいんですが、どうすれば
よろしいでしょうか?

おそらくものすごく基本的なことだと思うのですが、ご教授いただけますと
幸いにござります。

http://ideone.com/P7Ris

0115デフォルトの名無しさん
垢版 |
2012/08/14(火) 22:46:40.77
すみません、間違って本スレでない方に書き込んでしまったので、>>114
撤回いたします。
0117デフォルトの名無しさん
垢版 |
2012/08/16(木) 09:16:29.68
8月15日に攻撃対象へ指定されていた、日本のコミュニティサイト 「 2ch 」 は現在スムーズに稼動している。

インターネットカフェ ネトテロデウンヨンハプ は14日、光復節当日(8/15)、日本のコミュニティサイト 「 2ch 」 を対象とした
集団サイバー攻撃の計画を立てた。 計画が出ると、このカフェでは、(2ちゃんねるへの)攻撃に参加するというネチズンたちが列をなした。

しかし、このカフェは、15日早朝、突然の計画を取り消した。
カフェは、 『攻撃予定日は9月ですが、光復節(8/15)に日本サイトの攻撃はない』と公示した。

詳細 2012/8/15 ソース韓国語 inews24
http://news.inews24.com/php/news_view.php?g_serial=682052&g_menu=020310
0119デフォルトの名無しさん
垢版 |
2012/08/17(金) 13:45:53.32
《明博の本当の台詞》ハングル分かる奴の直訳

『日王は韓国民に心から土下座したいのなら来い
 重罪人に相応しく手足を縛って頭を踏んで地面に擦り付けて謝らせてやる
 重罪人が土下座もしない、言葉で謝るだけならふざけた話しだ
 そんな馬鹿な話は通用しない、それなら入国は許さない』
0120デフォルトの名無しさん
垢版 |
2012/08/17(金) 14:10:09.03
ネタスレには違いないが
本スレの隔離乱発をリセットしたい点には同意だな
0121デフォルトの名無しさん
垢版 |
2012/09/03(月) 06:02:17.04
そうだね
0130デフォルトの名無しさん
垢版 |
2012/09/10(月) 15:41:39.10
#include <stdio.h>

int main(void)
{
int i,price;

scanf("%d",&price);

for (i = 1;i <= 9;i++) {
printf("%d Price Down = %d\n",i,(price * (10.0 - i) / 10));
}

return 0;
}

1割から9割までの表示するプログラムですけど
実数にのするにはどうすればいいでうsか?
0131デフォルトの名無しさん
垢版 |
2012/09/10(月) 19:19:15.13
ぼくわかんなーい
0135デフォルトの名無しさん
垢版 |
2012/09/11(火) 10:48:55.09
int main(void)
if (suuti == 10)
printf("入力値は10です。\n");
else
printf("入力値は10ではありません。\n");


int main(void)
{
if (suuti == 10) {
printf("入力値は10です。\n");
} else {
printf("入力値は10ではありません。\n");
}
}
{}をつけるのと付けないのは何が違うんですか?
0136デフォルトの名無しさん
垢版 |
2012/09/11(火) 11:18:45.10
void main(void)
{

int d,p[2],stay;
char buf[20];

pipe(p);

if((d=fork())==0){close(p[1]);}

}

これどういうプログラムですか?
forkとpipeっていう関数見た事なくて.....
0137デフォルトの名無しさん
垢版 |
2012/09/11(火) 16:59:59.44
フォークのように2つのプロセスに分裂する。 ─⊂
親プロセスと子プロセス。

両端に読み取りと書き込みの口があるパイプを作る。 ─

フォークより前に作ったパイプは親プロセスと子プロセスで共有される。
2つのプロセスはパイプを通してデータをやり取りできる。プロセス間通信。

これくらい書いておけば自分でググれるだろ?
0139デフォルトの名無しさん
垢版 |
2012/09/15(土) 02:55:52.48
文の終わりにはセミコロンを付けるって規則なのに、なんでwhile文などの{ }の後には付かないの?
といいながらもdowhile文の最後には付く。なんて一貫性のない言語なんだろう。
0140デフォルトの名無しさん
垢版 |
2012/09/15(土) 03:50:54.34
文とブロックの区別がつかないお子様なら、{ }の後にもセミコロン付ければいいじゃん
0142139
垢版 |
2012/09/16(日) 00:17:05.62
ブロックだって文だろ。
0143デフォルトの名無しさん
垢版 |
2012/09/16(日) 02:43:47.06
スレチかも知れんが、C言語検定の2級の問題見たけんだけど、
これ本当にプロが作ってるのか?
例えばさ
(4)C言語では,変数名がABC とabc のように大文字と小文字の違いだけなら,同じ
 変数として識別される。
って問題があるけど、こんな問題出して意味あるのか?
普通にプログラミングしてたら、まずこんなふうに被る変数名なんて絶対に付けないだろ。
他にもこんな感じの問題がいっぱいあるんだけど、過剰反応してる俺がおかしいのか?
0146デフォルトの名無しさん
垢版 |
2012/09/19(水) 12:42:00.44
>>143
プログラミングの作法は置いといて、
言語そのものにどれだけ精通してるかの試験なんだろ。
C言語検定なんだから。
0147デフォルトの名無しさん
垢版 |
2012/09/23(日) 19:42:52.26
Javaの試験で「正しいmain()はどれ」って問題があったの思い出した
引数名が正しいのは型がおかしくて、型が合ってるのは引数名が違うんだが
当然ながら型が合ってるほうが正解という問題だった
0149デフォルトの名無しさん
垢版 |
2012/09/30(日) 16:20:40.53
ふーん
0150デフォルトの名無しさん
垢版 |
2012/10/10(水) 11:18:53.67
#include <stdio.h>

int main(void)
{
int age;
printf("年齢:");
scanf("%d",&age);
if (age <= 3) {
printf("幼児:無料\n");
} else if (age <= 12) {
printf("子供:250円\n");
} else {
printf("大人:400円\n");
}
return 0;
}
else if 文がよくわかりません・・・
どうして if をつけるんですか?
0151デフォルトの名無しさん
垢版 |
2012/10/10(水) 11:34:31.34
本来else ifという構文はない。
if (condA) {
  procA;
} else {
  if (condB) {
    procB;
  } else {
  procMisc;
}
と書くところを便宜上、
if (condA) {
  procA;
} else if (condB) {
  procB;
} else {
  procMisc;
}
と書いているに過ぎない。
0158デフォルトの名無しさん
垢版 |
2012/10/16(火) 21:19:02.08
> 第23回高専プログラミングコンテストで宇部高専が優勝。勝因は「人力で数えた」と判明し話題に

> 競技概要
http://www.procon.gr.jp/uploads/procon23/Apply23.pdf

> 上位陣がすべてクリックでサイコロの数が入力出来るカウンタを作った模様
> 人力が優勝するのは2年ぶり2回目

> 1位「人力で数えた」
> 2位「判定できなくて経験で入力した」
> 3位「1位と同じです」
> 4位「1位と同じです」
> 5位「会場でプログラムキツイわ」
> 6位「1位と(ry」

> 2010 運営「手動で優勝とは、なんと情けない!厳しくしよう!!」
> ↓
> 2012 学生「難しすぎwww 手動するしか無いだろww」 → 決勝がほぼ全員手動 → 運営「\(^o^)/」 
0161デフォルトの名無しさん
垢版 |
2012/10/17(水) 03:07:05.56
鏡をおくとかイジメ以外のなにものでもない
運営側/出題者は自分ができるものを出してくれ
0162デフォルトの名無しさん
垢版 |
2012/10/23(火) 19:29:40.88
え?
0163デフォルトの名無しさん
垢版 |
2012/10/23(火) 22:07:51.96
背中がかゆいよ〜
0166デフォルトの名無しさん
垢版 |
2012/10/27(土) 16:28:53.57
質問来ないけどどうなってるんだろう
0168デフォルトの名無しさん
垢版 |
2012/10/27(土) 23:41:21.91
atexit()は、main()の最初にかくべきでしょうか
それとも、プログラムのどこでかいても有効ですか
0169片山博文MZボット ◆0lBZNi.Q7evd
垢版 |
2012/10/28(日) 00:07:21.37
>>168 どこでもいい
0172片山博文MZボット ◆0lBZNi.Q7evd
垢版 |
2012/10/28(日) 04:31:00.05
>>171 フラグ変数を使え
0175デフォルトの名無しさん
垢版 |
2012/12/24(月) 01:36:35.55
>>173
ゲイツがブラインドタッチできないのは有名な話。
普通はタイピングに慣れてくると自然に楽な姿勢になってホームポジションが維持されるようになるけど、
直接にはプログラミングの技能との関連はなくて、まぁ、要するに個人差があるのでなんともいえない。
0187デフォルトの名無しさん
垢版 |
2013/01/14(月) 19:56:05.08
え?
0193デフォルトの名無しさん
垢版 |
2013/01/25(金) 15:36:03.10
半角英数字5文字の文字列を格納可能な、文字型配列の要素数は最低限何個必要か?
0194デフォルトの名無しさん
垢版 |
2013/01/25(金) 15:38:27.76
3行×2列の整数型の2次元配列matrix_dataに関して、

matrix_data[2][0] は、matrix_data[0][0]を1番目の要素とすると、計算機のメモリ上では、何番目の要素となるか数字で答えよ。
0198デフォルトの名無しさん
垢版 |
2013/01/25(金) 18:17:33.81
超暇な俺が真面目に答えてやるよ

>>193
文字列型があればよいので文字型配列は不要
>>194
アーキテクチャと実装言語により異なる
0203デフォルトの名無しさん
垢版 |
2013/01/27(日) 09:59:04.73
例えば文字列「123ABC$!&00字」というのは、良く使うと思われるエンコードで16進表記にすると
 ・SHIFT-JIS  : 31 32 33 41 42 43 24 21 26 30 30 8E 9A
 ・CP932    : 31 32 33 41 42 43 24 21 26 30 30 8E 9A
 ・ISO-2022-JP : 31 32 33 41 42 43 24 21 26 30 30 1B 24 42 3B 7A 1B 28 42
 ・EUC-JP   : 31 32 33 41 42 43 24 21 26 30 30 BB FA
 ・UTF-8    : 31 32 33 41 42 43 24 21 26 30 30 E5 AD 97
 ・UTF-7    : 31 32 33 41 42 43 2B 41 43 51 41 49 51 41 6D 2D 30 30 2B 57 31 63
なので、半角英数は1byteで良いのかな。
(「試した範囲ではこうでした」の域を出ないけど…)

UTF-7だと半角記号は厄介ですね。単独だと
 0 = 30
 $ = 2B 41 43 51
 ! = 2B 41 43 45
 & = 2B 41 43 59
 0 = 30
だし、並ぶと
 0$!&0 = 30 2B 41 43 51 41 49 51 41 6D 2D 30
しかも
 0$$$$$0 = 30 2B 41 43 51 41 4A 41 41 6B 41 43 51 41 4A 41 2D 30
0205デフォルトの名無しさん
垢版 |
2013/01/27(日) 10:15:01.75
>>203
「半角」というのは文字の形を表現している言葉に過ぎないので、
書体によっては何でも半角になり得る。
http://opentype.jp/hankakufont.htm

かつて1バイト文字を半角で表示していた習慣から混同されているが、
半角文字に対応する文字コードのサイズは決定できない。
0208デフォルトの名無しさん
垢版 |
2013/01/27(日) 10:30:15.76
全角文字が生まれるまでは半角文字など存在しなかったのであるよ
半角文字というのは全角に対応してそう呼ばれているだけ煮すぎない
0209デフォルトの名無しさん
垢版 |
2013/01/27(日) 10:31:47.91
>かつて1バイト文字を半角で表示していた習慣から

この認識は間違いなので新ためるように
0210デフォルトの名無しさん
垢版 |
2013/01/27(日) 10:33:14.04
>かつて1バイト文字を半角で表示していた習慣から

まるで今は1バイト文字を半角で表示していないかのような言い草だ罠。
0221デフォルトの名無しさん
垢版 |
2013/03/17(日) 21:19:04.67
まだぺーぺーなんだけど、ちょっと教えてほしい!

printf("0x%02x〜
の"02x"って何?
いまいちわかんないんだ
0xは16進数の表記とはわかるんだけど…
0222はちみつ餃子 ◆8X2XSCHEME
垢版 |
2013/03/17(日) 22:27:09.59
>>221
%02x でひとまとめの指定。
printf に渡している次の整数ひとつを十六進数二桁 (二桁に満たない場合は上位桁をゼロ詰め) で表示せよということ。
その場合の 0x は 0x と表示するだけ。
0223デフォルトの名無しさん
垢版 |
2013/03/18(月) 22:19:13.22
>>222
おお!そーゆーことか!
らくらく突破C言語テキスト読んでるんだけどさっぱりだったんだわ(´・ω・`)

ありがと!
0225デフォルトの名無しさん
垢版 |
2013/03/19(火) 06:41:00.58
#include <stdio.h>
#include <time.h>
int main(int ac, char **av)
{
  time_t time;
  struct tm t, *l;
  t.tm_year = 2013 - 1900;
  t.tm_mon = 3 - 1;
  t.tm_mday = 18;
  t.tm_hour = 8;
  t.tm_min = 0;
  t.tm_sec = 0;
  time = mktime(&t);
  printf("%ld\n", time);
  l = localtime(&time);
  printf("%d-%02d-%02d %02d:%02d:%02d\n",
    l->tm_year + 1900, l->tm_mon + 1, l->tm_mday,
    l->tm_hour, l->tm_min, l->tm_sec);
  return 0;
}
これで 1363557600 2013-03-18 07:00:00 という結果になるのですが、
なぜ一時間ずれるのでしょう?
0226はちみつ餃子 ◆8X2XSCHEME
垢版 |
2013/03/19(火) 07:56:50.49
t.tm_isdst = 0;
を入れればいいんじゃね?
俺の環境では再現しないからわかんないけど。
0228デフォルトの名無しさん
垢版 |
2013/03/19(火) 13:34:37.73
>>225
全部大文字で書け!

#INCLUDE <STDIO.H>
#INCLUDE <TIME.H>
INT MAIN(INT AC, CHAR **AV)
{
TIME_T TIME;
STRUCT TM T, *L;
T.TM_YEAR = 2013 - 1900;
T.TM_MON = 3 - 1;
T.TM_MDAY = 18;
T.TM_HOUR = 8;
T.TM_MIN = 0;
T.TM_SEC = 0;
TIME = MKTIME(&T);
PRINTF("%LD\N", TIME);
L = LOCALTIME(&TIME);
PRINTF("%D-%02D-%02D %02D:%02D:%02D\N",
L->TM_YEAR + 1900, L->TM_MON + 1, L->TM_MDAY,
L->TM_HOUR, L->TM_MIN, L->TM_SEC);
RETURN 0;
}
0229デフォルトの名無しさん
垢版 |
2013/03/19(火) 13:35:42.53
ん〜、ホント、汚らしいプログラムだなw

馬鹿かと思ったw
0232デフォルトの名無しさん
垢版 |
2013/04/03(水) 19:42:10.51
すいません。プログラム初心者です
質問、よろしいでしょうか?
0234デフォルトの名無しさん
垢版 |
2013/04/04(木) 21:47:31.87
MsgBox "前から言おうと思ってたんだけど良い?" , vbExclamation Or vbApplicationModal , "キーボードからの警告"
MsgBox "あのさぁ汚い手で触らないでくれる?" , vbExclamation Or vbApplicationModal , "キーボードからの警告(2)"
MsgBox "ほら、小指の爪ばっかり伸ばしてるからあたって痛いんだよね" , vbExclamation Or vbApplicationModal , "キーボードからの警告(3)"
MsgBox "あと、Enterだけ強く叩くのやめてくれる?カッコいいと思ったら大きな間違いだよ" , vbExclamation Or vbApplicationModal , "キーボードからの警告(4)"
0235デフォルトの名無しさん
垢版 |
2013/04/04(木) 21:50:00.43
MsgBox "あと、お礼に良いこと教えてあげるよ!!キーボードからよく見えるしさ" , vbExclamation Or vbApplicationModal , "ありがとぉ〜"
MsgBox "鼻毛のびてるよ...." , vbCritical Or vbApplicationModal , "キーボードからのお礼?"
MsgBox "早めに切ってね." , vbCritical Or vbApplicationModal , "キーボードからのお礼?(2)"
 このプログラム面白くできませんか?
0237デフォルトの名無しさん
垢版 |
2013/04/04(木) 23:05:08.34
>>236
すいません。センス無いんです...
改善点だけでも!!
0239デフォルトの名無しさん
垢版 |
2013/04/05(金) 02:55:21.64
Unix環境ですと、セグメンテーション違反やバスエラーが発生した場合、
コアダンプしてプロセスが強制終了するのですが。
プロセスを強制終了させずに、エラー処理ルーチンに制御を移して
処理を続行させるようなことは、C言語では可能ですか?
0242デフォルトの名無しさん
垢版 |
2013/04/11(木) 14:57:51.76
error LNK2019: 未解決の外部シンボル __imp__SetCursorPos@8 が関数 _main で参照されました。
これの解決策がわかりません、opencvを使うにあたってプロジェクトの
プロパティで、インクルードディレクトリなどを追加していることなどが
関係しているようなのですが特定できません。
よろしくお願いします。
また、opencvを使用していない簡単なプログラムでSetCursorPosを
使った際はエラーが発生しません。
0243デフォルトの名無しさん
垢版 |
2013/04/11(木) 17:00:34.43
>>242
全然分からんけど、もしかして
1. #include <windows.h> を #include "stdafx.h" の次に書く
2. int main() を int WINAPI WinMain(HINSTANCE hinst, HINSTANCE hinstPrev, LPSTR lpszCmdLine, int nCmdShow) にしてみる
これでは…?
0244デフォルトの名無しさん
垢版 |
2013/04/11(木) 17:13:37.80
>>243
ありがとうございます。
しかし、1と2を行った結果
MSVCRTD.lib(crtexe.obj) : error LNK2019: 未解決の外部シンボル _main が関数 ___tmainCRTStartup で参照されました。
というメッセージが増えてしました。
0246デフォルトの名無しさん
垢版 |
2013/04/11(木) 17:40:36.14
申し訳ないです。
1のみの結果
C:\Program Files\Microsoft Visual Studio 10.0\VC\atlmfc\include\afx.h(24): fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]
が増えました。

2のみ
MSVCRTD.lib(crtexe.obj) : error LNK2019: 未解決の外部シンボル _main が関数 ___tmainCRTStartup で参照されました。
です
0249デフォルトの名無しさん
垢版 |
2013/04/11(木) 19:36:52.54
>>248
リンク先の対処法でstdafx.hについては解決しましたが、
error LNK2019: 未解決の外部シンボル __imp__SetCursorPos@8 が関数 _main で参照されました。
このメッセージは消えません。
0250デフォルトの名無しさん
垢版 |
2013/04/11(木) 19:40:40.87
>>247
コンソールアプリケーションです。

>>248
ありがとうございました。
0251デフォルトの名無しさん
垢版 |
2013/04/11(木) 19:44:02.72
空のプロジェクト
にチェック入れて作ってしまっていました。
とりあえず作り直してみます。
0252デフォルトの名無しさん
垢版 |
2013/04/12(金) 09:47:40.93
>>251
で作り直しましたが、何も変わりませんでした。
0254デフォルトの名無しさん
垢版 |
2013/04/12(金) 15:35:54.26
     \_   _ /`|l: : : : l: : l.:イ| |:l  'l:| lヽ.: : :| ヾ ヽ.:|ハ: : : :|.: |   ̄    /  .|.:|   
       `V:)´     /|.l.:|: : :l.: :l: :| ,t==z, l|  \: | ,r==z,|: : : |.:_:|   \_/:`ヽ/|:|   
       |(    / | l:|.: : :l: :ll: |/んノ心     ヾ んノ心.|: : : |´-|   入.: :| |: |: :| |:|   
       l| 'ーl´.:^lヽ_,,l|ヽ: :ヽ.:l: | {:::i::j:::リ         {:::i::j:::リ|: : : |...l lt-'´/:|: /':,|:/|: | |:|
            \: :|\: \:\:ヽ;|'. ゝ- '"     ,     ゝ- '".|.: :/ー'/.:|: /: :|/: : |!. |/. |'    >>1
            /:`'.: : :\: : :|`l: iヽ "" ""  、  ,  "" ""|: /:-t'´://: :/: : : ´':.'
        ( ー'-=z_ニー' i、.:|`'l: 'z、               ., :|:/: : :_|;/-‐--‐t_,,z'" ):,
        `7- 、    `ヽ_'ー--; :|: |`: :t- .,  _ ..: :i: :/´:|.:l´ r=ニシ- '` _./、.: :':,
        /: ;ノ/\    `ヽ. /ヽー=ニノ_: |ー----‐|: : |: ':_;:-y、r|  /    /‐-t_|_ :_.:':,
        // __  \_    .lヽ }/ `i\ ー----‐'冫 _,r' ( | | ノ   /   __  ̄ )
      γ´ ,.イ´ /       /ノ .〉、  `i_ `.     ´ _r"   )'/ /   /   (_ 〉: : ̄: ':,
      ,:ー:'´: i/ ./`l  ,、  / l _) )  `i、_ ´ r''"      /l/ 弋      ,:=,,_` ' : 、: : ',
     ,:'.: : : :,.' /^|,_/ / | .l-'./ /  o oγ'Y´o o    ( `iー、ヽ._  r: 、 \ノ` : 、._): : ':,
    ,:'.: : : :,(_/`i '/ /三| l ノ リ      弋リ           ̄`iーゝ_, >、\l\ \: : : : : : : ',
   ,:'.: : :/: : : /: :ゝ(_ノ   冫' ,イ-'     _r-' "'ー、_.       |ー--−'ゝ,_).:`ー ': : : : : : : :':,
0255片山博文MZパンク ◆0lBZNi.Q7evd
垢版 |
2013/04/12(金) 22:19:30.25
お前ら全員雑魚。なに勉強してんだよ。

SetCursorPos関数を使ってるのにuser32.libをリンクしてないのが原因。

ソースのどこかに
#pragma comment(lib, "user32.lib")
の一行を書けば解決する。
0257デフォルトの名無しさん
垢版 |
2013/04/12(金) 22:44:24.32
>>256
コピペもできない餓鬼は黙ってろ
0258デフォルトの名無しさん
垢版 |
2013/04/13(土) 00:58:23.10
>>255
初心者に嘘教えてるお前よりはマシ。
0259デフォルトの名無しさん
垢版 |
2013/04/13(土) 04:51:17.57
>>255
VSで普通にC++のアプリのプロジェクトを作ったら特に何もしなくても
user32が使えると思っていたけど違うの?

>>242
#pragma comment(lib, "user32.lib")
を書いてどういう結果になるのか楽しみ
0261デフォルトの名無しさん
垢版 |
2013/04/13(土) 17:37:17.72
getcで質問なんですが
while((c = getc(file)) != EOF);
getcをwhileでループしているだけなのになぜ順番に1文字ずつ読まれるのでしょうか
現在何番目の文字が読まれているとかいうのをfileに書き込んでいるのですか?
0265─☆─ [ X | I.I.T. ] COURANT DE CONSOLE ◆TXFAX7cidQpG
垢版 |
2013/04/13(土) 21:43:18.45
>>263
>getcは1文字読み込んでFILE構造体のptrをインクリメントしているのですね

Cの規則ならGETC(FILE++)にすべきなんだろうなw

FILE++(笑)
0267─☆─ [ X | I.I.T. ] COURANT DE CONSOLE ◆TXFAX7cidQpG
垢版 |
2013/04/13(土) 22:16:53.38
FILE++(笑)
0269─☆─ [ X | I.I.T. ] COURANT DE CONSOLE ◆TXFAX7cidQpG
垢版 |
2013/04/13(土) 22:20:33.10
FILE++(笑)
0271─☆─ [ X | I.I.T. ] COURANT DE CONSOLE ◆TXFAX7cidQpG
垢版 |
2013/04/14(日) 00:09:48.82
FILE++(笑)
0272デフォルトの名無しさん
垢版 |
2013/04/14(日) 01:17:17.03
将棋電王戦でポナンザを開発した山本一成氏がツイッターで
「C#マンセー」みたいな事言っていて、.NETの開発効率には賛同なんだが
それ以前のつぶやきで、「C++って関数の引数の直値で配列書けないのか‥?」
って・・・。
C++及びCの基本も知らないようで驚いた。
応用分野には詳しいようだけど、東大の大学院を出ていて
このレベルというのはどうかと・・・。
CとC++なんて3日でマスター出来るのに
Cを知らないようでは、SDKプログラミングが出来るかどうかも
怪しいね・・・。
MASMオンリーでWindowsアプリを書けるくらいの人だと思っていたのに
ちょっと幻滅。
0273 ◆QZaw55cn4c
垢版 |
2013/04/14(日) 02:22:10.42
>>272
C/C++では関数の引数としての配列はcall of reference になってしまうのだが、山本氏としては call of value でありたかったのでは、構造体と同じように。
0274 ◆QZaw55cn4c
垢版 |
2013/04/14(日) 02:24:01.98
用語を間違えた、call by reference / call by value だったね
0276デフォルトの名無しさん
垢版 |
2013/04/14(日) 02:50:10.67
>>275
それもそうなんですが、用語「参照」が変な風に使われるようになってしまったのを意識しているのです。
0277272
垢版 |
2013/04/14(日) 05:05:50.15
あの感じだと、テキストセグメント、データセグメント、スタックセグメントの概念も知らなそうですね。
知っているからどうなんだという意見が出そうだけど、プロセスが終了するまで
malloc等で動的に確保され拡大されたデータセグメントはfreeしても縮小しないので。
0278272
垢版 |
2013/04/14(日) 06:29:46.23
いやね?、しつこくてスマンけど、

>>272
「C++って関数の引数の直値で配列書けないのか‥?」

って、定数なんだから、値渡しだろうと、アドレス渡しだろうと
関係ないでしょ?
それにconst配列の引数は使えるんだし、根本的に意味不明で、
山本氏は一体何を言いたいのだろうかと。
天才の考える事は常人には理解不能って事?

もしかしたら自分が間違っているのかと思って、テストプログラムまで書いちゃったよ。。
0279272
垢版 |
2013/04/14(日) 06:34:43.73
最近はCとC#とJAVAしか使わないから、もしかしたらCとC++では
規約が違っているのかと思って焦ってしまった。
0280272
垢版 |
2013/04/14(日) 06:59:24.18
まさか、

hoge(const int nTemp[5]={0,1,2,3,4});

こんな呼び出しをしようってわけじゃないよね?
これって動くの?こんなことやった事ないから分からんけど。
眠いから、もうテストする気無し。
0281272
垢版 |
2013/04/14(日) 07:59:34.49
そういや、直値ってハードコードされた数値の事で、定数の一種ではあるけど
直値の配列なんて表現は無いんであって、そうなると

「C++って関数の引数の直値で配列書けないのか‥?」

この日本語って、どう解釈すればよいわけ?
「関数の引数の直値で」「配列を書く」????
日本語自体が破綻しているとしか思えないんだけど。
0282272
垢版 |
2013/04/14(日) 08:03:32.07
って事でワケワカメのC#厨の話はお開きにして、F1決勝まで寝る。
0283272
垢版 |
2013/04/14(日) 08:11:01.69
初めからラッパーばかり使って楽してきた奴はこうなってしまうという典型?
0284272
垢版 |
2013/04/14(日) 08:26:55.81
もしかして、これ?

hoge({0,1,2,3,4});

こんなん見た事ないけどw
0285─☆─ [ X | I.I.T. ] COURANT DE CONSOLE ◆TXFAX7cidQpG
垢版 |
2013/04/14(日) 08:31:55.49
hoge({*0++,*1++,*2++,*3++,*4++}); (笑)
0288デフォルトの名無しさん
垢版 |
2013/04/14(日) 16:23:59.40
androidでギャラリーアプリに使用する
1枚目の画像を右にスライドさせると右にスライドしながらフェードアウトして
後ろにある2枚めの画像が表示されるという機能を付加するのに参考になる情報ありますか?
0291デフォルトの名無しさん
垢版 |
2013/04/15(月) 09:21:29.33
>>255
#pragma comment(lib, "user32.lib")
を入れても変わらず動きませんでした。

逆にSetCursorPosを使っていても、25行程度の簡単なプログラムでは
#pragma comment(lib, "user32.lib") を入れなくても動きました、
もちろん入れても動きました。
0292デフォルトの名無しさん
垢版 |
2013/04/15(月) 10:38:10.21
>>291
#include <windows.h>
#include <stdio.h>

int main(int argc, char* argv[])
{
int x=0,y=0;
SetCursorPos(0,0);
while(1){
POINT pos;
GetCursorPos(&pos);
printf("(%d,%d)\n",pos.x, pos.y);
SetCursorPos(pos.x+x,pos.y+y);
Sleep(10);
if(pos.x>3198)x--;
if(pos.x==0)x++;
if(pos.y==0)y++;
if(pos.y>1198)y--;

}
return 0;
}

こんなんで動きます。

ループは無限です
0294デフォルトの名無しさん
垢版 |
2013/04/15(月) 21:27:38.98
ソース内でnodefaultlibを検索しても見つかりませんでした。

プロパティ > 構成プロパティ > リンカー > コマンドライン の
追加オプションに
「/NODEFAULTLIB:"atlthunk"」
と過去に追加したことはあります。↓の情報です。
www.atinfinity.info/wiki/index.php?OpenCV%2FvideoInput%20Library%E3%81%AB%E3%82%88%E3%82%8B%E3%83%93%E3%83%87%E3%82%AA%E3%82%AD%E3%83%A3%E3%83%97%E3%83%81%E3%83%A3
0299デフォルトの名無しさん
垢版 |
2013/04/15(月) 23:44:55.63
>>298
ヘッダーにもnodefaultlibはありませんでした。
0300デフォルトの名無しさん
垢版 |
2013/04/15(月) 23:46:54.14
>>297
どうもです、
そちらに書き込んでみます。
0302デフォルトの名無しさん
垢版 |
2013/04/16(火) 03:00:05.46
>>301
「プロパティ > 構成プロパティ > 全般 > MFCの使用」を「共有DLLでMFCを使う」にする。
で解決しました。
0303デフォルトの名無しさん
垢版 |
2013/04/16(火) 20:27:01.70
>>298
分からないならレスするな
そこまでして自己顕示欲を満たしたいのか
0304デフォルトの名無しさん
垢版 |
2013/04/16(火) 20:30:02.08
No.411139 無題 2013/03/10(日) 10:58:22 返信 削除
2ちゃんねるのプログラム板たまに見てるんだけど、
片山とかって投稿者は何でいつも中途半端な投稿してるの?
信用してたらヤバめのバグを組み込むことになりそうなんだけど

No.411142 無題 (※削除※) 2013/03/10(日) 11:14:08 返信 削除
>411139
初心者を騙して楽しんでるらしいよ
必ずどこかに嘘を混ぜてる

No.411144 無題 (※削除※) 2013/03/10(日) 11:32:51 返信 削除
>411139
聞いた話ですが、数年前からそういった書き込みをしているそうです。
年単位で成長していないということも考えにくいので、やはり411142さんの言う通りなのかなと思います。

>411143
strncpyの前にNULL文字で埋めてください。

No.411149 無題 2013/03/10(日) 11:49:52 返信 削除
>411142
必ずではないぞ
正確な内容を書き込んでるのも見たことある
但しそのときは質問者の意図とは関係ない書き込みで
違った方向に議論を誘導しようとしてた

No.411152 無題 2013/03/10(日) 12:01:30 返信 削除
>411148
トリップ付けてる人でしょ?
2チャンネルで質問する際は気を付けろって(※削除※)のMLで流れてたよ。
0306デフォルトの名無しさん
垢版 |
2013/07/05(金) NY:AN:NY.AN
int n = 10;
int a[n];
こういう実行時に長さが決まる配列型って処理系の独自拡張?標準?
標準だとしたらいつから?
0308デフォルトの名無しさん
垢版 |
2013/07/05(金) NY:AN:NY.AN
ウォーリーを探せをC言語でやりたいのですができますか?
0321デフォルトの名無しさん
垢版 |
2013/07/08(月) NY:AN:NY.AN
COBOLは消えてなくなると考えられていたから
C言語プログラマーが代替できるようにそういう問題にしてるとかじゃね?
0325デフォルトの名無しさん
垢版 |
2013/08/19(月) NY:AN:NY.AN
#include <stdio.h>
int main(void)
{
int i, j;
int ar[7];
for (i = 0; i <= 15; i++) {
j = i % 7;
ar[j] = i * i;
printf("%2d ar[%d] = %3d\n", i, j, ar[j]);
}
return (0);
}

剰余でつまずきました
0〜15の数字 : 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
7で割った余り : 0 1 2 3 4 5 6 0 1 2 3 4 5 6 0 1
最初の、7で割った余り : 0 1 2 3 4 5 6 がわかりません・・・orz
0329デフォルトの名無しさん
垢版 |
2013/08/21(水) NY:AN:NY.AN
でも、計算出来ないと、人生のいろいろな場面で損する事はあるよね。
気づいてないかもしれんが...
0334はちみつ餃子 ◆8X2XSCHEME
垢版 |
2013/09/09(月) 02:27:13.74
用途によるのでどちらが良いということはない。

オムライスと剛力彩芽のどっちがいいかなというくらいの無意味さ。
俺はオムライスの方がいいけどな。
0335デフォルトの名無しさん
垢版 |
2013/09/09(月) 08:34:34.55
C言語がわからないのではなく、C言語によるGUIの作り方や日本語文字列の処理方法がわからないw
0337デフォルトの名無しさん
垢版 |
2013/09/09(月) 23:23:54.77
俺もCをやり始める前はそうだった
「C言語入門」だとクルマのエンジン部分しかわからない
JavaとかVBだともう少しいろいろついてくるんだけどな
0339デフォルトの名無しさん
垢版 |
2013/11/10(日) 12:43:45.80
ペイント実行してJPG画像読み込んでBMP画像として保存する
をC言語でそうやってやるんですか?
0344デフォルトの名無しさん
垢版 |
2013/11/10(日) 13:15:22.79
やりたいことはJPG画像からbmp画像の変換です。
たくさんのJPGファイルを一括で処理します。
一括変換フリーソフトをいろいろ試したのですが、
ペイントの24ビットマップ形式で保存できるものがありませんでした。
なのでC言語からペイントを実行、保存しようと考えました。
0345デフォルトの名無しさん
垢版 |
2013/11/10(日) 13:23:06.54
Irfan Viewならできそうだが

ついでに言っとくと
「ぼくはC言語でぷろぐらむできます」とか他で言わないようにな
恥をかくぞ
0346sage
垢版 |
2013/11/10(日) 13:32:04.86
Irfan Viewでは一括処理やマクロが出来なかった気がします。
C言語はド初心者レベルと自覚しています。はい。
0347sage
垢版 |
2013/11/10(日) 13:39:05.55
ペイントだとbmp保存で24ビットや256色とかいろいろ種類があります。
一方Irfan Viewでのbmp保存は一種類しかなく、この形式が望むものと違います
0351デフォルトの名無しさん
垢版 |
2013/11/10(日) 17:10:52.83
ありがとうございます。
JTrimは一括変換できそうでね。あとはbmpがどの形式で保存されてるか。
試してみます。
0352デフォルトの名無しさん
垢版 |
2013/12/07(土) 00:57:54.98
>>335
必要な処理が書かれてそうなSoftware探してきてfind-grep
よほどバカでなければ2、3個のプロジェクト眺めたら何が必要かぐらい分かる
真面目にフローを追うのは知らない。
動的デバッグで処理をトレースする方法を知りたいけれど、あんまりネット上で情報を見ない。
0353デフォルトの名無しさん
垢版 |
2014/01/10(金) 10:52:51.16
typedefみたいな型変換ってなんのために必要なの?
結局、中身は int とかじゃないんですか?
0354デフォルトの名無しさん
垢版 |
2014/01/10(金) 11:53:19.05
>>353
typedefがないとstdio.hのFILEの代わりにコンパイラごとに異なった構造体を使う羽目になるよ。
例えば、FILEはこんな構造体の別名になっているかも知れない。
--
struct __sFILE {
unsigned char *_p; /* current position in (some) buffer */
int _r; /* read space left for getc() */
int _w; /* write space left for putc() */
short _flags; /* flags, below; this FILE is free if 0 */
short _file; /* fileno, if Unix descriptor, else -1 */
struct __sbuf _bf; /* the buffer (at least 1 byte, if !NULL) */
int _lbfsize; /* 0 or -_bf._size, for inline putc */

/* separate buffer for long sequences of ungetc() */
struct __sbuf _ub; /* ungetc buffer */
unsigned char *_up; /* saved _p when _p is doing ungetc data */
int _ur; /* saved _r when _r is counting ungetc data */

/* tricks to meet minimum requirements even when malloc() fails */
unsigned char _ubuf[3]; /* guarantee an ungetc() buffer */
unsigned char _nbuf[1]; /* guarantee a getc() buffer */

/* separate buffer for fgetline() when line crosses buffer boundary */
struct __sbuf _lb; /* buffer for fgetline() */

};
0359デフォルトの名無しさん
垢版 |
2014/03/15(土) 21:28:11.30ID:9QOnV1hL
>>356
なんにつけても、別名とか読み替え、すげ替え(怖‥)とか、最後の切り札として欲しいという場面があるのかもしれません
0360デフォルトの名無しさん
垢版 |
2014/04/27(日) 13:35:26.65ID:bd99OFN+
C99のforはfor (int i=0; i<10; i++){}こう書くとエラーになるそうなんですが
clang 3.0で試してみたらエラーになりません
clang 3.0ってC99に対応してますよね
何故エラーが出力されないのですか?
0362デフォルトの名無しさん
垢版 |
2014/04/27(日) 15:11:54.85ID:6kmnG/6w
あ、すいませんclangだと思ってたらgccでした
gccだとc99でコンパイルしないとエラーになるんですよ
0364デフォルトの名無しさん
垢版 |
2014/04/27(日) 15:15:48.48ID:6kmnG/6w
いったんclangの話は忘れてください
clangではエラーはでません。
gccでC99としてコンパイルしない場合にエラーがでるんですが
これ元からこういう仕様なんでしょうか?
わざわざ
int i;
for (i=0; i<10;i++)
みたいに書いてるの昔から見た記憶がないんですよ
0365はちみつ餃子 ◆8X2XSCHEME
垢版 |
2014/04/27(日) 17:13:57.90ID:xdZ6Vmhj
>>360 で書いてるのは「C99だとエラーになる」と「clang3.0 ではエラーにならない」で、
>>362 では「gcc では c99 モードでコンパイルすることを明示した場合意外ではエラーになる」と言ってる。

お前、ほんまに説明が下手なやつやな。

>>364 が本当に言いたかったことでいいんだな。

それは仕様。

int i;
for (i=0; i<10;i++)

みたいなのも昔は普通にあったし今でもそういうスタイルを好む人はたくさんいる。
0371デフォルトの名無しさん
垢版 |
2014/11/06(木) 21:12:20.39ID:iaZsweTc
なんでこんな重複スレみたいな糞スレ立てるんだよ。
0374デフォルトの名無しさん
垢版 |
2014/11/11(火) 11:22:25.45ID:QByfxOoU
>draw_mark = rand() % 4 + 1; //マークを決定する
1から4の乱数を0から始まる配列番号に当てはめるから。
0375デフォルトの名無しさん
垢版 |
2014/11/11(火) 14:20:44.02ID:fzwLZ9n2
それは、わかるんだが
>draw_mark = rand() % 4 + 1
これって、変数に1〜4 までを適当に決めてるだけで
どうして、配列と関係があるんですか?
0376デフォルトの名無しさん
垢版 |
2014/11/11(火) 14:36:12.21ID:CXWKhWIS
>>373 中の mark[draw_mark-1] で
なんで -1 してるん? という質問からの派生

配列のインデックスは 0 から開始する(リンク先ソースでは mark[0] 〜 mark[3] まで)
変数 draw_mark は 1 から4まで

この draw_mark を使って 配列の要素を正しくアクセスするのに -1 して帳尻をあわせてる
0378デフォルトの名無しさん
垢版 |
2014/11/12(水) 07:45:05.87ID:/ZcTzOPa
typedef struct
{
int value;
} TEST;

TEST t = {1};
printf("%d\n",t);

環境:VC++2012 express

このコードで1が出力されるのは、C言語の仕様に合ってるんだっけ?
0381デフォルトの名無しさん
垢版 |
2014/11/12(水) 18:54:50.32ID:8RoZt+WE
ポインタ渡してるのかと誤読した。

まぁ未定義で、常識的にやるべきじゃない記述だな。
0385デフォルトの名無しさん
垢版 |
2014/11/13(木) 23:22:17.48ID:RTKAZJeS
型保証したくてね。
typedefだと間違って引数に渡した時にコンパイルエラーにならないから。

で、普通のプリミティブ型でやってたのを構造体に置き換える作業中に
なぜかprintfで正しく出力されたんで、面倒臭いアクセス関数使わなくてもいいのかも
と思って聞いてみた。

Cで擬似オブジェクト指向やってると面倒臭すぎる。演算子のオーバーロードが欲しい。
改めてC++の偉大さ(謎)が分かったかもww
0387デフォルトの名無しさん
垢版 |
2014/11/14(金) 02:23:00.78ID:ZKHgRmzB
printfは可変長引数の関数だから第2引数以降の型を確認しないのでエラーが出ないでしょ。
sprintf、fprintf、scanf、、、など。
その引数をどう扱うかは関数によって様々
0388デフォルトの名無しさん
垢版 |
2014/11/14(金) 07:03:46.18ID:TIi0CXWz
固定長引数での関数の話。
printfとかは、もちろん値を取り出して渡すつもりだったんで、あれ?と思っただけ。
0389デフォルトの名無しさん
垢版 |
2014/11/14(金) 09:55:14.56ID:LHxJpsmN
引数のスタックへの積まれる方向と構造体のメンバーの並ぶ順番は一致するのかと考え…ることも無く「やるな!」の一択。
0391デフォルトの名無しさん
垢版 |
2014/11/14(金) 11:51:06.29ID:ZKHgRmzB
#include <stdio.h>
typedef struct { int value; } TEST;
void pr(int data) { printf("%d\n", data); }
int main()
{
TEST t = {1};
pr(t); // ← コンパイルエラーになる
return 0;
}
をコンパイルすれば分かると思うけど型が指定されている関数だとエラーになる。
>>378は構造体TESTのデータ(つまりvalue==1のみ)がprintfに渡されたまたま表示されているだけ。

以下のコードが "111, 333" ではなく "111, 222" と表示される理由を考えると分かるかな?
#include <stdio.h>
typedef struct { int v1; int v2; } TEST;
int main()
{
TEST t = {111, 222}; int d = 333;
printf("%d, %d\n", t, d);
return 0;
}
0392デフォルトの名無しさん
垢版 |
2014/11/14(金) 12:01:18.41ID:ZKHgRmzB
そして、111, 222 と表示されるとしても
「たまたま」そう表示されているだけで
環境によっては変な表示になるかエラー
0395デフォルトの名無しさん
垢版 |
2015/02/07(土) 03:31:09.68ID:ldaWMMkn
初めまして、
8〜12個のxy座標で囲まれた地域(歪な多角形)があり、調査対象の座標がその中にあるか、を判定する関数を作りたいのですが
どうすれば良いかが見当もつかず困っています。
判る方がおりましたらご教授下さい。
OSはLinuxです。
宜しくお願いします。
0396デフォルトの名無しさん
垢版 |
2015/02/07(土) 03:47:05.12ID:Y8QeCJm/
>>395
思いつきだけど
1. 囲まれた地域(歪な多角形)を囲み多角形に接しない(余白を大きめに取った)四角形をまず求める
2. 調査対象の座標から色を塗りつぶす
3. 囲まれた地域の外である、1.で求めた四角形のところを塗ろうとするなら、調査対象の座標は多角形の外側である
4. 1.で求めた四角形のところを塗らずに処理完了したら、調査対象の座標は多角形の内側である
でいかがでしょう。
0397デフォルトの名無しさん
垢版 |
2015/02/07(土) 04:38:10.19ID:G4SX7WFX
調査点と 範囲を決める頂点列 P(Xi, Yi) とのなす角(符号付)の総和が
360度ならば内包点 そうでないならば外の点
0398デフォルトの名無しさん
垢版 |
2015/02/08(日) 00:12:37.99ID:jDoVco3x
ダブルポインタが理解できない。
int **pp;
int *p;
int n[] = {0, 1, 2};
pp = &amp;p;
p = n;
p++;
printf("**pp : %d", **pp);
これでなんで0じゃなくて1が出るの。だれかわかりやすく解説してくれ。
もしくは参考書教えて。たのむます。
0399デフォルトの名無しさん
垢版 |
2015/02/08(日) 01:36:05.41ID:HJEgExkV
始めにpは0のアドレスを指している。
p++でpは1のアドレスを指す。
*ppはpのアドレス、**ppはpの指す値。
0400Office & Gamers ◆G144Hzgh2.0e
垢版 |
2015/02/08(日) 01:56:25.70ID:EWNvntIT
BASICならPOKE/PEEK()/VARPTR()で分かる筈だけど、Cは変数とメモリを混ぜてるから分かりにくいよなw
BASICでプログラムを書いてると分かるけど、メモリを直接いじるプログラムは通常書かないから、Cの異常性が分かりやすいw
0403Office & Gamers ◆G144Hzgh2.0e
垢版 |
2015/02/08(日) 02:08:51.18ID:EWNvntIT
だいたいBASICよりアトに出てるのに、どうして構文解析がBASIC未満なんだろうな?w
0404デフォルトの名無しさん
垢版 |
2015/02/08(日) 05:36:09.99ID:1pvsOI5Y
ダブルポインタなんて言葉無いのに
ポインタ知らない奴に限ってなぜかよく使う・・・・なぜだろう
0406デフォルトの名無しさん
垢版 |
2015/02/08(日) 06:33:01.72ID:JKy44BG4
ポインタ自体わかってない。pp→p→n => pp→p→n+1
リンクやショートカットだってば。
0408デフォルトの名無しさん
垢版 |
2015/02/08(日) 09:17:17.46ID:HJEgExkV
なんかで使ったけど忘れたw
たぶん二次元配列を動的に確保したとかだと思う。
0410デフォルトの名無しさん
垢版 |
2015/02/08(日) 11:24:11.39ID:b/2xM+wa
ポインタって良く考えると難しい概念だよな
アドレスに関連付けられた値をさらにアドレスに使えてしまうっていうのが
なんかメタ的っていうか、ラッセルのパラドックスみたいなのが導けそうっていうか
0411デフォルトの名無しさん
垢版 |
2015/02/08(日) 11:34:02.67ID:HJEgExkV
言葉だけで理解しようとすると少し難しいと思うんだよね。空間的というか。
0414デフォルトの名無しさん
垢版 |
2015/02/08(日) 19:49:14.84ID:aMsy6Zj7
既にポインタのポインタになっている変数のアドレスを
さらに関数へ渡してとなるとポインタマネギ化するのか。
0416デフォルトの名無しさん
垢版 |
2015/02/08(日) 23:39:37.22ID:b/2xM+wa
>>395
点から適当な直線を引く
多角形を構成する線分との交点を全て列挙する
多角形との最も近い交点に注目して
その交わり方が、多角形を出る方向だったら内部、入る方向だったら外部
0419デフォルトの名無しさん
垢版 |
2015/02/09(月) 11:29:20.95ID:ra7crE5d
End Of File
ファイルの終わりです。異常ではない。
\0のないファイルもあるから、\0と関係ないきがする。
実際は、\0がきてたりする。よくしらべないと…
0422デフォルトの名無しさん
垢版 |
2015/02/10(火) 22:26:06.33ID:4T1+8uzu
スクラッチと言うソフトで作ったゲームをc言語に変換できますか?
0425デフォルトの名無しさん
垢版 |
2015/02/18(水) 11:28:39.01ID:Qnb1PJ0H
>424

ttp://hitorilife.com/atoi.php

>int atoi( const char *str );

>文字列で表現された数値をint型の数値に変換する。

>■戻り値:
>int型に変換した数値。変換不能文字は0を返す。
0429デフォルトの名無しさん
垢版 |
2015/02/28(土) 17:34:04.33ID:ww/ZmHX+
解ってて聞いているただの釣りとか言論封殺すんな
お前の書き込みより釣りの方がまし
0432デフォルトの名無しさん
垢版 |
2015/03/05(木) 13:59:25.35ID:QH4sjdfE
for(i = 0; i < 100; i++)

if(i % 2)

printf("%d ",i);

超初心者ですけど、この逆ってどうすればいい?
2 4 6 8・・・ ってやりたいんですけど
0433デフォルトの名無しさん
垢版 |
2015/03/05(木) 14:08:13.95ID:0g2YeNLY
その1
 if(i % 2) → if(!(i % 2))

その2
 if(i % 2)
  ;
 else
  printf("%d", i);
0435デフォルトの名無しさん
垢版 |
2015/03/20(金) 10:27:58.80ID:C4XIy6Zr
void mystrcpy(char *to, char *from);
int main(void)
{
char str[80];
mystrcpy(str, "これはテストです");
printf(str);
return 0;
}
void mystrcpy(char *to, char *from)
{
while (*from)
*to++ = *from++;
*to = '\0'; /* ヌルで文字列が終わる */
}

「 ヌルで文字列が終わる」 ヌル文字って、なんで必要なんですか?
0436デフォルトの名無しさん
垢版 |
2015/03/20(金) 12:09:15.02ID:lqHpR73F
終わりを示すマークがくるまではずっと続きますよ
という約束なのが文字列の約束

何故必要か? 文字列であるためには、そういう約束だから
0439デフォルトの名無しさん
垢版 |
2015/04/07(火) 14:41:52.97ID:s4QIRInr
int main()
{
max(100);
max(70);
max(50);
return 0;
}
void max(int d)
{
static int max = 0;
if(d > max)
max = d;
printf("max = %d\n", max);
}
全部0になるはずなのに、ならないのはなんで?
0444デフォルトの名無しさん
垢版 |
2015/04/07(火) 19:47:29.06ID:NM1cRlIv
static int max = 0; 
この行はプログラム実行時の最初の一回だけ実行される。
max()を呼んだ時は既に初期化済みで、その行は通らない。
0447片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2015/04/07(火) 20:03:03.06ID:2bTHzj+B
static変数の定義を含む関数が利用(参照)されない場合、そのstatic変数は確保されない。
0450片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2015/04/07(火) 23:06:35.68ID:2bTHzj+B
これでファイルサイズを試せ

int f(int i) {
static int a[10000000];
a[i]++;
return a[i];
}
0451片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2015/04/07(火) 23:11:56.93ID:2bTHzj+B
こうしないとダメか

int f(int i) {
static int a[10000000] = {1};
a[i]++;
return a[i];
}
0452デフォルトの名無しさん
垢版 |
2015/04/07(火) 23:28:33.42ID:NM1cRlIv
static int a[10000000]; と
static int a[10000000] = {1}; では、確保されるサイズは同じだと思うが..
0453はちみつ餃子 ◆8X2XSCHEME
垢版 |
2015/04/08(水) 13:38:35.94ID:0NyqAI50
違うよ。
前者は内容が不定値で、初期化に使う値が実行ファイル内に保存されない。 メモリ上に同じ大きさが確保されてもファイルサイズには反映されない。
ちなみに0初期化される領域も初期化値を実行ファイルに保存するのではなく、0クリア専用のランタイムルーチンを使うらしい。

てなわけで、処理系の実装上の工夫が色々とあるのでそもそもファイルサイズを見て変数が確保されるかどうかを判断しようとするのが間違い。
0454デフォルトの名無しさん
垢版 |
2015/04/08(水) 13:48:58.91ID:BJMRBHYu
ファイルサイズが違うって事か。
実行時に確保されるメモリサイズは同じだよね。
0456デフォルトの名無しさん
垢版 |
2015/04/08(水) 18:59:10.06ID:TrrKWYIM
>>453
>0クリア専用のランタイムルーチンを使うらしい。
ランタイムというか、OS 内のローダー担当であることが大半でないだろうか‥
0458デフォルトの名無しさん
垢版 |
2015/04/10(金) 16:04:47.86ID:mQuRC+MO
char *str;
で宣言したあとに
scanf("%s",str);
とすると「strを初期化せずに使うな」みたいなエラーが出ます
char str[10];
みたいに配列で宣言するとエラーは出ません

ポインタで宣言した時のと配列で宣言した時のstrは同じ物ではないんですか?
あと値が使われるわけでもなく、入力されるだけなのに初期化しなければいけない必要性がわかりません
誰か教えてください
0459デフォルトの名無しさん
垢版 |
2015/04/10(金) 16:10:54.97ID:28dWQn3h
new mallocつかえ
0460デフォルトの名無しさん
垢版 |
2015/04/10(金) 16:19:01.09ID:28dWQn3h
C言語の初歩の初歩。
char str[10];とchar *str;は別物。
char *strはアドレスを入れるための変数。アドレスを記録するための容量は確保されてるが10バイト分などは確保してない。

これだったらいけるはず。
char str[10];
char *str2;
str2=str;
scanf("%s",str2);
0461デフォルトの名無しさん
垢版 |
2015/04/10(金) 22:39:13.59ID:9kdbIScz
>>458
ポインタ変数である、char* str の strは、
アドレスという数値を1つ格納するだけの唯の変数。

それに * を付けると(*str)、そのアドレスが指し示す先のメモリ
にリンクする「ショートカット」になるだけ、と考えると分かり易いかな。

Windowsでショートカットファイルをダブルクリックしたらその先のファイルが開くようなもので
そうすると当然、指し示す先のファイルパスが設定されていないショートカットは「使えない」
というのが分かるよね?
0462デフォルトの名無しさん
垢版 |
2015/04/10(金) 22:50:25.12ID:9sVpyOtZ
>>458
>strを初期化せずに使うな
それは多分おせっかいな警告機能で、どんなコンパイラでもそうなるとは期待してはいけない

>ポインタで宣言した時のと配列で宣言した時のstr
は別ものだ、そう思い込んだほうがいい

なお蛇足だが C で配列の名前を単独で使うときは意味が変わる(この部分だけ直交性を失っている)
0464デフォルトの名無しさん
垢版 |
2015/04/24(金) 11:21:00.79ID:NRswMTwP
scanf の戻り値は、フォーマットに従い変数に代入した個数

1変数ならまあ好きに書けば良いけど
2変数以上の時に間違わないよう習慣付けているのかもしれない
0466デフォルトの名無しさん
垢版 |
2015/04/24(金) 12:24:53.38ID:NRswMTwP
入力文字がアルファベットしかなくて vに整数をつっこんでねーよ って時は
1 にならない
0468デフォルトの名無しさん
垢版 |
2015/09/14(月) 15:55:47.87ID:xWDGmwXQ
C言語初心者です。
windows7
MinGWのgccバージョン4.8.1です。

/*スタート*/
#include <stdio.h>
int main(void){
float pai,r,s;
printf("半径を入力してください=");
scanf("%f&r");

pai=3.14159;
s=pai*r*r;

printf("面積は%fです\n",s);
return 0;
}
/*終わり*/

円の面積を求めるプログラム作りました。コンパイルするのはうまくいくんですが、実行して半径を入力すると○○○.exeは動作を停止しました。とエラーダイアログが表示され結果が出力されません。
何が原因でしょうか?
0470デフォルトの名無しさん
垢版 |
2015/09/14(月) 16:23:27.10ID:hfKV6tF/
よくわからんけど、gcc 拡張の警告でチェックしてくれんの?
フォーマット文字列 と 渡した引数数の不一致
0471デフォルトの名無しさん
垢版 |
2015/09/14(月) 16:56:53.27ID:EUIVB/8j
>>468
のプログラムをgcc 4.8.1でコンパイルしたら
エラーメッセージは出なくて、実行したら
当然ながら、面積の値が0.000000と誤まった
値が出てきた。
エラーメッセージが出ないのが不思議。
オプションを付ければ、エラーメッセージがでるのだろうか
0472デフォルトの名無しさん
垢版 |
2015/09/14(月) 18:33:12.41ID:92FX1eX2
int scanf(const char *format, ...)

int printf(const char * restrict format, ...);

そういうことで。
0474デフォルトの名無しさん
垢版 |
2015/09/27(日) 07:27:17.58ID:9nB30GXC
>>471
stdio.hを追っかけていけば、
int scanf(const char *format, ...);
int printf(const char *format, ...);
のようにprintfと同じ形であることがわかる。
printf("hoge");
がエラーでないように
scanf("hoge");
もエラーとはならない。
ただgccは賢くて -Wall をつけると、
formatの中身を解析して警告を出してくれる。(printfも同様)
0475デフォルトの名無しさん
垢版 |
2015/10/22(木) 06:08:18.70ID:T7RJ3QRI
googleでgccのコンパイルオプションについて検索すると
検索結果がゼロになることが何度かあった

ちなみに
gcc -オプション名
みたいな感じ検索してた

どうもman gccの最初の数ページしかgoogleに登録されてないっぽい挙動なんだが
0476はちみつ餃子 ◆8X2XSCHEME
垢版 |
2015/10/23(金) 02:42:54.65ID:+vqb9bZy
google で検索キーワードの前にマイナス記号がついてると、
そのキーワードを含む検索結果を除外する (いわゆるマイナス検索) ようになってるので、
オプションについて検索するときは気をつけような。
0477デフォルトの名無しさん
垢版 |
2015/10/25(日) 01:00:53.79ID:KG2IWWVY
数か月前にgoogleで
gcc version-script
gcc bsymbolic-functions
gcc fvisibility
で-抜いて検索しても検索結果ゼロだったのに
今見たら検索結果でるようになってる
0479デフォルトの名無しさん
垢版 |
2015/11/26(木) 03:09:04.34ID:/vQLcmuc
そろそろC言語初心学習者に、もっとも最適な書籍を決めてください

柴田本? 苦C? 林本? やさC?
0482デフォルトの名無しさん
垢版 |
2015/11/27(金) 01:11:07.20ID:Bpp9Chxs
>>479
C言語は、アセンブリ言語を操れる人にとって簡単に使えるように出来ている。
なのでアセンブリ言語関係の本を先に読むべき。

# ジョークだよ?
0485:デフォルトの名無しさん
垢版 |
2015/11/27(金) 14:59:10.21ID:NDUaqi7o
学校の課題でc言語でゲームを作るんですが作りやすいものとかないですか?
0487デフォルトの名無しさん
垢版 |
2015/11/27(金) 16:47:57.00ID:bNIHHiC+
>>485
純粋にCだけでってなると数当て(乱数適当に作っておいて、値を受け取って小さいか大きいかを表示する)なんかも
作り易いと思う。
あとはフルハウスやババ抜きなんかのターン制のカードゲームとか
もっと面倒なのだと数独やオセロなんかの平面に文字を並べればなんとなくそれっぽく見える感じのゲームは作れうるかな
0488デフォルトの名無しさん
垢版 |
2015/11/27(金) 22:06:34.99ID:gCXolRmC
>>486
>>487
ありがとうございます
0489デフォルトの名無しさん
垢版 |
2015/11/28(土) 06:52:13.32ID:3W8Apw0w
なぜ学校でプログラミングをやるのか?
なぜCを使うのか?
目的と手段を履き違えてないか?
0490デフォルトの名無しさん
垢版 |
2015/11/28(土) 09:16:20.61ID:dfErn7u5
      ィ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;゙t,
     彡;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ヽ
     イ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;r''ソ~ヾ:;;;;;;゙i,
     t;;;;;;;リ~`゙ヾ、;;;;;;;;;;;;;;;;;;;;ノ    i,;;;;;;!
     ゙i,;;;;t    ヾ-‐''"~´_,,.ィ"゙  ヾ;;f^!   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
     ト.;;;;;》  =ニー-彡ニ''"~´,,...,,.  レ')l. < >489 おまえは何を言っているんだ
     t゙ヾ;l   __,, .. ,,_   ,.テ:ro=r''"゙ !.f'l.   \____________
      ヽ.ヽ ー=rtσフ= ;  ('"^'=''′  リノ
    ,,.. -‐ゝ.>、 `゙゙゙゙´ ,'  ヽ   . : :! /
 ~´ : : : : : `ヽ:.    ,rf :. . :.: j 、 . : : ト、.、
 : : : : : : : : : : ヽ、  /. .゙ー:、_,.r'゙: :ヽ. : :/ ヽ\、
  :f: r: : : : : : : : !丶  r-、=一=''チ^  ,/   !:: : :`丶、_
  : /: : : : : : : : :! ヽ、  ゙ ''' ''¨´  /   ,i: : : l!: : : : :`ヽ、
 〃: :j: : : : : : : ゙i   `ヽ、..,,__,, :ィ"::   ,ノ:: : : : : : : : : : : :\
 ノ: : : : : : : : : : :丶   : : ::::::::: : : :   /: : : : : : : : : : : : : : : :\
0494デフォルトの名無しさん
垢版 |
2015/12/23(水) 15:06:50.61ID:1ZCzEE1G
メジャーなコンパイラにはなんで実行ファイルの難読化オプションがないんだろうか。
デマングリング不可の関数ラベル名を生成するだけでも相当な難読化になると思うのだが。
0497デフォルトの名無しさん
垢版 |
2016/01/17(日) 00:06:26.42ID:0aBE1GLW
本格的な文字列処理を行う場合、内部コードはUTF-16に統一するのが常識なのだろうか。
あと最近はユニコード扱う場合はchar16_t使うのが主流になってたりする?
0499デフォルトの名無しさん
垢版 |
2016/01/17(日) 09:16:37.12ID:Tm1vTqdo
なにかのライブラリ使うならそのライブラリが対応しているエンコーディング使えばいいが、
自前で文字単位の処理やるならマルチバイトよりワイド文字のが楽でしょ。
内部的には結局コードポイントの単位で扱うだろうし。
「本格的な」の内容がUNICODEに定義されたすべての文字を扱えるということを含むなら
UTF-32、基本多言語面だけで十分ならUTF-16でいいだろう。
0500デフォルトの名無しさん
垢版 |
2016/03/06(日) 11:31:35.36ID:g15wMUfE
文字単位が大方2バイトと決まってるUTF16使うのが一番楽。

unsigned short ch = u"あa";
ch[0]; // 'あ'
ch[1]; // 'a'

UTF-8ではこうは行かない。
0502はちみつ餃子 ◆8X2XSCHEME
垢版 |
2016/03/07(月) 02:47:20.91ID:ERCs3bA6
>>500
その「大方」がつらいんよ。
自分しか使わないプログラムとかなら手抜きしてそういうのでもいいと思うけど。
0505デフォルトの名無しさん
垢版 |
2016/03/14(月) 09:45:39.70ID:qOCQ0PgP
>504
そのまま。特別に変換するわけでもない文字列。

コマンドラインアプリで引数にヘルプオプション指定されてるか調べてると思われる。


>aaa.exe /?
>aaa.exe -?
0506デフォルトの名無しさん
垢版 |
2016/03/29(火) 09:35:20.91ID:/c8bAcK4
サッカーブッシュ日本代表日程ぷあたん(しゅっちょうまいくろ教育長交代)春文執行40代売上差額シュガーチョコ
https://www.youtube.com/watch?v=NDq1QoJY0nY宇ドナルドアナリストパワーストーンコーチングとしまえん
サッカーブッシュ日本代表日程古本屋よしたけしゅっちょうちょこしゅがー
ディーラー税務署天才開発者死亡詰みヨミドクターマイクロサービス不足
サッカーブッシュ日本代表日程ぷあたんシフト光金さかい強制バイト人権侵害問題
春分資源執行ニューヨーク低原価ぼったステーキソルトレイク福岡横浜新橋奴隷課金パチシフト強制バイト問題新潟米センター生残
コスメ24チャリティー隠れ40代生活保護プレイボーイバイトレードいたりあん接待問題
マスコミKARDローンケーオーサービス不足婚活パーティー寄付金執行原発ビジネス
FBIチャイニーズタイホテル売上事務所ガチャ決算ガチャキャンペーン(販売報道陣過激派組織向携帯最新情報提供終了
校長発言細心注意ノートン産廃エラー(著作権クレーム中国反応融資高額教育費)(中国捕鯨団体40代社員サッカーコメント
高額入学金ヤフウ新橋大学ヤフウ新橋理事長FX経費 おじや50代資産ガリバズフィード40代エリート
0507デフォルトの名無しさん
垢版 |
2016/09/01(木) 10:06:22.99ID:xECgA5Px
C++ならクラス作ってクラスの操作関数を多数登録できますが、Cの構造体で同じことをやろうとしたらどう書くのでしょうか?
0509507
垢版 |
2016/09/01(木) 14:04:29.32ID:xECgA5Px
>>508
なるほど、そういうやり方なんですね!ありがとうございます。
0511デフォルトの名無しさん
垢版 |
2016/09/01(木) 20:46:50.70ID:8Xtys+zE
>>508
構造体に関数ポインタ持たすの意味なくね?
0512デフォルトの名無しさん
垢版 |
2016/09/02(金) 14:03:28.83ID:Z98P2xof
int main(){

char a[20];

char b[20];



scanf("%[^abc]", a);

printf("a[] = %s\n", a);

scanf("%s", b);

printf("b[] = %s\n", b);



return 0;

}
2回入力できないのは、なんで?
0513デフォルトの名無しさん
垢版 |
2016/09/02(金) 16:55:30.86ID:Z0wyfFLe
ネットから拾ってきたソースを参考にしています。
2つのファイルをマージして、コードからメッセージを参照するハッシュリストを
なのですが、どうも無限ループに陥ってしまっているようなのです。

hashlist_lookupのwhile脱出条件であるNULLをhashlist_add内で
セットしなければいけないのはわかるのですが、どのようにすればいいのでしょうか?
0514513
垢版 |
2016/09/02(金) 16:55:55.38ID:Z0wyfFLe
メインはこのようになっております(関連部分だけの抜粋です)
static struct hashlist message_list;

ハッシュリストの作成部分
 hashlist_create( &message_list, 2048, 682 );

マージしてハッシュへ登録部分
  if( src1id == src2id ) {
   src1ptr += 7 + src1len;
   src2ptr += 7 + src2len;
   hashlist_add( &message_list, src2id, destptr );
  } else
  if( src1id > src2id ) {
   src2ptr += 7 + src2len;
   hashlist_add( &message_list, src2id, destptr );
  } else {
   src1ptr += 7 + src1len;
   hashlist_add( &message_list, src1id, destptr );
  }

ハッシュリストを参照する部分(hashlist_lookup内で無限ループ)
 struct hashnode* node = hashlist_lookup( &message_list, message_id );
 return node ? (char*)node->info : "(null)";
0515デフォルトの名無しさん
垢版 |
2016/09/02(金) 16:56:34.44ID:Z0wyfFLe
以下、ハッシュ関連
struct hashnode {
 struct hashnode* next;
 u32 keycode;
 void* info;
};

struct hashlist {
 struct hashnode* current;
 struct hashnode** table;
 int current_table;
 struct memblock memblock;
 int tablesize;
 int n_items;
};
0516513
垢版 |
2016/09/02(金) 16:57:38.59ID:Z0wyfFLe
void hashlist_create( struct hashlist* _list, int _tablesize, int _bufsize )
{
 memblock_create( &_list->memblock, sizeof(struct hashnode), _bufsize );
 _list->table = (struct hashnode**)xmalloc( sizeof(struct hashnode*) * _tablesize );
 _list->current = _list->table[0];
 _list->tablesize = _tablesize;
 _list->current_table = _list->n_items = 0;
 memset( _list->table, 0, sizeof(struct hashnode*) * _tablesize );
}
struct hashnode* hashlist_add( struct hashlist* _list, u32 _keycode, void* _info )
{
 struct hashnode* node = (struct hashnode*)memblock_alloc( &_list->memblock );
 node->keycode = _keycode;
 node->info = _info;
 node->next = _list->table[_keycode % _list->tablesize];
 _list->table[_keycode % _list->tablesize] = node;
 _list->n_items++;
 return node;
}
struct hashnode* hashlist_lookup( struct hashlist* _list, u32 _keycode )
{
 struct hashnode* node = _list->table[_keycode % _list->tablesize];

 while( node ) {  //ここで無限ループ
  if( node->keycode == _keycode )
   return node;
  node = node->next;
 }
 return NULL;
}
0517デフォルトの名無しさん
垢版 |
2016/09/02(金) 21:52:40.48ID:96M6CE+e
>>512
scanf() の [...] 変換指定子なんて初めて見たよ。
調べたところ、以下のような動作をするみたいね。

scanf("%[^abc]", a);
配列aには a, b, c 以外の文字が入る
(入力文字列の先頭から a か b か c の直前までをaに格納)

上の入力で配列aに格納されなかった分はバッファに残る

scanf("%s", b);
すでにバッファに入っている内容を配列bに格納して関数終了
(配列aへのscanf()を終了させたa, b, cから始まる文字列が待機してるはず)


というわけで入力操作は、
a, b, c を含まない間は scanf("%[^abc]", a); が完了しない
scanf("%[^abc]", a); が完了したら、その途端に scanf("%s", b); も完了
0518デフォルトの名無しさん
垢版 |
2016/09/02(金) 23:01:39.58ID:XSBirivx
scanfのスキャン集合はよく使われる機能だよ

>>512
2回入力、というのは改行キー(エンターキー)を押して2回入力した、という意味で
使ってるんだろうけど、スキャン集合を使うと改行も入力文字として扱うようになるから、
つまり改行キーがエンターするキーではなくなってるのが、理由。

ttyのcookモードの観点では依然改行でエンターだけど、まあそれは別の話


>>514
引用の範囲は問題ない
http://codepad.org/yoBUyHMg
0519513
垢版 |
2016/09/03(土) 00:17:02.45ID:tOiz1lLB
>>518
返信有難うございます
他の部分の調査を行ってみます
お手数をお掛けしてすみませんでした
0521デフォルトの名無しさん
垢版 |
2016/09/07(水) 01:06:00.69ID:7cFIJKpv
>>520
いやいや>>508の前提では意味ないと思う。
逆に聞きたいんだが、どういうふうに使うのか、もしくはどんな利点があるのか、教えてくれたら嬉しい。
0522デフォルトの名無しさん
垢版 |
2016/09/07(水) 03:52:15.46ID:rkt8kSNa
>>521
用途は質問趣旨でメソッド風に使う。
利点は質問者なりにあるんじゃないの。
何故無意味と思うのか具体的に書かないと誰も答えられないと思う。
0523デフォルトの名無しさん
垢版 |
2016/09/07(水) 04:19:21.31ID:OeU2hxT4
>>522
そのイメージがわからないから、コードでいいので具体例を示してくれない?
すごい単純なので良いので。
本当にイメージ出来ないんだ。
0525デフォルトの名無しさん
垢版 |
2016/09/07(水) 06:06:44.59ID:WnjFqmId
ひょっとして
「インスタンスには関数ポインタじゃなくてクラス定義へのポインタを持たせろよ」
的なこと?
0526デフォルトの名無しさん
垢版 |
2016/09/07(水) 07:38:40.63ID:zmxBwCSk
ふつう、インスタンスが違っても関数の定義は一つなので、インスタンスのポインタだけでいいよね。
0527デフォルトの名無しさん
垢版 |
2016/09/07(水) 07:38:43.48ID:9ei6Qh2k
構造体に関数ポインタを持たせれば、
インスタンスごとに関数の実体を変更できる。
C++でのオーバーライドに相当する使い方。

というのはどうかな。コード示せなくて悪いけど。
0529デフォルトの名無しさん
垢版 |
2016/09/07(水) 12:58:06.08ID:sjjNPEW0
ip->func(ip, ほかの引数...)
仮想関数を実現するときぐらいで静的に確定してるなら

func(ip, ほかの引数...)
で十分だよね
0532デフォルトの名無しさん
垢版 |
2016/09/07(水) 17:47:11.67ID:WnjFqmId
ip->func( ip)
に対応するのは
func_of_some_class( ip)
だよ。ネームスペースが違うんだよ。
自分がそうしないから無意味というような考え方はあまり楽しくないと思うよ。
0534デフォルトの名無しさん
垢版 |
2016/09/08(木) 13:59:52.33ID:DkcrHcSi
>>507
まだ見てる?
func_of_some_class( obj)
よりは
obj->func( obj)
の方が嬉しいだろうけど、関数が多いと *obj が大きくなる。もう気づいてるよね?
それが問題になるようなら関数ポインタのための構造体を1個だけ用意して
some_class . func( obj)
という方法もある。でも、あまり嬉しい書き方ではないだろうね。
そこで、この構造体を指すポインタを *obj に入れて
obj->f->func( obj)
みたいな感じでどうだろう。これなら *obj の大きさはポインタ1個分増えるだけだし
obj->func( obj)
と同様にコードの再利用性も高い。まあ、C で簡単にやりたいなら多少は妥協も必要だけど。
0537デフォルトの名無しさん
垢版 |
2016/09/09(金) 15:30:42.88ID:psvqqBYg
すまない、ちょっとお尋ねします

debian lenny なんつー古い環境で開発せざるを得ない中、C++で「unsigned long long」型を使おうとしてるんだけど
16ビットずつシフトさせていくと、32ビットを超えた部分が消えてしまう

a = 0x00000000ffffffff;
a << 16;
→ 0x00000000ffff0000

こんな感じ、本来なら0x0000ffffffff0000になるはずだが…
環境変えろは分かるんだが、以前のgccでそんなバグの事例があったかどうかが知りたいです
0540デフォルトの名無しさん
垢版 |
2016/09/09(金) 16:22:48.10ID:RCn4M+As
>>537
配布済みパッケージならgcc 3.4, 4.1, 4.2, 4.3があるけど
少なくても 4.3.2 にはそんなアホみたいなバグは無い
http://ideone.com/qN9OJV

とはいえdebian lennyだろうと好きなバージョンのgcc突っ込んで使えばいいと思う
0541デフォルトの名無しさん
垢版 |
2016/09/09(金) 16:42:47.15ID:wq6Y1YQc
>>539
原因が分かりました…
画面にprintf出だしてたんだが、0x%016x にしてたんが問題やった
0x%016llx でちゃんと表示された!コードら正しかった!

お騒がせしました
0543デフォルトの名無しさん
垢版 |
2016/09/09(金) 16:44:34.37ID:wq6Y1YQc
gdbも使えない環境なのはきついね…
gccだって指定されてるから変えらんないのですわ
0544デフォルトの名無しさん
垢版 |
2016/09/09(金) 17:28:48.58ID:EcclX7iE
>>541
いかにも「うっかり間違えそうな人」が書いた投稿だね。
よほど慌ててるのか。

cppcheck を試したらどうだろう。
printf() の書式文字列と引数の型の一致もチェックしてくれるよ。
0545デフォルトの名無しさん
垢版 |
2016/09/09(金) 22:50:01.23ID:YD15XtYf
>>544
俺です
たしかにちとパニクってしまった一連の流れではある

まぁこのあとにディストリビューション更改が決まってはいるので、できうる限り俺が主導権握って
いろいろ決めてしまおうかと思ってる
0547デフォルトの名無しさん
垢版 |
2017/02/13(月) 13:19:57.17ID:zKvRiyms
int tensu[3]

for(i = 0;i < 3;i++)
scanf("%s %d %d",tensu[i],tensu[i],tensu[i]);
printf("%s %d %d", tensu[i],tensu[i],tensu[i]);

超初心者です
配列がわかりません
文字列を混ぜる場合、どうすればいい?
田中 59 46
0548デフォルトの名無しさん
垢版 |
2017/02/13(月) 18:24:09.42ID:qWBqE6jZ
char namae[3][128];
int tensuu1[3], tensuu2[3];
for(i = 0;i < 3;i++)
scanf("%s %d %d",namae[i],tensuu1[i],tensuu2[i]);
printf("%s %d %d\n", namae[i],tensuu1[i],tensuu2[i]);
0549デフォルトの名無しさん
垢版 |
2017/02/13(月) 18:24:30.93ID:qWBqE6jZ
char namae[3][128];
int tensuu1[3], tensuu2[3];
for(i = 0;i < 3;i++)
scanf("%s %d %d",namae[i],&tensuu1[i],&tensuu2[i]);
printf("%s %d %d\n", namae[i],tensuu1[i],tensuu2[i]);
0551デフォルトの名無しさん
垢版 |
2017/02/21(火) 13:48:04.12ID:xcI3fiLi
int lang[3][2]
hound dog
to zu
no nein

2次元配列だけど、scanf使ってこんな感じで
入力したいけど、どうすればいい?
0555デフォルトの名無しさん
垢版 |
2017/02/28(火) 06:13:03.57ID:v3f7r1+L
C言語でゲラフィック液晶動かしてみたいんだが、簡単に動かせるツールみたいなのある?
0556デフォルトの名無しさん
垢版 |
2017/02/28(火) 11:35:55.45ID:VXdjceYe
                   ___
             ♪ ∩/ || ̄ ̄||♪ ∩∧__,∧
               _ ヽ|.....||__|| 7 ヽ( ^ω^ )7 ゲラフィック♪
               /`ヽJ   ,‐┘/`ヽJ   ,‐┘   ゲラフィック♪
| ̄ ̄\三  / ̄ ̄ ̄/  ´`ヽ、_  ノ   ´`ヽ、_  ノ
|    | ( ./     /      `) ) ♪    `) ) ♪
0559デフォルトの名無しさん
垢版 |
2018/01/20(土) 13:37:03.52ID:5zEZap2N
tes2
0560デフォルトの名無しさん
垢版 |
2018/02/16(金) 06:30:38.61ID:W1XJdyx1
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
0561デフォルトの名無しさん
垢版 |
2018/02/21(水) 11:43:01.59ID:8XpPyJEp
デバッグで初期化してない変数の値見ると
でたらめな値が入ってることあるけど
zaifの2246兆バグもそんな感じなの?
0562デフォルトの名無しさん
垢版 |
2018/02/21(水) 13:22:13.33ID:zwuXHePG
あっちでそんな質問にための質問してるのがいたが
教師無し学習中のAIっぽ
0563デフォルトの名無しさん
垢版 |
2018/02/21(水) 21:24:06.47ID:d98p0ZVh
>>561 その可能性はない、とは言えないね。
未初期化領域からの読み出しは「未定義の動作」らしいから、
口座に多額の振込がされてもANSI規格には反しない。
0565デフォルトの名無しさん
垢版 |
2018/02/22(木) 06:21:35.48ID:WzMowRZZ
1年近く放置されて沈んでたのが、たまたま上がってたんで、
質問する人と答える人が現れたという程度じゃろ。

最近「俺に聞け」の145も立って機能してるし。
0566デフォルトの名無しさん
垢版 |
2018/04/13(金) 20:24:37.84ID:qQRD8JpH
あのお、どのレベルまでいけたら初心者脱出=プロとして食っていける、
なんでしょうか
0567片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2018/04/13(金) 20:38:22.39ID:meZ//aXI
大いに世の中に役に立つソフトウェア、もしくは高い値段が付いてよく売れるソフトウェアが作れればプロだ。
C言語のみに限定する話ではないし、色々な選択肢はある。高い技術力は必ずしも必要ではない。
ゼロからの製造よりも組み立ての方が良質になる。個人の技術力では、我がソフトのカラスンポくらいのものが作れれば十分だ。
0568片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2018/04/13(金) 20:55:06.99ID:meZ//aXI
開発段階では、訳のわからないことになるかもしれないが、現在のコンピューターのシステムは、
管理者権限がなければ、そんなに簡単には壊れないので、大いに試行錯誤するとよい。
情報科学や計算機科学の理論・知識があれば、試行錯誤の手間と時間は削減できる。
0569片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2018/04/13(金) 21:01:52.63ID:meZ//aXI
だからこそ、皆さんには大学へ進学し、資格を取得することをオススメしている。
0570デフォルトの名無しさん
垢版 |
2018/04/13(金) 21:47:33.22ID:EOEX1zZI
資格なんかに頼らなくてもいくらでも勉強できる
資格はレベルの低い大学を出た人がレベルの低い会社に入る時に有効になる場面があるかも
といった程度
0572デフォルトの名無しさん
垢版 |
2018/04/14(土) 01:17:04.70ID:dSQ5MB/j
YouTube にある、セレブエンジニアの小松和貴の動画を見れば?

プログラミング未経験者が、月50万円を稼ぐ方法!
0573デフォルトの名無しさん
垢版 |
2018/04/14(土) 03:11:51.59ID:lnTeyTPJ
>>566
他人が書いたソースの「あらゆる」バグを見つけて
原因も治し方もすべて解説出来ればOK
0574デフォルトの名無しさん
垢版 |
2018/05/23(水) 19:49:33.30ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

3F9AF
0576 ◆QZaw55cn4c
垢版 |
2018/05/24(木) 21:19:33.76ID:dCOL2CYR
>>573
あらゆる、というのは到達困難かもしれないね…
0577デフォルトの名無しさん
垢版 |
2018/05/24(木) 23:56:56.18ID:QXwzXdVY
>>573
実際は、バグの原因がわからなくとも、対処できればプロ。
対処しかできないプロが多いのかもしれないが。

//理由はわからないが下記を消すと動かない。
sleep(500);
0578デフォルトの名無しさん
垢版 |
2018/06/01(金) 21:03:32.27ID:HA/mvmGk
sleep()ってわけじゃないが、同じプログラムを速いマシンで動かすと
不具合が出るってことあったなあ。

それはシグナルハンドラの作りが悪くてそうなってたんだけどね。
遅いマシンだとその遅さ故にまともに動く率が高かったという。
0580デフォルトの名無しさん
垢版 |
2018/06/02(土) 06:39:58.27ID:JHVUuE4u
CPUが変わった時、
パケットとパケットの隙間が狭くなりすぎてたまにエラーになることがあったな
0581デフォルトの名無しさん
垢版 |
2018/06/02(土) 12:37:36.89ID:yUEJ+BJS
VSyncですねわかります
0582デフォルトの名無しさん
垢版 |
2018/06/02(土) 22:41:26.57ID:Ai5rNg70
お願いします。
C言語でテトリスを作るのに4次元配列はかならず必要でしょうか?
0583デフォルトの名無しさん
垢版 |
2018/06/03(日) 19:19:32.22ID:NoyWwMe7
>>582
実際にテトリスを作ったことはないけど、各次元をどう配分するの?
盤面のタテヨコで2次元、ブロック消滅前後の状態保存用に1次元、
対戦のプレーヤ2人分に1次元、これで合計4次元って感じ?
0585デフォルトの名無しさん
垢版 |
2018/06/04(月) 16:54:59.56ID:FPhmW2/S
>>583
そんな感じです。でもよく考えたらブロックの回転状態用にもう1次必要で、
5次元ですね。
3次元より上は空間的にどうイメージしたらいいのでしょうか?
この世は11次元だという話もありますが(物理学)・・・
ついていけてないです
0588デフォルトの名無しさん
垢版 |
2018/06/04(月) 18:39:59.67ID:WxLLKucO
>>585
空間をイメージするのは2次元で十分
4次元幾何や5次元幾何をイメージ出来る必要は全く無い

この世が11次元?誰がそんな事を?
超ヒモ理論のヒモの震動の自由度が11次元
て言うのをそういう解釈しちゃう人がいるのか
そんな事をいったら、
この世界に無限次元な物などいくらでもあるが
普通に生活出来てる
0589デフォルトの名無しさん
垢版 |
2018/06/04(月) 21:10:27.35ID:i7Qhv+/y
>>582
要らんだろう。縦横の2次元配列で余裕で行けると思うが?
更に言語も関係ないと思うが。

そもそもなんでそういう考えになったの?
0590 ◆QZaw55cn4c
垢版 |
2018/06/04(月) 21:30:09.04ID:gbEnuF2j
>そもそもなんでそういう考えになったの?
うん、私もそれが聞きたい、責めているわけじゃないですよ、新しい発想を求めているのです…
0591放置された蟻人間 ◆T6xkBnTXz7B0
垢版 |
2018/06/04(月) 21:56:04.31ID:QPd+rouH
まず、紙に小さな点を描いてみる。これがゼロ次元だ。
次に、小さな点を描いた紙を2つ横に並べて、その2つの点を頭の中で連続的につなげる。これが線であり、一次元だ。
さらに、線を2つ並べて頭の中で連続的に繋げる。これが平面であり、二次元だ。(以下略)
0592 ◆QZaw55cn4c
垢版 |
2018/06/04(月) 21:58:38.98ID:gbEnuF2j
>>591
そこでやめずに、4次元まで続けていただけませんか?
0595放置された蟻人間 ◆T6xkBnTXz7B0
垢版 |
2018/06/04(月) 22:15:54.88ID:QPd+rouH
毎月のミカンの生産量と、毎月のリンゴの生産量を縦に並べるとしよう。

これは、月と、果物の種類の2つのパラメータがあるから、2次元のデータだ。
このデータが有限であれば、二次元の紙の上に、表(table)として書き表すことができる。
0596放置された蟻人間 ◆T6xkBnTXz7B0
垢版 |
2018/06/04(月) 22:21:02.98ID:QPd+rouH
線を切断すれば点が現れる。
面を切断すれば線が現れる。
立体を切断すれば面が現れる。
物体を「切断」すれば、より小さい次元に映し出すことができる。
0597放置された蟻人間 ◆T6xkBnTXz7B0
垢版 |
2018/06/04(月) 22:28:43.69ID:QPd+rouH
ならば、3次元のデータを紙に書き表すにはどうすれば、いいか?

3次元のデータをあるパラメータの定義域についてすべて切断すれば、複数の二次元のデータになる。
つまり、3次元のデータは、複数の表として書ける。
0600 ◆QZaw55cn4c
垢版 |
2018/06/09(土) 16:15:59.42ID:BV3WmSRm
>>599
片山さんはすっごく尊敬しています、注目に値するべき生産性です
0601デフォルトの名無しさん
垢版 |
2018/07/04(水) 22:27:13.63ID:gFgZc5FG
6UA
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況