nakashi の回答履歴

全52件中1~20件表示
  • 文字列を配列化する方法を教えてください!

    1列の文字列を配列化する方法を教えてください。 メモリの確保らしいのですが、参考になるソースが拝見できれば嬉しく・・・main から参照したいです。 char Text[] = "AAAA\nBBBB\nCCCCCCCC\nDDD\n";  ↓ char str[0] = "AAAA";    str[1] = "BBBB";    str[2] = "CCCCCCCCC";    str[3] = "DDD"; どうやったらいいのか全くイメージがわかないので、 よろしく御願いします!

  • アルファベットをカウント、

    文章の中のアルファベットの種類の出現頻度 をカウントするプログラムをつくっているのですが、 わかりません。 まずcpというポインタで動的メモリを確保し そこの中に文章の全文字を格納するところまで はできました。そして、cpを ループカウンタで回して aならa、bならbの数のカウントがしたいのですが、 そこの部分がよくわかりません。 まずchar kind_character[26]; とかにして、aからzまでを格納して 比べたいのです。問題はどうやって aからz、AからZを格納するのか わからないのです。 char kind_character[26]と比較して、 aからAならint number_of_A_to_Z[26]の0番目 の配列に数字を格納したいのです。 またaとAというのは、別に扱われるのでしょうか_ そして、あとはprintfでどうにか表示しようかと思っているのですが、、、 お願いします。

  • 教えてください。VBでのバイナリデータ。

    EUCコードで作成されたlndatファイルをオープンし、 コード変換するプログラムを作っています。 データの所得時にHexを使っているのですが、 所得データが 000000000000000000220801011200012000 となっています。 元データは 000000000000000000000000000000000000220080010001012000000120000000000000 なため、この様に所得したいのですが、上手く所得できません。 こういったデータの所得は可能なのでしょうか? また、自分の作成したソース自体にバグがあるのでしょうか? よろしかったら教えてください。 >>以下ソース Dim Data As Byte     '所得データ(1バイトごと) Dim Data_A As Variant 'ファイルから所得したデータ(ALL) Dim I As Long 'カウンター Dim File_Name As String 'ファイル名 Dim Filnm As Long 'ファイル番号 I = 1 Data_A = "" Filnm = FreeFile File_Name = "AA.lndat" Open App.Path & File_Name For Binary As #Filnm Do While EOF(Filnm) = False Get #Filnm, I, Data Data_A = Data_A & Hex(Data) I = I + 1 Loop Close #Filnm >>開発環境 VB5.0(SP3) Win2000 フリーのDLL等は使用不可能とお考え下さい。

  • String型をbyte型へ

    MACアドレス(16進数) 00:00:00:00:00:01 これが引数で指定される。 String str = args[0]; というものがありまして(String型)、 そのコロン:で分けられた数字部分のみをバイト配列に格納したいのですが、そのうまい方法がわかりません。お助けください。 byte mac_addr[0] = Byte.parseByte("0x".concat(str.substring(0,1))); なんて事もしてみましたが、NumberForamtExceptionが 表示されます。(コンパイルは出来る。) うむ、分からない。どこが悪いのだろう??? 以上

    • ベストアンサー
    • oid7023
    • Java
    • 回答数6
  • String型をbyte型へ

    MACアドレス(16進数) 00:00:00:00:00:01 これが引数で指定される。 String str = args[0]; というものがありまして(String型)、 そのコロン:で分けられた数字部分のみをバイト配列に格納したいのですが、そのうまい方法がわかりません。お助けください。 byte mac_addr[0] = Byte.parseByte("0x".concat(str.substring(0,1))); なんて事もしてみましたが、NumberForamtExceptionが 表示されます。(コンパイルは出来る。) うむ、分からない。どこが悪いのだろう??? 以上

    • ベストアンサー
    • oid7023
    • Java
    • 回答数6
  • 模範解答を・・・

    C++ の問題で、 任意の人数分の通し番号、名前、電話番号、メアドなど(自分の携帯電話の電話帳と同じ項目)を入力した後で、名前を入力するとその人の電話番号、メアドなどの全ての項目を表示するプログラムを作成しなさい。 ※構造体ではなく、クラスを使用すること。 追加課題 名前以外の項目でも検索できるようにしなさい。 という問題があるのですが、さっぱりです。 どなたか模範解答をお願いします。

  • ★jpcapAPIでのMACアドレスの取り扱いについて★

    はじめまして。 現在jpcapというフレーム送受信用のフリーのAPIを使用して自作フレームを送信するプログラムを作成中です。 そこで困ったことがありまして、 EthernetPacketクラスのフィールドに public byte[] dst_mac ・・・送信先MACアドレス public byte[] src_mac ・・・送信元MACアドレス というMACアドレスを格納する変数があります。 MACアドレスは普通 00:01:00:08:00:0A のように4ビットずつを16進数にして8byteずつコロンで 区切る表示されますので、 dst_mac = "00010008000A".getBytes(); としてEthernetPacketクラスの送信先MACアドレス文字列を返しますメソッドである java.lang.String getDestinationAddress() を使用して表示させるとなんだかおかしな文字列が 表示されます。 byteについてまだ分からないことが沢山あり、 皆さんのご指導の程よろしくお願いいたします。 続きでそのEthernetPacketクラスのソースコード抜粋を 致します。 以上

    • ベストアンサー
    • oid7023
    • Java
    • 回答数1
  • HashMap.putについて

    ご質問させて頂きます。 hashMap.putの使い方が良く分かりません。 例えば、以下のようなkudamono.csvファイルがあるとします。 ------------------- A,2003/01/01,スイカ B,2003/02/01,バナナ C,2003/03/01,メロン D,2003/04/01,イチゴ ------------------- このデータをhashMap.putでセットしたいので 以下のようなクラスにしたんですが コンパイルエラーが出てしまいます。 ------------------- /*HashMap生成(クラス変数)*/ public static HashMap hashMap = new HashMap(); public static void main(String args[]) throws Exception { FileReader filereader = new FileReader("kudamono.csv"); BufferedReader bufferedreader = new BufferedReader(filereader); String line; int i = 1; int j = 0; while((line = bufferedreader.readLine()) != null) { System.out.println("Start line at " + i); StringTokenizer stringTokenizerTest = new StringTokenizer(line, ","); while(stringTokenizerTest.hasMoreTokens()) { HashMap.put(stringTokenizerTest.nextToken().toString()); j++; } i++; } filereader.close(); } } --------------- たぶんHashMap.putをする前に キーをセットしたり変数を宣言したりすると思うのですが その辺が良く分かりません。 ご教授して頂けたら幸いです。

    • ベストアンサー
    • niiza
    • Java
    • 回答数7
  • for分の最後の引数のみの変更プログラム

    現在、for分の使い方について良いアイディアがありません。 やりたい事は、変数iが0以下のときは、forの最後のカウンタを"a++"を行い、0より上の場合は、"a--"の処理を行いたいのです。 もし、よいプログラミング方法がありましたら、ご教授よろしくお願いします。 以下に、プログラムを記述します。 if( i<= 0){ for(a=0;a<120 a++) //a++処理 {   処理(20ステップくらい)  } else{ for(a=0;a<120 a--) //a--処理 { 処理(20ステップくらい) }

  • char型ポインタ

    よくプログラムで charポインタだけ指定して、 #include<stdio.h> int main(){ char* p; p = "abcdef"; printf("%s",p); return 0; } のようにしているのをみかけますが、 メモリーを確保していなくても問題ないのでしょうか? char* p; p = (char*)malloc(7); strcpy(p,"abcdef"); としたのと同じでしょうか?

  • 8人の女王

    8人の女王とは 8人のクイーンを8×8のチェス盤に配置し、そのどれもが互いに行き違わないようにする置き方を求めるというものです。クイーンは縦横斜め、全ての方向に移動することができます。 置き方は、   board[]={x0,x1, … , xi, … , x7} と表現します。一番左上のマスを(0,0)とすれば、各駒の座標は(i,xi(つまりboard[i]))であらわせるわけです。 自分なりに行き違う条件を求めてみました。 縦横方向を考えれば i==j board[i]==board[j] 斜め方向を考えれば i+board[i]==j+board[j] i-board[i]==j-board[j] ただこれらを考えた上でプログラムするとなるとどうすればいいかさっぱり皆目検討もつきません^^; 再帰的にやるというのもわかるのですがやはりどう書けばいいか・・・ 教えてくださる方よろしくおねがいします

  • ファイルは既に開かれています(Error55)について

    ある任意のパスにあるファイルの全てをある任意のパスへコピーする といったプログラムを作成しております。 ユーザーさんの環境で実行すると途中で実行時エラー:55ファイルは 既に開かれていますが発生してしまいます。 開発環境ではこのエラーの再現性が無く困っております。 (ちなみにユーザーさんのOSはNT4.0です) 中のプログラムはDo While・・・Loopでファイルがある間FileCopy ステートメントを実行しているのみです。 ファイルを開いてるわけでもありません。 こういったエラーに遭遇したことのあるという方、いらっしゃいましたら アドバイス宜しくお願い致します。 m(__)m

  • メモリ上に配置されていないバイト配列を代入

    memcpyでメモリ上に配置されていないバイト配列を代入する方法を教えて下さい。 #include<iostream.h> int main() { char str[3]; memcpy(str,"aa",3); printf("%s",str); return 0; } これは分かるんですが、バイト配列では"aa"のところに何を書けばいいんですか? memcpy(str, (char *){0x61,0x61,0x0}, 3);ではコンパイルできませんでした。 str[0]=0x61;のように1つずつなら代入できるんですが、配列ごとの方法が分かりません。

  • γ関数のプログラム(初心者です)

    以下のようにγ関数のプログラムを組みました。 とりあえず整数値を入力すれば、正しい値は返しているということがprintfの4で確認できました。 もとはfortranで組んだプログラムをCに置き換えました。 ですが、実際走らせてみると、4で値は確認できますがsegmentation faultが出てしまいます。 ですからサブルーチンファイル(ユーザー関数?)として利用できません。 何がいけないのでしょうか? 正しくyが帰ってくるようにどうなおしたらよいのか教えてください。 #include <stdio.h> #include <math.h> double gamma(double x) { double c[8],y,a,r,b,s; int i; a=1.; r=1.; c[1]=5.771916e-01; c[2]=9.882058e-01; c[3]=8.970569e-01; c[4]=9.182068e-01; c[5]=7.567040e-01; c[6]=4.821993e-01; c[7]=1.935278e-01; c[8]=3.586834e-02; printf("0 %f\n",x); while(1){ if(x>2.){ x=x-1.; a=a*x; printf("1 %f %f\n",x,a); } else if(x<1.){ a=a/x; x=x+1.; printf("2 %f %f\n",x,a); } else{ break; } } x=x-1.; for(i=1;i<8;i++){ b=(double)(i); s=(c[i]*((double)(pow(-1,b))) *((double)(pow(x,b)))); printf("3 %d %f\n",i,c[i]); r=r+s; } y=a*(r+(0.03586834*((double)(pow(-1,8)))*((double)(pow(x,8))))); printf("4 %f\n",y); return y; } main() { double x,y; printf("数字を入力してください。"); scanf("%lf",&x); printf("メインプログラム %lf\n",x); y=gamma(x); printf("%f\n",y); }

  • HWNDへの変換

    度々すみません。 またしても型変換で困っています。 CStringの値をHWNDに変換するには どのようにすれば良いのでしょうか? 早く自分で解決できるようになりたいのですが、 他の問題もあったりしてなかなか…(爆)。 よろしくお願いします。

  • 関数の呼び出し

    同じDLL内にある関数から関数を呼ぶにはどうしたら 良いのでしょうか?

  • 型変換について

    すみません、初歩的な質問だと思いますが、 よろしくお願いします。 LPSTR aaa = "test"; と現在なっているのですが、 "test"の後ろにm_hWndの値を入れたいのです。 そのため、 LPSTR aaa = "test" + (LPSTR)m_hWnd; のように記入したのですが、 (当たり前ですが)エラーになってしまいます。 エラーの内容は、 「error C2110: ポインタにポインタを加えようとしました。」 というものです。 エラーになってしまうのは分かっているのですが、 この解決方法が分かりません(初歩的だとは思うのですが…)。 伝わりにくい文章で恐縮ですが、 どなたかお分かりになる方(型?:笑)、よろしくお願いします。

  • VBのフォームモジュールと標準モジュールの使い分け

    VBのフォームモジュールと標準モジュールの使い分けが今一つわかっていません。 フォームモジュールとは、フォーム(画面)上で起こったイベント(例えば、ボタンをクリックした時とか、ユーザーが行を選択したりだとか)の処理を、記述するところと解釈しています。 標準モジュールは、フォームが2つ以上あって、その2つが共通する処理(関数)などを、記述したり、フォームが1つでも、同じ処理を繰り返す場合、その処理を標準モジュールに書いたり・・・・という解釈をしています。 あってますでしょうか? フォームが一つしかない場合、もしくは2つあっても、あまり共通する処理がない場合、なんかは標準モジュールはあまり使わないのでしょうか? それとも、フォームが1つとかでも、今後のメンテの事など考慮して、標準モジュールを作ってそこにグローバル変数なんかで処理を書いた方がよいのでしょうか? どなたか、教えてくださいませんか? いろいろBBSなどで見てみるんですが、いろいろ書いてあって、どれが理想か わかりません。よろしくお願いいたします。

  • WinInet.dll の使い方

    サーバーにおいてあるファイルを直接操作したく、ftpOpenFile, InternetReadFile, InternetWriteFile, InternetCloseHandle を宣言したまではいいのですが使い方がいまいちわかりません。 わかる方教えてください。お願いします。

  • MSFlexGrid で削除したいのに、、

    こんばんわ。 アルバイトでプログラムを書いていたのですが、MSFlexGrid で削除がうまく行きません。 通常の行では、RemoveItem を呼んで削除できるのですが、いよいよ最後の1行になるとエラーになります。 Error 30015 : 固定されていない最後の行は削除できません。 じゃ、固定すればいいのかと思って固定すると、 Error 30000 : 固定行で RemoveItem を実行できません。 となりました。 プログラム的に、全部の行を一度消したいと思っているのにこんなエラーで参っています。どうしたらいいのでしょうか。 固定行は消せないのはわかりますが、非固定行が消せないのはどうしてでしょう。