スレを勃てるまでもないC/C++の質問はここで 16

このエントリーをはてなブックマークに追加
952デフォルトの名無しさん:2010/09/20(月) 21:35:13
>>948
具体的にどうすればいいのか教えてください
953デフォルトの名無しさん:2010/09/20(月) 21:38:46
>>951
xの方は動かせるがyは固定

int (*num)[10] = new int [x][10]; みたいに

それかポインタのポインタとして擬似的に二次元配列を表現するしか無理
954デフォルトの名無しさん:2010/09/20(月) 21:41:36
class Cul{

public :
int *num;

Cul( int x,int y ){

num = new int[x * y];

}

}

としてアクセスは
num[i][j]に相当するのがnum[i * y + j]
でごまかすのが無難かなぁ


955デフォルトの名無しさん:2010/09/20(月) 21:41:49
>>953
なるほど……
できれば両方指定したかったのですが、とりあえず多めにサイズをとることで対処したいと思います
ありがとうございました

956デフォルトの名無しさん:2010/09/20(月) 21:42:00
class Cul
{
public:
  Cul( int x, int y )
  {
    num = new int*[ x ];
    for( int i = 0; i < x; ++ i )
    {
      num[ i ] = new int[ y ];
    }
  }
  int** num;
};
957デフォルトの名無しさん:2010/09/20(月) 21:44:05
>>954
おお!

num[get_num( i , j )]

get_num(int i, int j ){
return i * y + j;
}

みたいな感じにしようと思います。
ありがとうございました
958デフォルトの名無しさん:2010/09/20(月) 21:45:54
num.get(x, y)ってできるようにしろよ
959デフォルトの名無しさん:2010/09/20(月) 21:45:54
>>956
ああ、そうやればいいんですね

みなさんありがとうございました!
960デフォルトの名無しさん:2010/09/20(月) 21:49:49
もう一種類あるよな
961デフォルトの名無しさん:2010/09/20(月) 21:51:16
ソース書く前に送ちゃったごめんなさい
962デフォルトの名無しさん:2010/09/20(月) 22:07:10
なんでvectorを使わないの?

vector<vector<int> > num(x, vector<int>(y));
963デフォルトの名無しさん:2010/09/20(月) 22:13:19
ぱっと見にくいからだろう
自分でテンプレート化して作ってもいんじゃね?
Array2D<int> intArray(30,20);
みたいな
964デフォルトの名無しさん:2010/09/21(火) 02:53:11
いままでconstたくさん使ってたんだけど、
よくわからない状況になってconst全部削除して解決した

constは他人が触れる表面上の部分だけに使うものだと思う
965デフォルトの名無しさん:2010/09/21(火) 03:29:44
>>964
お前C++0xに行って苦労するよきっと
966デフォルトの名無しさん:2010/09/21(火) 03:37:10
は?
967デフォルトの名無しさん:2010/09/21(火) 03:40:47
もうC++0x行っちゃってますが?
968デフォルトの名無しさん:2010/09/21(火) 03:44:26
つまり・・・どういうことだってばよ
969デフォルトの名無しさん:2010/09/21(火) 03:54:41
よくわからないダイイングメッセージだな
970デフォルトの名無しさん:2010/09/21(火) 06:32:51
プログラミングについてお聞きしたいことがあります
宿題ではないのでこちらで聞きたいのですが、
宿題スレのアップローダーはこちらでも使っても良いのでしょうか?
よろしくお願いします
971970:2010/09/21(火) 07:00:42
申し訳ありません、訂正させてください
こちらのスレでコードパットを使って質問するのはダメなのでしょうか
よろしくお願いします
972デフォルトの名無しさん:2010/09/21(火) 07:08:13
いいとおもうよ
973デフォルトの名無しさん:2010/09/21(火) 07:11:29
>>971
別に構いませんが。つーか、Codepadをなんだと思っているんだか。
974デフォルトの名無しさん:2010/09/21(火) 07:55:49
ありがとうございます

http://codepad.org/SoL0o3uc
の27行目がわかりません
「error C2440: '=' : 'const GKTimeDuration' から 'int' に変換できません」と出ました
const_castを使うのかな?と思いましたがどうすればよいかわかりません

http://codepad.org/pYLWB08b
がGKClientProperty.hです

初心者なので質問の仕方もおかしいかもしれませんが
よろしくお願いします
975デフォルトの名無しさん:2010/09/21(火) 08:02:06
そりゃあ、どう見てもintにGKTimeDurationを代入しようとしているから駄目なんだと思うが……

GKTimeDurationがどんな型なのかこっちで分からんから、そのヘッダーもよろしく
976デフォルトの名無しさん:2010/09/21(火) 08:17:46
これ卒研かなんかだろ?
977デフォルトの名無しさん:2010/09/21(火) 08:45:13
>>975
遅くなってしまい大変申し訳ありません
http://codepad.org/gbnTFw8C
がGKTimeDurationです

>>976
卒論ではないですが、理解を深めるために
先輩がCで書いたものをC++で書き直せと言われました
ソフトの方がC++で書かれていて、GKClientProperty.hなどはソフトに入っているものです
プログラミング苦手なのですがそーゆー班に割り振られてしまって困ってます
978デフォルトの名無しさん:2010/09/21(火) 08:52:52
1から作り直したほうが早いと思う
979デフォルトの名無しさん:2010/09/21(火) 08:57:02
>>978
見てくださってありがとうございます
どーゆーことでしょうか?
980デフォルトの名無しさん:2010/09/21(火) 09:12:56
ひらがなを文字コードに変換する方法を教えてください。
981デフォルトの名無しさん:2010/09/21(火) 10:12:17
#include <stdio.h>
#include <string.h>

int main(int ac, char **av)
{
  union {
    char hiragana[4];
    int code;
  } ch;
  strcpy(ch.hiragana, "あ");
  printf("%c\n", ch.hiragana);
  printf("%02x %02x\n", ch.code & 0x00FF, ch.code >> 8 & 0x00FF);
  return 0;
}
982デフォルトの名無しさん:2010/09/21(火) 10:21:04
また突っ込み所満載のネタを・・・
983デフォルトの名無しさん:2010/09/21(火) 10:31:58
怖いよぉ
984デフォルトの名無しさん:2010/09/21(火) 11:05:53
  printf("%02x %02x\n", ch.code & 0x00FF, ch.code >> 8 & 0x00FF);

こんなことするなら int と union する意味が無い
エンディアン違う環境行ったらどうするつもりなんだ
985デフォルトの名無しさん:2010/09/21(火) 11:08:07

  ? &n ? ,オォウヲォ
 l~~~~~~~l
(C++) & (C++)     , i[N] == ??? ,
  /   \√  ~~~~~~~~~~~~~~~~~~~~~~~~
MmMmMmMmMmMmMmM
986デフォルトの名無しさん:2010/09/21(火) 11:10:08
みんな、スルー力を試されてるんだ。
987デフォルトの名無しさん:2010/09/21(火) 11:25:37
>>979
遣りたいことを先ず整理すること。
CのコードをC++に1vs.1に修正するのか0から書き直すのか最初の方針を決めること。
1vs.1に修正するなら先ずは動くことを最優先に、一つずつ修正する。
どんな話の流れでGKTimeDuration型を使うことになったのかがよく判らんが、
それを使うのなら1vs.1に修正するのは諦めた方がいい。
988デフォルトの名無しさん:2010/09/21(火) 11:50:37
今からやるならCかC++どちらがいいですか?
知識はC#,Actionscript,javascriptです
やりたい用途はDLL作成です
989デフォルトの名無しさん:2010/09/21(火) 11:57:57
C
990デフォルトの名無しさん:2010/09/21(火) 12:20:32
C++
991デフォルトの名無しさん:2010/09/21(火) 12:25:15
じーっ えー?
992デフォルトの名無しさん:2010/09/21(火) 12:28:03
C99
993デフォルトの名無しさん:2010/09/21(火) 12:28:50
>>988
どんな仕様のdllを作りたいかによる。
それによって自ずとCかC++のどちらかが決定される
994デフォルトの名無しさん:2010/09/21(火) 12:32:08
>>993
ありがとうございます
用途は秀丸エディタのマクロから利用するdllと変換モジュールの作成です
995デフォルトの名無しさん:2010/09/21(火) 12:41:10
C#でもええが
996デフォルトの名無しさん:2010/09/21(火) 12:48:35

  !? &n ? ,オォウヲォ
 l~~~~~~~l
(C++) & (C++)
  /   \
MmMmMmMmMmMmMmM
997デフォルトの名無しさん:2010/09/21(火) 13:18:34
木毎
998デフォルトの名無しさん:2010/09/21(火) 13:58:23
>>995
C#でDLL作ったのですが呼び出せなかったんです
999デフォルトの名無しさん:2010/09/21(火) 13:59:53
>>998
おまえ前も秀丸のプラグインをC#でつくって呼び出せないとかさわいでたろw
1000デフォルトの名無しさん:2010/09/21(火) 14:28:59
次スレ無しやんな

胸がアツウなるな
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。