このスレで良いのか分かりませんがよろしくお願いします。
Linux板の
ファイルシステム総合スレ その15
ttp://engawa.2ch.net/test/read.cgi/linux/1341012960/572- あたりで、ファイルのタイムスタンプの話題になっているのですが、
そのスレの
ttp://engawa.2ch.net/test/read.cgi/linux/1341012960/583 > Linuxのmanpage見たら、ファイルの状態を取得する stat(), fstat(), lstat() 関数は、
> ファイルの日時に time_t を使っていますね。
> time()関数 〜 紀元 (1970年1月1日00:00:00 UTC) からの経過時間を秒単位で返す。
> も、返すのは time_t。
> time_t をたどると正体は
> /usr/include/bits/types.h:103:#define __SLONGWORD_TYPElong int
> で 32bitのようですが、time_t を使うもの全般が、ファイルシステムに関係なくまずいのかな。
で、Linux32bitはsizeof(time_t)が4で問題ありそうです。
それで質問です。
1. Linux64bitのsizeof(time_t)は8で大丈夫になっているのでしょうか
2. time_tが32bitでもファイルシステムが64bitなど拡張された日時記憶であれば問題は無いのでしょうか
3. ちなみにWindowsは64bitタイムスタンプのファイル日時読み書き関数があるので問題ないのでしょうか
>>620 time_tの何が問題だと思っているんだ?
別にtime_tが32bitだからと言って、現状全く問題があるように思えないんだが。
32bitでsizeof(time_t);を見たら4byteだった。 例えばtouchコマンドはutime();系を呼んでいるようだけど、 これもtime_tを使っているから、2038年以降は問題ありそうだね。 サーバーやデスクトップなどのLinuxは大抵ネットにつながっているから、 リポジトリにあるパッケージでちゃんと更新しておけば整合が取れて 大丈夫なんだろうけど、組み込みのLinuxは大丈夫なのだろうか。 あと約25年だから、俺は退職をひかえる年齢で検診やなんかが 増えるんだろうけど、医療関係でこの問題が発生して被害を 受ける可能性があるのか心配だ。
624 :
デフォルトの名無しさん :2012/11/27(火) 07:11:45.98
へ? 2038年に0に戻った時刻を新たなエポックにすりゃええが
>>624 負の値になるとまずいのでは?
ちょっと確認してみた
time_tが32bitであることによる「2004年1月10日13時37分4秒問題」
ttp://ideone.com/3WMp77 実行結果
・現在の日時 = Mon Nov 26 23:29:34 2012
・10分後の日時 = Mon Nov 26 23:39:34 2012
・上記を足した半分 = Wed Nov 8 20:20:26 1944
・正しく計算した半分 = Mon Nov 26 23:34:34 2012
>>620 2038年問題はプログラマの間じゃ有名だよ
一般にはあまり理解し辛いから浸透してないけど
64bit Linux では対策済み
2038年までに 32bit Linux が消える事を祈っておけ
世の中に腐る程出回ってる組み込み機器の方がヤバそうだ
>>626 > 64bit Linux では対策済み
64bitのLinuxで
>>625 のプログラムを実際に実行したら、
"上記を足した半分" が "正しく計算した半分" と同じになるんですか??
それならネットワーク接続のDesktopやServerのLinuxは安心でしょうけど。
time_tが64bitになってるし
>>613 限定的な仕事しかできない閑職です
自分のことをプラットフォームエンジニアと名乗る人に会ったら
こいつ使えねえ奴だと思っておけば間違いないです
631 :
デフォルトの名無しさん :2012/11/27(火) 07:57:58.16
64bit Linux の NTP で うるう秒の入ったときに バグってシステムダウンしたのは 良い思い出
でも、まともなプラットフォームエンジニアはカーネルのチューニングもできればネットワークの監視もできる便利な奴だよ。
>>631 NTPといえば2036年問題があるようだけど、それも64bitで解決?
SEがまともな職業だと思ってた時期が私にもありました。(AAry
まともなSEはシニアプログラマの別名の場合だけ。 あーでも、その場合はシステムエンジニアリングの能力が低いからやっぱりまともじゃないか。
ろくなコードも書けないくせに能力云々言いたいなら続きはマー板でやれよ
>>625 > truehalf = (time_t) ((double) now / 2.0 + (double) ft10min / 2.0);
↓
> truehalf = (time_t)(now + (ft10min - now) / 2);
こうしたいものだな
>>625 それはtime_tが32ビットなのが問題なのではなく、
単にオーバーフローしかねない数値の扱いに慣れてないだけじゃないかと。
intが16ビットな時代から使っていれば、当たり前のように>637のコードが書ける筈だからね。
2038を跨ぐ期間の日数の計算がおかしくなる
class Car { public static int sum = 0; private int num; private double gas; public Car() { num = 0; gas = 0.0; sum++; System.out.println("車を作成しました。"); } public void setCar(int n, double g) { num = n; gas = g; System.out.println("ナンバーを" + num + "にガソリン量を" + gas + "にしました。"); }
641 :
つづき :2012/11/27(火) 14:15:00.87
public static void showSum() { System.out.println("車は全部で" + sum + "台あります。"); show(); } public void show() { System.out.println("車のナンバーは" + num + "です。"); System.out.println("ガソリン量は" + gas + "です。"); } } どこが間違ってるかわかりますか? showの使い方がよくわかりません・・・
>>640 言語もエラーメッセージも判らんから判断しようがない。
>>640 staticメソッドからインスタンスメソッドは呼び出せない。
なぜなら、どのインスタンスのプロパティを表示させようとさせてるのかわからないから。
>>642 説明不足ですみません…javaです
>>643 さんのご指摘通りでした
スレ汚しごめんなさい、有難うございますm(_ _)m
sofuto2.c: In function ‘main’: sofuto2.c:11: 警告: passing argument 1 of ‘atoi’ from incompatible pointer type がでます、このエラーがなんなのかもいまいちわかりません。解決法をおしえてくださいorz #include <stdio.h> #include <stdlib.h> int main() { FILE *fp; char *fname ="test.txt"; int c,b,d; int **matrix ; int candidates_x, votes_y; /* size_x 行 size_y 列 */ int i,j,count=0,a=atoi(matrix); for(b=1;b<=candidates_x;b++){i=0; for(j=0;j<=votes_y;j++){ if(a==b){ count++; printf("fjai"); } } printf("candidates%d=%d\n",b,count); count=0; } codepadがなぜか使えなかったので断片的にかきました、
646 :
片山博文MZボット ◆0lBZNi.Q7evd :2012/11/27(火) 15:36:27.95
matrixの型がint**で、atoiの引数の型がconst char*だから 型が一致していないということ。そもそもatoi(matrix);で何をしようと しているのかがわからない。
>>645 解決策→man atoi
つか、そもそも初期化されていないmatrixを参照しているのがおかしい。
言語はscalaです if文の条件式に 「AがBまたはCの時」っていうのを書きたいんですが A == (B || C) みたいに書きたいんですが無理なんでしょうか(左の書き方がエラーなのは分かります) 今は val A = 〇〇 if((A == B) || (A == C)) みたいに書いてるんですがこの比較の為だけの val A がなんとなく気持ち悪いんです
贅沢言わない
○○というのはCで言うところの右辺値なんだろうか
いや、●●は普通の数値とかだろ BかCが●●(つまりA)と同じだったらーってことだろな
>>648 Scalaとか全然知らないけど、比較元がAなのに、
> この比較の為だけの val A がなんとなく気持ち悪いんです
ってどういうこと?
ifの中に定数を直接書けないことを想像するのはいとも簡単である
>>653 scalaの話だとしたら、普通にif (a == 1 || a == 2)と書けるけど?
本当は ○○ == (B || C) と書きたいのに ○○が副作用持ってて A = ○○ を経由しないといけないってことだろ Python に乗り換えろ
>>648 A == (B || C)の場合でもval A = ○○は必要なのでは?
例えば関数から生成されるものを比較したい時とかに Func(a, b, c) == B || Func(a, b, c) == C って書くのはいかにも冗長だし二度手間ですよね だから Func(a, b, c) == (B || C) と書きたくなるんですがこれはエラー でも前述の通り比較の為だけに一時変数作るのが気持ち悪く感じられてしまうので 何か良い書き方無いかな、と思ったわけです
>>656 ○○が副作用持つなら、どんな言語でも一旦変数に入れないとダメなんじゃないの?
つか、Pythonなら「○○がBまたはCのとき」を「○○ == (B || C)」って書けるのか?
なんという変態言語。
select func(a, b, c) case when B or C みたいなこと書ける言語あった気がするが。
>>659 >>658 なら後者の式にしたい気持わかるわ
前者でやろうとしたら変数に一旦値入れるか、関数2回通すしかないもん
BとCがリストに入っていれば、リスト検索的な何かで一発なんじゃないの
>>664 こういうことですかね
if(List(B, C).contains(Func(a, b, c)))
>>661 それなら Ruby も C/C++ もいける
遅レスすみませんm
>>646 ありがとうございます、もっとちゃんとatoiを調べます。
すみません、動的2次元配列に格納されている数字を数値に変換
し、matrixに格納されている数値が1のとき2のとき・・・・とカウントしようとしてます
>>647 man atoi・・・・・?ぐぐってもよくわかりませんでした
671 :
648 :2012/11/27(火) 20:24:01.02
質問に答えて頂いた方々ありがとうございました
>>670 すみません、ideoneはなぜか何回やってもソースコードが表示されませんでした
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fp;
char *fname ="test.txt";
int c,b,d;
char **matrix ;
int candidates_x, votes_y; /* size_x 行 size_y 列 */
int i,j,count=0;
printf("候補者数と投票者数を入力 >");
scanf("%d%d", &candidates_x, &votes_y);
fp = fopen( fname, "r" );
if( fp == NULL ){
printf( "%sファイルが開けません\n", fname );
return -1;
}
matrix = (char**)malloc(sizeof(char*)*candidates_x);
if (matrix==NULL) exit(1);
for (i=0 ; i < candidates_x ; i++) {
matrix[i] = (char*)malloc(sizeof(char)*votes_y);
if (matrix[i]==NULL) exit(1);
}
673 :
672 :2012/11/27(火) 21:21:45.08
i = j = 0; while( (c = fgetc( fp )) != EOF ){ if('\n' == c){ i = 0; j++; continue; } if(j >= votes_y){ break; } if(i < candidates_x){ matrix[i][j]=c; } i++; } for (j=0 ; j < votes_y ; j++) { for (i=0 ; i < candidates_x ; i++) { printf("%c ",(char)matrix[i][j]);}printf("\n");} for(b=1;b<=candidates_x;b++){i=0; int a=atoi(matrix); for(j=0;j<=votes_y;j++){ if(a==b){ count++; printf("fjai"); } } printf("candidates%d=%d\n",b,count); count=0;} for (i=0 ; i < candidates_x ; i++) { free(matrix[i]); } free(matrix); fclose(fp); return 0; } スレ汚しすんませんorz
>>659 if func() in (B,C):
pythonだとこんな感じかな。
>>672-673 atoiにcharの2次元配列を突っ込んで一体何を得ようとしてるんだ?
例えば char hoge[3][2] = { {'1', '2'}, {'3', '4'}, {'5', '6'} }; みたいなのがあったとして、
atoi(hoge)は何をすると期待してるの?
676 :
デフォルトの名無しさん :2012/11/28(水) 01:19:52.09
すみません。教えてください。 携帯動画をSDカードその1へ録画→動画変換ソフトで変換→SDカード2へ移動→削除 SDカードの動画を復元は出来そうなのですが、日付は変換日になってしまっているのです。 この動画が最初録画した日付を知りたいのですが、可能でしょうか? もし日付が分かる場合は、どこへ頼めばいいのでしょうか?
>>676 ここム板だぞ
プロパティ→詳細→作成日時
録画日はわからんよ
679 :
676 :2012/11/28(水) 01:32:55.16
>>672-673 何がしたいのか訳がわからないよ
668を読む限り、テキストに出てきた1-nまでの各数字の出現頻度をカウントするような動作を期待しているとエスパーしているが
なんでテキストファイルの中身をmatrixに展開しているんだ?
テキストストリームを読みながら一文字ずつ処理して行ったらダメなんか?
候補者数が最大0-9までの10通りしかないならcount[10]を随時++していくだけでおわるんじゃないか?
eclipseにADTをインストールしようとするとエラーが出てしまうんですけど、どうやったらインストールできますか?
683 :
デフォルトの名無しさん :2012/11/28(水) 13:47:01.17
馬鹿には無理
エラーとだけ言って肝心の内容を隠ぺいする事をまずやめよう
685 :
デフォルトの名無しさん :2012/11/28(水) 19:18:56.42
>>675 char hoge[3][2] = { {'1', '2'}, {'3', '4'}, {'5', '6'} };
を{1、2}{3、4}{5、6}
にして打ち込んだ数字以下の全ての数字がそれぞれ
二次元配列の左端一列のみにいくつあるかをカウントしたいです
>>681 どの候補者も全体の過半数にたっしていなかったら
一番低い頻度の値を二列目の値と入れ替えるとゆう処理を後々したいので
配列に格納しました。。
今読んで気づいたのですが、これだと9人までの候補者までしか
できないですねorz
元々投票者は順位をつけて投票し、投票者が第一位に選んだ候補者を記入し第一回目の集計では
各投票者の第一位に選んだ候補者のみを考慮し、全体の過半数をだれも達していなか
ったら最少投票数の候補者が除外されてその候補者への投票を無視してやりなおし、
除外された候補者を選んだ投票者は第二位に選んだ候補者を今度は数え、1人
の候補者が過半数を得るまで続ける、といった
順位移転式投票制度のプログラミングをつくろうとおもっています。
システムはファイルを読み込んで当選者を出力するといったものです。
プログラミングは作るものではない
>>685 >今読んで気づいたのですが、これだと9人までの候補者までしか
>できないですねorz
9人までならデータは
27167812878721
12762187687124871271127217
12272771652
みたいなのでいいけど、10人以上なら
1 7 11 6 3 4 1 2 1
2 4 1 3 10 12 5 4 1 8 7
みたいに空白で空けるか、csvだろうね。
689 :
672 :2012/11/28(水) 20:46:10.88
>>687 あぁ、なるほど、そうです本当にありがとうございます(TT)
690 :
672 :2012/11/28(水) 20:47:49.32
>>688 ありがとうございますOTZ
ちょっとがんばってきます
>>688 間違った。
ファイルのデータ1行が、投票者1人分なのか...
>>685 Q1:ファイルから読み込むのは、候補者番号?
Q2:投票は第二候補まで書くという事?
693 :
672 :2012/11/28(水) 23:17:52.55
>>692 Q1はい、Q2候補者数全てに順位をつけて投票します。
候補者1、候補者2、候補者3、がいたとするとテキストファイルは下のような感じです、テキストの形式は自由です
が候補者数と投票者数、各投票者の投票結果はいります
例)
候補者数=3
投票者数=4
123
321
213
132
695 :
672 :2012/11/29(木) 02:04:21.29
FILE *fp; char *fname = "1vote.txt"; int CANDIDATES; int VOTES; char string[MAX_LEN]; /* ファイル・オープン */ if ((fp = fopen(fname, "r")) == NULL) { printf("ファイル「%s」のオープンに失敗しました。プログラムを終了します。\n", fname); return -1; } int flag=0,i,t; for(t=0;t<2;t++){ fgets(string, MAX_LEN, fp); for(i=0;i<MAX_LEN;i++){ if(string[i]=='='){ //printf("%c\n",string[i+1]); if(flag==0){ CANDIDATES = atoi(&string[i+1]); flag++; printf("%d\n",CANDIDATES); break; }else{ VOTES =atoi(&string[i+1]); printf("%d\n",VOTES); break; }}} テキストが C=100 b=20 とすると出力がなんで100と20なんですか??string[i]='='の次はstring[i+1]=1 ではなくなぜstring[i+1]=100なのですか?おしえてくださいorz
>>695 「CANDIDATES = atoi(&string[i+1]);」
は1文字('1')を数値に変換するんじゃなくて、文字列("100")を数値に変換している、
って説明で分かるんだろうか・・・
もしかしてポインタが分かってないレベルだったり
読み返してみると文字列とかポインタとか型とか、基本的なことを理解してないみたいだな FILEなんか使う前に、簡単に文字列操作の練習でもした方がいいんじゃないか
698 :
デフォルトの名無しさん :2012/11/29(木) 02:47:04.26
>>696 ポインタ・・Aの住所がかれてあるメモをもつ人みたいなものですよね;;
CANDIDATES = atoi(&string[i+1]);
stringの前になぜ&がつくかもわかりませんstring[i+1]のアドレス
をしめすことになるのでは?とおもってしまいます
699 :
デフォルトの名無しさん :2012/11/29(木) 02:50:44.77
>>697 ですね;;ざっとよんだだけでこの課題をといてます;
なんでCANDIDATESが数字扱いなの? ファイルって 鈴木宗男=100 みたいな行がずらーーっと並んでるんじゃないの?
>>698 > ポインタ・・Aの住所がかれてあるメモをもつ人
ワロタw
とりあえず今は Aのアドレス = ポインタ くらいの適当な理解でいいよ
要点をまとめると
"100" ・・・ 文字列、実際は'1'、'0'、'0'、'\0'(終端文字)というデータの羅列
string[i+1] ・・・ string配列のi+1番目の値。すなわち'1'という1バイトの文字データ
&string[i+1] ・・・ string[i+1] のアドレス、すなわち'1'が置かれているアドレスであり、それは"100"という文字列の先頭のアドレスでもある。
atoi関数 ・・・ 指定のアドレスから終端文字までを読み取って、数値に変換する。
まぁ基本からやった方がいいと思う
この流れならぼくにも言える。 馬鹿には無理。
未だやってたのか。
704 :
デフォルトの名無しさん :2012/11/29(木) 11:07:12.64
俺にも言わせろ 馬鹿には無理
ぼくには無理。
/* ファイル・オープン */ のようなコメントは不要
708 :
デフォルトの名無しさん :2012/11/29(木) 11:57:40.18
>>701 かなりわかりやすかったです。ありがとうございます
atoi関数を正しくわかっていませんでした。
>>705 僕にも無理ですけど、馬鹿でも勉強すればできるようになると信じろと
ガイ先生がいってたようなきがします
ナイスガイ先生
windowsのアプリでベルサインの電子証明書を使用しています。 例えば2012年12月1日に証明書の有効期限が切れた場合、 12月2日以降にそのアプリは通常通り動作するでしょうか? また何らかの警告が出たりしないでしょうか? 自分は2012年12月1日以前に付けたアプリに関しては永遠に通常通り動作すると思っているのですが・・・・
ベルサインは偽物だから気を付けろ
716 :
デフォルトの名無しさん :2012/11/29(木) 15:31:38.72
>>707 すごい、軽い感じで作れるかんじなんですね、俺もがんばります
期限が切れても平気なら誰も長期間買い続けたりせんよ
718 :
デフォルトの名無しさん :2012/11/29(木) 18:25:58.82
c始めたばかりなのですが質問です。 tp//codepad.org/WsNDfYIs これをビルドしたら実行結果が a = 1 &a = 18ff44 *pa = 1 &pa = 18ff3c b = 1 と表示されたんですが&aと&paが何故こう表示されるのか分かりません 16進数で表示される事は分かるんですが printf("&pa = %04x\n",&pa); 実行結果が18ff3c これが特に分かりません^^; 数学的に考えるとpa=&a;でアドレスがaに代入されるからaの16新数表示に ならないんですか? 仕組みはよく分からなくてどなたか教えて下さい。
>>718 > int a,b,*pa;
以上の宣言で、
・ int型の値を入れる a という器(変数)が 0x18ff44 番地のメモリに確保される
・(int型の値を入れる b という器(変数)が 0x18ff40 番地のメモリに確保される)
・int型の器(変数)のメモリアドレス値を入れる pa という器(変数)が 0x18ff3c 番地のメモリに確保される
ということを踏まえたら理解出来ませんか?
それと、
> 数学的に考えるとpa=&a;でアドレスがaに代入される
ではなく
> 数学的に考えるとpa=&a;でaのアドレスがpaに代入される
です。
printf("pa = %04x\n",pa); も表示してみたら分かるのでは?
アドレス表示(ポインタ変数の値)なら printf("&a = %04x\n",&a); じゃなくて printf("&a = 0x%p\n",&a);
>>722 $gcc -v
gcc version 4.4.6 20120305 (Red Hat 4.4.6-4) (GCC)
だと、
printf("&pa = %04x\n",&pa);
> &pa = bfe2aea4
printf("&pa = %p\n",&pa);
> &pa = 0xbfe2aea4
printf("&pa = 0x%p\n",&pa);
> &pa = 0x0xbfe2aea4
と出た。
勝手に「0x」が頭に付けられています。
他のコンパイラはどうなんでしょう。。
%04x で 6 桁とか 8 桁とか出力されてることには誰も突っ込まないのは何かのお約束か
>>719-720 レスありがとうございます。
a=1だからpa=aのアドレスですよね?
それでbはpaのアドレスint型のデータに格納されているので
a=1 b=1 pa=1ですよね?
printfで出力される結果がまだよく分からないです><
paにaのアドレスが代入されるだけなので
pa自体のアドレスは変わらないんでしょうか?
分り難い説明ですみません。
paのアドレス自体は&だから変更されないって事ですかね?
*だとポインタ変数だから変わるのかな。。。
メモリとかもまだよく分からないです^^;
>>724 桁が超えたら、
printf("%2d\n", 12345); の表示は 12 とか 45 ではなく 12345
と、勝手に拡張表示されるから特に言及しなかったけど、
桁数が分からない数値を表示する時は
printf("pa = %04x\n",pa);
ではなく
printf("pa = %x\n",pa);
とするべきだね。
(ポインタ値の表示は勿論、%p が良い)
int a,b,*pa; a = 1; pa = &a; b = *pa; こう考えるとどうだろう。 ・a, b はint値を書くための紙である ・紙は、それなりに置き場所(メモリ)が必要である ・pa は、a, b のような「int値を書くための紙」の「置き場所」を書くための紙である ・もちろん、pa 自身のためにも「置き場所」は必要 ・「代入」とは、左辺の示すものに右辺のものを「書く」ことである
配列に、{1,2,3}の3つの数字が入っている時、並び替えて 123 132 213 231 312 321 のように全パターンを出力したいのですが何か良い方法はありませんか。 ちなみにVBですが、他の言語で書いていただいてもだいたいわかると思います。 配列の長さは変わることもあります・・・。
>>729 すみません・・・思いつきません、どうやればいいのでしょうか
>>732 ありがとうございます!
参考にしてvbで作ってみようと思います
735 :
デフォルトの名無しさん :2012/11/29(木) 20:54:24.16
「あるページにアクセスして、そこの決まった一定の場所に書いてある1とか2とかの数字を漢数字に変え、エクセルに記入する。 1ページ目を記入したら2ページ目、2ページ目を記入したら3ページ目。nページ目を記入したらn+1ページ目にといった具合に、そのページの数字を記入した後は次のページの数字を記入する。 (※1ページ目も2ページ目もnページ目も数字が書いてある場所は同じ。記入されるエクセルの方も前に記入したセルと数個飛ばしで記入されていく。)」 といったツールを作りたいのですが、可能でしょうか? というかどういうプログラムにしたらよいでしょうか?
>>732 VBでも出来ました!ありがとうございます
*dの意味がちょっとわからず暫し苦戦していました・・・。
ByRefで渡すことだったんですね。
738 :
732 :2012/11/29(木) 22:42:49.75
>>737 それはおめでとう。
ByRefって参照渡しのことかな?
データサイズが大きすぎなければ、特に参照渡しでなくとも
コピー渡しで良いんだけどね。
後学のため、出来ればVBのコードを
ttp://ideone.com/ とかに貼って見せてもらえると嬉しい。
ちなみにVBでやるってことは、配列数10個くらいだと計算に
時間がかかりすぎて表示が固まらないか心配。。
>>735 またはExcelファイルを扱える各種言語
Perlなど
>>725 a=1; // aに1を入れます
pa=&a; // pa に aのアドレス(0x18ff44)を入れます
b=*pa; // pa(0x18ff44)にある値(1)をbに入れます
結果
a は 1
pa は 0x18ff44
b は 1
742 :
738 :2012/11/30(金) 01:37:52.60
744 :
デフォルトの名無しさん :2012/11/30(金) 02:15:45.07
>>743 セグメンテーション違反がでるのですがなぜでるのでしょうか・・
4行目以降がセグります
配列の確保ができてないのでしょうか・・・・
1. 15行目の時点で、retuとgyoが正しくセットされているか確認 2. 25,26行目 > for (i = 0; i < gyo; i++) { > for (j = 0; j < retu; j++) { ↓ > for (i = 0; i < retu; i++) { > for (j = 0; j < gyo; j++) { では?
>>744 retu×gyoで確保した行列を、gyo×retuとしてアクセスしています。
したがって、gyo != retu の場合は、確保されていない領域にアクセスすることになります。
それと、
>>746 とは逆の事を書きますが、
>>744 は retu と gyo で
確保する順序が逆ではありませんか?
> matrix = (int **)malloc(sizeof(int *) * retu);
> if (matrix==NULL) exit(1);
> for (i=0; i<retu; i++) {
> matrix[i] = (int *)malloc(sizeof(int) * gyo);
> if (matrix[i]==NULL) exit(1);
> }
ではなくて
> matrix = (int **)malloc(sizeof(int *) * gyo);
> if (matrix==NULL) exit(1);
> for (i=0; i<gyo; i++) {
> matrix[i] = (int *)malloc(sizeof(int) * retu);
> if (matrix[i]==NULL) exit(1);
> }
とすべきかと。
縦が「行」で横が「列」ですよね。
違う事をやろうとしているのだったらすみません。
>>736 VBAなら可能なのでしょうか?
レベル的には、初級者レベルでも作れるような感じですか?
それともそうとうVBAの知識がないとできない感じですか?
>>748 「あるページ」が何のページか判らんが、ブックファイルの各シートのことを言っているなら割と簡単。
ウェブページならVBAを避けるのが普通
webページから取ってくるようなら まず、DOMへのアクセスを提供するCOMオブジェクトを引き込んで DOMでパースして ってやるのかな。 その辺の知識や、Web関係の知識もないと厳しいと思う。 プログラムが上手く動かないとき、結局そういう知識がないと原因が分らないからな。 ところでなんでVB(.net)って簡単な言語っておもわれるんだろ。 あんな醜悪でめんどくさい言語はないとおもうが。(独り言)
752 :
743 :2012/11/30(金) 10:27:57.37
753 :
743 752 :2012/11/30(金) 10:29:54.00
>>745 途中まではよめてました
>>746 15行目で正しくセットされています
2.すいません説明不足でした、
作りたい配列が下といった感じです
123
321
213
123
321
213
・
・
>>747 そのとおりでした、 matrix = (int **)malloc(sizeof(int *) * 4); で
[]
[]
[]
[]
となりますよね・・・それでも4行目以降表示するとセグります
テキストが
CANDIDATES=3
VOTE=9
213
231
213
132
123
321
321
321
321
754 :
743 752 :2012/11/30(金) 10:40:05.51
です
>>754 先ず、インデントを何とかしろ。
次に、インデントを何とかしろ。
最後、インデントを何とかしろ。
>>743 ,753
fscanf(fp, "%d", &gyo);
matrix = (int **)malloc(sizeof(int *) * gyo);
if (matrix==NULL) exit(1);
// for (i=0; i<retu; i++) { /* delete */
for (i=0; i<gyo; i++) { /* add */
matrix[i] = (int *)malloc(sizeof(int) * retu);
if (matrix[i]==NULL) exit(1);
}
それと、213 ---> {2,1,3}にしたいんじゃないの?
fscanf(fp, "%d", &matrix[i][j]);だと、213 ---> {213}になってしまう。
int main() { FILE * fp = fopen(MY_FILE, "r"); int gyo; int retu; fscanf(fp, "%*[^=]=%d%*[^=]=%d", & retu, & gyo); int ** matrix = malloc(sizeof(* matrix) * gyo); for (int ig = 0; ig< gyo; ++ig) { matrix[ig] = malloc(sizeof(* matrix[ig]) * retu); for (int ir = 0; ir < retu; ++ir) { fscanf(fp, "%1d", & matrix[ig][ir]); } } fclose(fp); for (int ig = 0; ig < gyo; ++ig) { for (int ir = 0; ir < retu; ++ir) { printf("%d ", matrix[ig][ir]); } printf("\n"); free(matrix[ig]); } free(matrix); return 0; }
758 :
743 752 :2012/11/30(金) 11:20:06.02
>>755 失礼しましたorz
>>756 、757
すんません、テキストに空白いれるのわすれてました。
うまくいきました。わざわざありがとうございますOTZ
759 :
デフォルトの名無しさん :2012/11/30(金) 12:10:25.56
何度もすみません
>>707 の
int *sum char *p = matrix; char *matrix;
for ( i = 0; i < votes; ++i) {
// printf("matrix %c\n", *p);
sum[*p - '1']++;
p += candidate;}
が何をしているのかよくわかりません、主にsum[*p - '1']++;が何をしているのか教えてくださいmm
>>759 *pが文字'1'ならsum[0]をインクリメント、*pが文字'2'ならsum[1]をインクリメント。
以下iがvotesに達するまで。
但し、もう既に作りが違っているのだから余り気にしないで今のコードをきちんと理解すべき。
>>579 ASCIIコードだと'0'から'9'は0x30から0x39に配置される。
*pが'3'ならば
sum[*p - '1']++;
は
sum['3' - '1']++;
で
sum[0x33 - 0x31]++;
で
sum[2]++;
となる、と言えば分かるか?
使用文字コード依存なのであまりこういうプログラムは感心しない。
まあ、数字はEBCDICコードでも一続きに配置されてるから良いけど。
mallocする前にサイズチェックしとこう。 入力テキストが間違っていて gyo、retuが変な値なのにmallocすると、 とんでもないサイズのメモリを確保したりしてPCが固まる。
>>763 そういうのは、デバッグ中にassertしとけというレベルの話で、実コードでチェックする必要なんか無い。
できないことなら、malloc()は失敗するし。
>>763 まあ、入力値の妥当性チェックは必要なんだろうが、今回の問題とはまた別の話だよ。
この板で示されるコード全部にそんな突っ込み入れてたら、きりないでしょ。
fopen()の戻り値とfscanf()の戻り値のチェックも必要だね。
重要度から言ったら、fopen()の戻り値 > fscanf()の戻り値 >> malloc()の戻り値 >>> 内容の妥当性 だろ。 今時、巨大な空間を確保しようとしただけで固まるような端末なんてないだろうし。
>>766 ,767
スレタイ。
そういうベキ論は、質問が出た時か、もっとプロ指向のスレで。
769 :
763 :2012/11/30(金) 17:01:23.51
「今すぐ書き直して再うpしろ!!」
と言っている訳じゃないから目くじら立てなくてもw
これって実際に自分で使用するツールじゃないかな?
って雰囲気を感じた(妄想)んで、それならもうちょっと
エラーチェックをしたほうが良いですよ。
と思ったまでで。
いや、俺も実際にテストデータ分からずメクラ打ちでデータ作って
このコードを動かしたらスワップで少しPCが固まったんで、
アドバイス程度で
>>763 書いたつもりで
770 :
763 :2012/11/30(金) 17:03:14.09
>>764-768 スレ汚してすみませんね。俺のせいです。
償いとして、別キャラで出直します。
俺が村田だ まで読んだ
>>758 コードを codepad や ideone に張り付けるときは Linux なら indent コマンドで
整形した方がいいね。コンパイルが通ることを確認した src.c を
$ indent -nut src.c
みたいにして。
774 :
デフォルトの名無しさん :2012/11/30(金) 19:57:46.26
Excelのイベントって全部C#で拾える? セルの内容変更とかオブジェクトで追加したボタンの クリックとか
>>749 ウェブページです。ネットです。
>>750 ってことは、無理ってことですか?
>>751 じゃあさらにweb関係の勉強もしなきゃいけないと。
なんか本当に面倒くさいですね。
機械の利点がまったくないですね。
通常、情報とかってウェブページからとるものだと思うんですけど、
なんで今まで誰もこれを考案しなかったんでしょうね?
ウェブページの情報をエクセルやその他のツールに写すっていう。
この10年以上のネットの歴史で誰一人も思いつかなかったんですかね?
ウェブページの情報をエクセルやその他のツールに写すっていう。
ウェブページの情報をエクセルやその他のツールに写すっていう。
ウェブページの情報をエクセルやその他のツールに写すっていう。
人間ってそんなに賢くない生き物なんですかね?
必要な情報を抜き取るのは普通にやってるよ パースするのがいやなら正規表現もあるけど こっちはこっちで大変だから結局勉強は必要だけどね
エクセルに何か書き込む時って、 自分で考えて打つか 手元にある資料やネットの資料をうつすか これ以外考えられないと思うんだけど なんでそのうちの一つの、ウェブページの情報をうつすっていう、むしろもっともポピュラーの方法を なんで誰も考案しなかったんでしょう? クリックしてページ開いて、そのページに書いてあることをエクセルにうつす なんでこんな簡単なことでウェブ関係とかいらん勉強までしなきゃいけないんだ VBA作ったやつは本当に頭が悪い
じゃあページを開くのは手動でクリックして開くとして、 今画面にうつってるページをコピペして一部改変してエクセルにうつす みたいなプログラムってVBAでできそうですか?
>>779 VBAなんて無くてもスクショとってうつせばよくね
UWSCでいいんじゃねーの >じゃあページを開くのは手動でクリックして開くとして、 >今画面にうつってるページをコピペして一部改変してエクセルにうつす これくらいならスクリプト書かなくても出来そうだし
いまのエクセルにはWEBクエリって機能があるのはご存知?
なんでこんなやつがム板にいるの
>>782 webクエリ便利だな
仕事でも使えそうだ
ウェブのテーブルを取り込むとき用
786 :
デフォルトの名無しさん :2012/11/30(金) 23:07:58.28
配列に変数の値を格納する方法ってありますか??
ありますよ
790 :
743 :2012/11/30(金) 23:38:49.44
int sum1(){ int b,j,i,count=0, *can; can = (int *)malloc(sizeof(int *) * retu); for(b=1;b<=retu;b++){ for(i=0;i<gyo;i++){j=0; if(matrix[i][j]==b){ count++; } } printf("candidates%d=%d\n",b,count); can[b]=count; count=0; } //printf("%",can[b]); free(can); }
791 :
790 :2012/11/30(金) 23:40:02.05
>>790 すいません、これってなんでアボートするんですか??
場所はcan[b]=count;
みたいなんですが
792 :
790 :2012/12/01(土) 00:04:15.38
てか、じゃあ皆さんこういう時だったらどうしますか? 例えば XXX :デフォルトの名無しさん:2012/11/30(金) AA:BB:CC.DD って2chのレスはなってますよね? 「このプログラム技術板すべてのスレ(現行)と全てのレスの、XXX(レス番)とDD(秒?)を抜き出して、エクセルに記述する。 ただし、DDの部分は1なら○、2なら◎、3なら●、4なら△、5なら▲、6なら▽、7なら▼、8なら■、9なら□、0なら× に変換して記述しなければならない」 こんな時、みなさんだったらどういうプログラムとか手段を組みますか? 知恵を貸してください。ほんとに。
>>793 の例です。
例
│ A │ B │ C │
1 │ 785│ ◎□│ │
2 │ 786│ ◎■│ │
3 │ 787│ △●│ │
4 │ 788│ △▼│ │
5 │ 789│ ▼◎│ │
$s = "XXX :デフォルトの名無しさん:2012/11/30(金) AA:BB:CC.DD"; $r = explode(":",$s); $d = explode(".",$s); echo $r[0]; echo $d[1];
エクセルとか変換のとこ見てなかったわ まあ、頑張れよ
凄く初歩的な質問ですが、よろしくお願いします。 C言語の勉強をしています。 「こんにちは」と表示して改行を行う関数 void hello(void) {/* … */} を作れという問題で分からずに解答を見たところ void hello(void) { puts("こんにちは"); } でmain関数にもhello();だけでした。 なぜhello関数でreturnが必要なく 文章だけが返るのでしょうか?
関数が値を返すのと、その中で画面(標準出力)に何かを出すのとは、直接には何も関係ないよ
helloが何も返してないからreturnが不要。 返すとは何なのか徹夜で考えなさい。
>>793 常識的な線で、2chブラウザを使っていれば見たスレについてはdatファイルが残っている筈だからそれを前提に。
awk 'BEGIN{FS = "<>";} {split($3, cells, "\\."); print ++ic, cells[2];}' *.dat > foo.csv
とでもして、それをExcelで開いて後は適当に。あー、B列の変換があったか。それもまぁ、awkでやっつければ楽だな。
webページの場合も、ソースを落とせばキーになるようなタグが見つかるだろうから それを使って検索と置換を駆使すればどうにでもなるよ。 まぁ、それなりに知識は必要だけどね。
>>797 void型の関数は値を返さない関数だからreturnはあってもなくてもいい。
returnを書く場合でも返す値がないからreturn;で終わる。
>>797 putsは、標準出力に表示するという副作用があるだけで、helloが返しているわけではない。
インタプリタの実行環境だと、返したものを利便性のために表示することが多いので、それと混同しているのかな。
void main とか書いてる本は捨てろ!
pythonだとNoneが返ってくるのでさらにややこしい
訳知り顔で
>>804 のようなタワゴトをいうバカは放置推奨。
>778 おまい頭いいな!
808 :
デフォルトの名無しさん :2012/12/01(土) 10:39:47.56
Mercurialを使って見たのですが、「.hgignore」の作成で 「#」で始まり「#」で終わるファイルを管理対象外としたいのですが、書き方がわかりません。。。 正規表現はRegExpで書いているのですがイマイチ・・・ よろしくおねがいします。 ------------------------ syntax: regexp /\. .+\.class$ .+~$ ^\bin\/ ^#.+#$ ------------------------ と書いたら全てのファイルが管理対象外とみなされてしまいました。
void main() でも中身が無限ループのときは許されるよね
何の説明も無くvoid mainと書いてある本は 規格をちゃんと確認してるか怪しいので 信用してはならない
>>811 同意。
古い本なら、当時の規格に沿った結果の場合もあるけど。
最近の本でそれなら、ソースをコンパイルチェックしてないな。
>>809-812 お前らの常識とやらが非常識なわけだが。
5.1.2.1 Freestanding environment
void main() か‥‥ スタートアップとリンクすることを念頭においていないというべきか
なんでvoid mainだとダメなの? 戻り値が無いとDOSやUNIXのバッチが戻り値を受け取れないから? まさかスタックは壊れないよね。 コンパイラが「なーんだよvoid mainってw しょうがないからvoidなエピローグ書いてあげるけどさ」 って感じでやってくれるんでしょ? 実際どうなるんだ
規格違反がだめって事 違反してないなら構わんよ
未だにvoid main擁護に頭使ってるようじゃ、肝心の事が疎かになってるだろうな。
>>815 関数の返り値がレジスターに積まれるのなら void だろうが、int だろうが、まったく問題ないと思います、実際のところ。
しかし返り値がスタックに積まれる実装もありうること、main() を呼び出す存在があることを考慮し、一貫性をもたせたいと考えるむきもあるでしょう。
単なるスタンスの問題かもしれません。
「何の説明もなく」void main使ってる本が糞なのは、同意
>>818 なるほどサンクス。
俺も別に擁護するつもりはないよ?w
ただ、自分で理由をいえなかったから聞いてみただけで。
すべてのプログラムは終了コードを返す必要がある void mainをintとみなしてコンパイルするとしたら、戻り値は勝手に0とみなすのか?
void mainを全否定する気はさらさらないが、 後のほうの章でいいから、説明は必要
>>821 C89 の規格は持っていないのでよくわからないのですが、実装をみたところコンパイラにより様々なようでした。これを論じたスレがあったはずですが、どこだったっけ?
C99 では int main() にもかかわらず return がない場合は、0 と規定されるようになりました。
ISO/IEC 9899:1999 5.1.2.2.3.1
If the return type of the main function is a type compatible with int, a return from the
initial call to the main function is equivalent to calling the exit function with the value
returned by the main function as its argument;10) reaching the } that terminates the
main function returns a value of 0.
void main() の場合はつぎのとおりです。
If the return type is not compatible with int, the termination status returned to the host environment is unspecified.
>>813 >「何の説明も無く」void mainと書いてある本は
>821 戻り値は最後にアキュムレータに入っていた値です(キリッ Matz
c99をサポートした無料で使えるコンパイラはどういうのがありますか?
知らんg
>>815 >voidなエピローグ書いてあげるけどさ
書いてくれません。
というか、int なエピローグをリンクするだけです、コンパイラではなくリンカが。
>>828 環境依存
それが普通だとは思うが、環境依存としか言えない
シグナル処理も満足にかけないクズは引っ込んでろ。 10万モリタポ出すなら教えてやるぞ。
¥1万でおしえてくれるんですか?ぜひぜひ
エピローグをリンクするだけなのは歴史的経緯もある
Qがよくやる炎上学習法か最近はうまくいっていないようだが
プロローグ/エピローグはコンパイラが生成するもの。素人は引っ込んでろ。
え?スタートアップモジュール(大概はライブラリ形式)をリンクするんじゃないんですか? MS-DOS 時代はあからさまにリンクしないとやっていけなかったんですが、最近はかわったの?
何年経験積んでも素人は素人。 プロローグ/エピローグはコンパイラが生成するもの。素人は引っ込んでろ。
プロローグ、エピローグって何でしょう?(・ω・)
私はプロローグラマです
そんな事も知らねー素人は引っ込んでろ。
ベーコンエピローグ食いたい
DOS時代を経験しているにもかかわらず、プロローグ/エピローグすら知らないボンクラだから。
プロローグ、エピローグって何ですか?
プロローグ・エピローグの定義をはっきりさせておかないとね。
そんな事も知らねー素人は引っ込んでろ。
質問スレで質問に答えないカスは引っこんでろ
あえて定義しないでもこの文脈なら一意に決まる。 定義しないと参加できない素人は引っ込んでろ。
プロローグ、エピローグって何ですか?
Qz以外の質問になら答えるが、わかってないのがQzだから断る。 10万モリタポで回答してやってもいいが。
わかる方、お願いします。
853 :
片山博文MZボット ◆0lBZNi.Q7evd :2012/12/01(土) 15:29:51.23
プロローグ:mainの前に行われる初期化処理 エピローグ:mainの後に行われる終了処理
855 :
片山博文MZボット ◆0lBZNi.Q7evd :2012/12/01(土) 15:33:13.39
またお前か!
Qzよりはるかにマシだな。Qzがウンコすぎる。
>>851 10万モリタポならシグナルのほうで
>>853 それは main() のためのプロローグ/エピローグというよりは、すべての関数におけるプロローグ/エピローグだ
アセンブリプログラミング――アセンブリ言語で記述した関数をリンクするとき――のお約束だね、みたところ cdecl だけのようだけれども
mainのプロローグ/エピローグの話してるのに 何で普通の関数のプロローグエピローグの話しとんのや
> 何で普通の関数のプロローグエピローグの話しとんのや プロローグ/エピローグとは(main関数も含む)関数のそれを指す。 無知な素人を除き、それ以外で使われることはない。
>>861 はあ? お前バカだろ。つかQz。まだ理解していないようだ。www
この話の流れは
>>815 から、
>>815 が「エピローグ」といったとき、何を意図していたかによる
Qは
>>814 で「スタートアップ」といっている
自演で言い訳必死。wwww
>>815 は
>>814 へのレスでもなんでもない。アンカーもついてない。
コンパイラが生成するんだろと言っている。それ以前からでているvoid mainの話題だね。
Qzがプロローグ/エピローグを知っていれば、これらのマヌケな発言は出てこない。
>>828 > というか、int なエピローグをリンクするだけです、コンパイラではなくリンカが。
>>846 > プロローグ・エピローグの定義をはっきりさせておかないとね。
>>858 > アセンブリプログラミング――アセンブリ言語で記述した関数をリンクするとき――のお約束だね、みたところ cdecl だけのようだけれども
>>862 へえ、調べてみると呼び出し規約の方に案外と固定されているのね。文脈依存かと思っていた、これは参考になりましたね。
main関数が真の開始点ではないので、 main関数を呼び出す側の関数が内部的に存在する その関数に前処理と後処理が書かれている 前処理はmain関数に渡す引数の処理など
SIGNALで強制終了させられたとき mainの外のエピローグは実行されますか?
VCのcrt0.cを読んだら
>>869 通常、スタートアップルーチンのエピローグはSIGNAL受けての異常終了、mainから
リターンする正常終了を問わず実行されない。(そのように書かれている)
勿論、実行するように記述する事は可能だが、returnする先が(普通は)スタックに積
まれて無いので、エピローグの最後の命令(マシンコードのreturn命令)を実行すると
きにSIGNAL喰らって終了。
872 :
デフォルトの名無しさん :2012/12/01(土) 21:20:42.24
スマフォの画面表示の明度や色自体をいじりたいのですが、Root取らないと無理なんでしょうか? 例えば、緑色の部分だけ黒にしたりとかしたいのですが、そういうことはOSの根幹に関わってくる操作でできなくなっていますか? iPhoneとかAndroidのストア探したんですが、その手のソフトはどうも無いみたいで・・・
>>872 緑に塗っているプログラムを黒で塗るように書き換えればいいんだよ。
これだと簡単すぎるので人のアプリに干渉したいという事ならroot。
osが色弱に対するアクセシビリティとして提供してても良さそうだけど、結局アプリが対応してなかったらそれまでじゃない。
>>873 やっぱRoot取らないと他のアプリに干渉するってのは無理なんですね
876 :
685 :2012/12/01(土) 23:55:24.40
>>875 1列目の配列の中から一番個数の少ない値を除外し(複数ある場合はどれでもよい)
その行の2列目の値を一列目に格納します。(2列目の値が除外した値の場合
3列目を読み込む3列目も除外した数字の場合4列目・・・・)これをどれか
一つの数字の個数が全体の過半数に達するまで繰り返すのですがうまくいきません。集計のところです。
どうしたらいいでしょうか?おしえてくださいOTZ
4 3 3
4 2 2
3 2 ⇒3 2
3 1 3 1
3 2 3 2
>>876 その通りにアルゴリズムを組み立てればいい
>>876 これ課題にしては色々と仕様不明だな。
例えば、候補1除外で--->この時点では候補1は消える。
再集計により候補2が除外--->候補1復活のケースがあるが、これはいいの?
880 :
685 :2012/12/02(日) 01:00:49.03
>>878 最小得票数の候補者は除外されて、その候補者への投票は無視して考える。
と書いてあったので、完全に除外していいと思います。
再集計で再び1度目に除外された候補者がでた場合その次に投票した候補者で考えていいと
思います。
881 :
685 :2012/12/02(日) 01:13:44.19
>>877 自分ではそのつもりなんですが、全然うまくいきません。
かなり読みにくいコードになってしまいましたが、できれば
どこらへんがそのとおりになっていないか教えてくれないでしょうか、再集計から
うまくいきませんOTZ
4 2 ←テキスト 集計cansum[1]=2
4 2 cansum[2]=2
3 4 ・ =2
2 1・・・ ・ =3
1 4 zyogai=1 cansum[1]=1
1 4 ・ =3
2 1 ・ =0
. =3
3 4
4 2
なにそれ 無理ゲー
>>880 以下の様に考えていいって事?
candidates=3
votes=5
1 2 3
1 3 2
3 1 2
2 1 3
3 2 1
の場合、1列目の集計で2が最少だから消去。
1 . 3
1 3 .
3 1 .
. 1 3
3 . 1
↓
1 3
1 3
3 1
1 3
3 1
---> 候補1が当選
886 :
685 :2012/12/02(日) 01:55:48.29
>>874 インストールしたアプリに、勝手にオンラインバンクのアプリいじられて振り込まれたりしたら嫌でしょ。
Windows 小田急 Linux 京王 Mac 東急 ですか?
Windows JR
JRはTRONかな
板違い
vxworks 軍事航空宇宙
894 :
685 :2012/12/02(日) 11:51:57.45
>>893 わざわざありがとうございます
ごめんなさい、言うのを忘れていました、言語はC言語のみですOTZ
自分C++はまったくしたことないです。
subTotal[matrix[i]]++;は配列の中に配列をいれている?ということでしょうか??
p1 = p2 = matrix;
for ( i = gyo * retu; i; --i) {
*p1 = *p2;
if (*p2 != mini)
++p1;
++p2;
}
}
--retu;
}が何をしているのかよくわかりません
もう諦めろ
897 :
デフォルトの名無しさん :2012/12/02(日) 13:24:09.81
>>895 ですよねぇww
100行やそこらのコード書くのにどんだけかかってるんだよwwww
馬鹿には無理
Windows、MacOSX、iOS、Androidをターゲットに小さなアプリを作るんですが、どうやって開発しようか迷っています iOSやAndroidは、最終的にはネイティブアプリにして、マーケットでリリースしたいです 言語がC#みたいなプラットフォーム限定言語ではなくJavaとかでも、そのOSのAPIを使う時点で互換性は取れないですよね? ここでいう互換性とは、同一のソースからビルトして、全てのプラットフォームで動作するってことです。 (そもそもiOSは、Javaで書いたものはビルトできないとかはさておき) そうなると、各OSのAPIをラップしたライブラリを持つクロスプラットフォームフレームワークを使うしかないんでしょうか?
mono
>> 899 Adobe AIRを使う
>>900 モバイルの時点で既にiOSとAndroidにわかれてますが平気ですか?
>>901 ありがとうございます
ただ、
Titanium Mobile
Titanium Desktop
と分かれてますのでモバイルとデスクトップだと別ビルトになるんでしょうか・・・
>>899 どーでもいいけど
Linux忘れてない?
どうでもいい
>>908 回答ありがとうございます
ライブラリなんですか・・・
RTMPのクエリーとか発行できるツールだとおもってました
LoLRTMPSClient.java に main( ) があるから、実行はできそう。 >javac LoLRTMPSClient.java >java LoLRTMPSClient で起動できるみたいだけど、 java.io.IOException: Wrong client version for server at LoLRTMPSClient.login(LoLRTMPSClient.java:254) at LoLRTMPSClient.connectAndLogin(LoLRTMPSClient.java:212) at LoLRTMPSClient.main(LoLRTMPSClient.java:65) となる。あとは面倒なので、調べてない。
すいません processingの勉強してるんですが Cで言う LoadDivGraph(画像を分割して読み込む)ってできるんでしょうか? size(640,480) PImage img = loadImage("test.png"); for(int i;i<=8;i++){ img=img.get(0,0,i,32) image(img, 50*(i-1), 0) } nullpoint とかいろいろ出てはじかれるんです 2.0bを使ってます
質問するレベルになってから来てください
ぬるぽぬるぽぬるぽ・・・・ピキ#
>>910 ありがとうございます!!!
ログイン情報とかいじれば動きそうなきがします
ありがとうございました
>>883 そもそも赤黄緑の配色にしてる時点でアウトだが
適度に青を混ぜておくといいよ
VisualStudio2008ですが、自動で次のような関数とかの定型のコメントを挿入する機能ありますか? /*********************************************** * * 関数名: * 作成日: * **********************************************/ 既に関数にコメントヘッダが無い場合はつけず、 付いてない関数には自動で挿入してくれるような機能、アドインです。
>既に関数にコメントヘッダが無い場合はつけず、 >付いてない関数には自動で挿入してくれるような機能、アドインです。 でーりゃー難しいがや。 ・無い場合 →つけず ・付いてない関数 →自動で挿入 どうしろとw
>>883 そもそも色だけで表示するのが間違い
文字も使え
まちがった。。 ・すでにある場合 →つけず ・すでにない場合 →ひな形を挿入 です
ここまム板です 自分で作りましょう または作り方を聞きましょう アドイン探すだけならマ板に逝って
いいえ、まムこ板です
このクラスは、SSL (Secure Sockets Layer) クライアント認証などの 公開キーに基づく認証方式はサポートしていません。
>>923 そういうことでしたか・・・。
SSL認証の場合にVBのフォームからボタンクリックでログインさせる方法はないのでしょうか
925 :
デフォルトの名無しさん :2012/12/04(火) 11:58:04.10
いろんな物を作ってみたくてpythonの本買ってみたんだけどpythonから始めていいですか? その後Cとかに進もうかと思ってるんですが
作る物に対する向き不向き、全くの初心者に対する修得のしやすさの差はあれど あの言語はダメだとかは基本的に無い
>>924 VB+SSLでググって、Top20くらいまでの内容を吟味した上での質問か?
setConnectionInfo(this.server, port, "", "app:/xxxx.xx", null); javaのsetConnectionInfoの引数なんですが 2個目はわかります しかし3,4,5個目の引数はなんなんでしょうか? 教えてください
>>928 そのメソッドが所属するクラス名はなんですか?
>>929 あミスでした
エラー起こしてみたら
別のファイルにありました
java:201: エラー: クラス RTMPSClientのメソッド setConnection
すみませんw
iPadのような、解像度によらないアイコンやGUIを導入してみたいのですが、 Windows環境で、何か取っ掛かりになるようなサイトや本があったら教えて下さい 我流でしこしこやってるのですが、ちょっと不安でして
RTMPのパラメーター送信は
rtmpで example.com:2000で接続して
objectEncoding=0, app=liveHelper, fpad=false, flashVer=MAC 10,3,181,34,
tcUrl=rtmp://localhost/liveHelper, audioCodecs=3191, videoFunction=1,
pageUrl=
http://localhost:5080/demos/publisher.html, path=liveHelper, capabilities=239, swfUrl=
http://localhost:5080/demos/publisher.swf, videoCodecs=252
といったパラメータをを送信するのでしょうか?おしえてください わかりません
RS232c端子を用いたLabViewによるVISAシリアルポート構成についての質問です。 終端文字をCR、またはLFに設定する方法にはたどり着いたのですが CRLFに設定する方法がわかりません。お願いします。
windows sdkのloadimageのソースがみたいんだけど デフォルトではどのディレクトリに入ってるの? それともソースは非公開?
>>935 非公開。ReactOSのLoadImageなら見れるが。
マイクロソフトは相変わらず閉鎖的ですね オープンソースの成果も利用してるくせに
まあMSはLinuxカーネルにも一応コミットはしてるわけだが
>>938 君を含む殆どの人をオープンに出来れば、マイクロソフトを時代遅れの企業として追い込むことが出来るよ。
俺はいつでもスッポンポンさ
>>936 ご紹介ありがとうございます
androidでも、ベクタ形式でやっているわけじゃなくて、いくつかサイズを用意するんですねぇ
943 :
デフォルトの名無しさん :2012/12/05(水) 18:44:52.06
初心者なのですが、tumblrのHTMLでHPを作っています。 記事の表示画面のアイコン(?)をもっと大きくしたいのですが、どうすればいいですか?
>>943 まず板名を読んでみるといいんじゃないかな
946 :
デフォルトの名無しさん :2012/12/05(水) 19:31:52.17
944>> 945>>ありがとうございます、そちらに伺わせてもらいます。
947 :
デフォルトの名無しさん :2012/12/05(水) 22:24:47.17
#include<stdio.h>
#include<time.h>
int main(void)
{
time_t t=100;
printf("%d %d\n", t, t);
return 0;
}
このprintfの出力が100 100ではなく100 0になってしまうのは何故ですか
OSはWin7 64bit 開発環境はVSExpress 2012 fWDです
元のコードは猫でも分かるプログラミングC言語編第13章ですが
そのコードでもtime2の値が0と出力されてしまいます
ttp://www.kumei.ne.jp/c_lang/intro/no_13.htm
time_tが64ビットなんじゃねーの。
そのページだと %ld になってるけど、それでもだめ?
950 :
デフォルトの名無しさん :2012/12/05(水) 22:34:31.69
>>948 なるほど
time_tをlong long intに変えたら同じ症状になったのでこれが原因なんでしょうか
その他の型では正常に100 100と表示されます
>>949 駄目でした
原因を特定する為に上記のコードを書いたのですが…
VCはlongは32ビットだから%ldだと32ビットの出力、64ビット出力なら%lld。
953 :
デフォルトの名無しさん :2012/12/05(水) 22:44:28.70
>>951 ,952
正しく100 100と表示されました
ありがとうございました
しかし何故間違ったコードでは1つ目だけが出力されたのか…
>>953 0 は、1つ目の上位32bits分だろうな。
955 :
デフォルトの名無しさん :2012/12/05(水) 22:48:32.05
stack 壊してるからどっかで segmentation fault
壊れるわけねーだろ。ボケ。
957 :
デフォルトの名無しさん :2012/12/05(水) 22:52:55.90
>>954 なるほど!
試しにとても大きい値を入れて調べてみたら確かにその挙動が見えました
疑問はすべて解けました
改めてありがとうございました
>>957 エンディアンとかからめて理解できたかな?
理解できたのなら、
「1234 5678」
と表示させてみよう。
t にどんな値を設定すればいいのか分かれば、大丈夫。
959 :
デフォルトの名無しさん :2012/12/05(水) 23:08:17.63
>>958 わかります
t=24386824307922ですね
>>957 コンパイル時オプションで、warningが出るようにしておく事を推奨。
>>961 warning出るかな?
>>947 のコードで。
printfって可変長引数だから、printfの行では出ないだろうし…
>>962 手元の環境ではwarningが出る。
> gcc untitled.c
untitled.c: In function ‘main’:
untitled.c:6: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘time_t’
untitled.c:6: warning: format ‘%d’ expects type ‘int’, but argument 3 has type ‘time_t’
> gcc -v
gcc version 4.2.1
> OSはWin7 64bit 開発環境はVSExpress 2012 fWDです って言ってるのにgccなら警告出るとか言い出すバカってなんなの? 死ねばいいのに。
965 :
デフォルトの名無しさん :2012/12/05(水) 23:27:55.58
>>961 ,963
やってみましたがVCではこれに関する警告は出ないようです
ただそれとは関係なく警告は大事なのでこれからは一つ上のLv4で学習を進めようと思います
>>963 ああ、こちらでは
gcc untitled.c
だけだと出なかったけど、
gcc -Wall untitled.c
で出ました。うかつでした。
21世紀のコンパイラは書式指定子文字列まで解析しているのか。。
(ちなみに gcc version 4.7.1 (Debian 4.7.1-2))
>>965 VCだったら、プロフェクトの設定のコンパイルの設定で
警告レベルを設定出来るだろう。
968 :
967 :2012/12/05(水) 23:30:42.98
Longの限界値を超える数値の計算をしたいのですが、どのようにすればいいのでしょうか? ちなみに言語はjavaです。
java.lang.Bignum
>>970-971 ありがとうございます。
そのwikipediaに載ってるソースを参考にしてやってみようと思います
しねしねしねいn
Emacsのcolor-themeとかにあるSubtle hackerってどういう意味? 辞書的な意味は分かるんだけど、なんか由来とかあんの?
975 :
デフォルトの名無しさん :2012/12/08(土) 16:23:25.96
VC++ VisualStudio2008で開発しています。 XMLを使いたいのですが、以前はMSXMLというSDKがあったのですが 今だと何を使うのが一般的でしょうか? できれば、.net framework提供のフレームラーク(XmlDocumentクラスなどのセット)が使えるとよいのですが、 やはり別物になってしまうのでしょうか? どうしてもC#と同じように使いたければC++/CLIでやるのでしょうか?
>>975 CreatFileとReadFileとWriteFile。
あとはポインター操作を駆使すればできるだろ、バカじゃなければ。
ごめん。おもしろくない
Windows 8 ― 初心者にもパワーユーザーにも期待はずれのユーザビリティ
http://www.usability.gr.jp/alertbox/windows-8.html 二重のデスクトップ = 認知オーバーヘッドと増加する記憶負荷
ウィンドウが複数ないこと = 複雑なタスクに対する記憶の過負荷
フラットなスタイルは発見しやすさを損なう
低い情報密度
逆効果に出た、ライブすぎるタイル
チャームは見えない汎用コマンド
エラーを起こしやすいジェスチャー
Windows 8のUX: タブレットでは貧弱だが、PCでは悲惨
Microsoftが嫌いなわけではない
賢明な諸君は9が出るまで待とう
JavaでCUIのプログラムを書いています。 表示画面がずれないように文字数を数えて表示させています。 全角文字を2文字と数えたいのですが、stringのlength()では1文字 と数えてしまいます。 アスキーを1文字、全角文字を2文字と数えてくれるメソッドはありませんか? 環境の詳細は以下の通りです。CenOS6.3付属のJavaです。 $ java -version java version "1.6.0_24" OpenJDK Runtime Environment (IcedTea6 1.11.5) (rhel-1.50.1.11.5.el6_3-x86_64) OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
>>978 もうMacでいいよ。iphoneだし。
>>979 それは使っている端末のフォント次第だろ。
>>979 1文字ずつコードポイント取得して数え上げるだけだろ。どこが難しいのか全然わからん。
>>980 良く知らないじゃなくて、全然知らないだろ。
少しでも知っていれば↓のようなタワゴトをほざくわけがない。
http://toro.2ch.net/test/read.cgi/tech/1316592884/271 From: [271] デフォルトの名無しさん <sage>
Date: 2012/09/07(金) 18:58:22.87
>>270 java の場合、
>root = Tree.insertTree( root, num );
これはサイテーとしかいいようがない。
木への挿入がおこなわれるたびに、ノード挿入位置からルートにむかって延々と代入が繰り返される。
それも代入前と後で値がかわらないにもかかわらず代入が発生するなんて、まともな書き方じゃない。
java はバイナリーツリーに関してはまともな書き方
>void insertTree( TTree *&node, int val )
>TTree *root;
>insertTree( root, num );
ができない言語。
バカにはムリw
ああ、サロゲートペアも判定しなきゃならないな。それでもそれほどの手間じゃない。
985 :
979 :2012/12/08(土) 20:01:10.15
>>980 ありがとうございます。
サンプルでは全角文字だったら〜というコードになってたのですが、
安易に、C言語でいうところの、isascii(c)!=0だったら長さ1, それ以外
なら長さ2で数えれば良い気がして自作してます。
しかしJavaには isascii()が無いのですか…、わざわざパターンマッチ
するのもばからしいし。
>>984 どこかでよみましたが、海栗コードがさらに拡張されたそうですねぇ。
めんどい。めんどい。
まぁ、今回はレポートだしどうでもいいです。
あ
C++とWin64APIを使って作ったプログラムを Windows7のようなタッチ操作をサポートしたPCで タッチ操作できるようにしたいです。 どういうライブラリをインクルードすれば良いでしょうか? XAMLとかはなしで。
そのまま動かしゃいいじゃないか
990 :
988 :2012/12/08(土) 23:04:39.84
>>989 え?
例えば、ボタンコントロールをタッチしたらウィンドウメッセージでWM_COMMANDが送信されるんでしょうか?
だったら何もしないでも動かせますね!
問題あるならその時質問しろ
バカにはムリw
HDDが壊れてwmvファイルが壊れたのですが 途中の数分しか壊れてないのでどうにかしたいのですが 右クリックでコピーしようとしてもファイルが壊れているのでできません的な状態で cmdでrecoverってのをやってみようとしたのですがそれも壊れててできなくて Adobeの動画編集ソフトで分割しようと思ったのですが読み込みの時点でできないのですが どうすれば良いですか?
すいませんrecoverできました リカバーするドライブのフォルダを開いたせいでできてませんでした
>>985 ないと分かってるなら自分で作れゴミカス野郎が
>>992 少しだけヒントをやろう。
1 世界中でたくさんのプログラマがJavaを使用している。
2 バイナリツリーはプログラミングの基本的データ構造である。
3 それを効率的に記述できない欠陥言語だと騒ぎ立てているのは、極東の
場末の掲示板に巣食っているQzとかいうクズ一人。世界中で一人だけだ。
これから結論できることは、お前がJavaを知らないクズであるという事。
Javaでバイナリツリーを記述するのは簡単な事。お前ができないだけ。
うめ
1000 :
デフォルトの名無しさん :2012/12/09(日) 09:12:37.15
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。