• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ベクターについて)

ベクターのベクター管理方法と要素の削除サンプル

このQ&Aのポイント
  • ベクターのベクターの管理方法や要素の削除サンプルについて詳しく教えてください。
  • シューティングゲームにおけるベクターのベクターの使い方や要素の削除方法について教えてください。
  • C++でのベクターのベクターの宣言や要素の操作について教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

できました。下記URL参照。

参考URL:
http://cid-07c558f8e11e708f.skydrive.live.com/self.aspx/WillBeRemovedSoon/vector_of_vector.cpp
cnyumonsha
質問者

お礼

わざわざ書いていただきありがとうございました!! 参考になりました! これで、効率化できると思います。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • koko_u_
  • ベストアンサー率18% (459/2509)
回答No.1

あなたのお好みで「代入」や「表示」をするメンバ関数を追加すればよろしいかと。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • プログラム終了時にエラーが発生する

    現在作成中のプログラムは終了する時にアクセス違反が発生しましたと 表示されます。 以前はこの様なことはなかったのですが構造体に変数を追加した直後に起こるようになりました。 typedef struct _A{ int x,y; int cost; vector<int> To; vector<int> E_cost; }A_t; typedef struct _B{ double x,y; int sex; char Name[20]; vector<int> root; vector<A_t> Map; //このMapという変数を追加するとエラーがでる。 }B_t; この変数を消すとエラーが出ることはありません。 まだこの変数は追加しただけで使っていません。終了時にのみ発生します。

  • ベクターの初歩について

    ベクターについて勉強し始めた所です。ベクターについて解らない事があるので教えて下さい。 今ベクターに10個数字を登録します。 後で3か5があれば取り除きます。 #include <vector> #include <iostream> int main(){   using namespace std;   vector<int> array1;   for( int i = 0; i < 10; ++i )     array1.push_back( i );   vector<int>::iterator it;   for(it = array1.begin(); it != array1.end(); ){     if(*it == 3 || *it==5)       it = array1.erase(it);     else       ++it;   }   for( it = array1.begin(); it != array1.end(); ++it )     cout << *it << endl;   return 0; } 一応出来たんですが、これが構造体だったらどうしたらいいのでしょう? typedef struct{   int x,y; }xy_t; vector<xy_t> array1; だとして、最初にx,yのそれぞれ10個に適当な値を入れておき、xが3か5ならそれを削除するにはどうしたらいいのでしょうか。 また、一つずつ削除する方法と、remove関数で出来そうな気がするので、もし一括で出来る方法があればそちらも2種類お願いします。 (構造体を用いたベクターの使い方が書いてある参考サイトでも結構です) XP Pro VS2005Pro よろしくお願いします。

  • ベクトルの問題です 67

    次の直線の方程式を媒介変数tを用いてあらわせ。 (1)p0(4.3)をとおり、方向べくとる(-1,3) (2)P1(-4,-1) P2(6.4) (3)点(-1,3)を通り、直線y=2x-4に垂直。 ⇔(1)は (x,y)=(4.3)t(-1,3)となりました。 x=x1+tl y=y1+tm の公式よりそのまま書きました。 (2)はP1P2 =t(l.m)と学んだので、 p2-p1をして、t(10.5)より x=-4+10t、y=-1+5tとしました。 しかしこの問題のこたえは x=-4+2t、y=-1+tとなってました。 t(10.5)と求まった時に、5t(2,1)として、2.1だけ抜き出したのでしょうか?またそうしても問題ないのでしょうか??理由はどうしてですか?? (3) 点(-1,3)を通るというので x=-1+。。。 y=3+。。。と式がなるのは解るのですが、どのようにしたらよいのかわかりませんでした。理由は、y=2x-4という形ですのでわかりませんでした。 y=2x-4をどのようにしたら、媒介変数表示に変えられるのでしょうか? 今までは、P1、P2と座標が決められていて、 P2-P1で式が求まって、t(l。m)が求まり この式と、例えば今の問題(3)のー1,3を通る式をつくるとしたら、 x=-1+l y=3+mと成っていたのですが 今回はy=2x-4という式なのでわかりませんでした。 また、垂直というところの意味は多分 y=2x-4をもし変形できたら、 たぶんa・b=0というベクトルの垂直関係を使うと考えましたけど。。アイディアが浮かばず、垂直関係まで持っていく事ができませんでした。 だれか教えてください、宜しくお願いします>_<

  • 【数学B】直線のベクトル方程式のtの消去について

    教科書には 点Oを座標の原点と考えて、定点Aの座標を( x1, y1),直線g上の任意の点Pの座標を( x, y )とし、→d=( l, m )とすると →a = ( x1, y1), →p = ( x, y ) であるから、直線gのベクトル方程式は、次の形になる ( x, y ) = ( x1, y1) + t( l, m ) = ( x1 + lt , y1 + mt ) すなわち {x = x1 + lt {y = y1 + mt ここで、媒介変数であるtを消去すると、 点( x1, y1)を通り、→d=( l, m )が方向ベクトルである直線の方程式は m( x - x1) - l( y - y1) = 0 このように記載されているのですが、 媒介変数tをどのような手順で消去したら” m( x - x1) - l( y - y1) = 0 ”に辿り着くのかが分かりません。 どなたか、tの消去から” m( x - x1) - l( y - y1) = 0 ”までの計算の手順を教えて頂けないでしょうか?

  • 点(-2 1 3)を通り、方向ベクトルが(1 2 -2)である直線を求めよ

    ベクトル(1,2,-2)と平行で点(-2,1,3)を通る直線と考え、 点(-2,1,3)をA、ベクトル(1,2,-2)をuとすると、 求める直線の上に動点P(x,y,z)をとると、ベクトルAP//ベクトルu となるので、 ベクトルAP=tu です。 (ベクトルの平行条件) ところで、ベクトルAP=(x+2,y-1,z-3) なので (x+2,y-1,z-3)=(t,2t,-2t) となり、 x+2=t y-1=2t z-3=-2t となります。 これをt=の式にしてつなげると、 x+2=(y-1)/2=(z-3)/-2 となります。もちろんこれで正解なんですが、長さの大小はないので、 t(x+2 y-1 z-3)=(1 2 -2)でもいいはずです。ただ、答えが変わってしまいます。

  • ベクトル関数

    ベクトル関数について質問させて頂きます。 添付画像における、Gはベクトル関数を表します。 ベクトル成分で表した場合、 Gx(x,y,z),Gy(x,y,z),Gz(x,y,z) となりますが、この成分の意味がいまひとつ理解できません。 Gx(x,y,z)はスカラー(関数)という認識ですが正しいでしょうか? 3次元で、Gx(x,y,z)におけるGxとはベクトル関数Gのx成分を表し、 Gx(x,y,z)の(x,y,z)はスカラー関数Gxにおける変数を表すと いう認識で良いでしょうか? ベクトル関数Gのx成分をGxが表していて、そのGxが(x,y,z)の変数 で表されることがよくわかりません・・・ xを表すGxがなぜ、x,y,zの変数で表されるのでしょうか? 基底ベクトルで表す場合は、 G=Gxex+Gyey+Gzezとなりますが、 G=Gx(x,y,z)ex+Gy(x,y,z)ey+Gz(x,y,z)ez を省略して表しているという認識で良いでしょうか? 添付画像のベクトル関数の簡単な具体例も示して頂けると ありがたいです。 webで調べたのですがなかなか理解できる例がありません でした・・・ 以上、申し訳ありませんがご回答よろしくお願い致します。

  • ベクトル 不等式の証明

    (1)2x・y≦|x|^2+|y|^2 (全部ベクトルです)を証明せよ。 (2)aを定ベクトルとし、|x|^2+a・x≦1に属する任意のベクトルxとyと任意の実数t(0≦t≦1)に対して、ベクトルtx+(1-t)yは|x|^2+a・x≦1に属することを証明せよ。 この問題に取り組んでいます。 (1)|x-y|^2≧0に持っていって証明してはだめでしょうか? |x||y|とxyを同じものとしてはやはりダメかなと思ったのですが・・・。 (2)なのですが、問題がうまく理解できません。その集合に属するということを示すということはどういうことなのでしょうか?何か考える上でのアドバイスをいただければ幸いです。 回答よろしくお願いします

  • ベクトルの問題

    ベクトルr=ai+yj+zkが次式を満たすnとmを求めよ。 (1)∇^2*r^n=0 ここでのrはスカラー量です。 (2)∇・(r^m*rベクトル)=0 この問題について教えてください。 (1)ではr=(x^2+y^2+z^2)^.5とし、式に代入して整理すると次の式が求まりました。 ただしA=(x^2+y^2+z^2)とする。 (n^2+5n)A^(n/2-1)=0・・・(1) これより、n=-5,0となったのですけど合っていますか? (2)も同様に計算していくと A^(m/2)*(3m+3)=0 となって、m=-3となったのですが合っていますか? 両方とも全く自信がないのでご指導お願いします。

  • ベクトルに関する問題なのですが、お願いします。

    ただいま、問題集をやっているのですが、昨日わからない問題がありましたので投稿してみました。とくに(3)と(4)がわからなかったのでお願いします。 ある物体の時刻tにおける位置ベクトルr(t)のX成分X(t)、Y成分Y(t)が X(t)=4t²-2t+6    Y(t)=5t-8 の場合、以下の問いに答えなさい。 (1)時刻tでの速度ベクトルvの成分vx、vyを求めよ。 (2)時刻tでの加速度ベクトルaの成分ax、ayを求めよ。 (3)この物体はX(t)、Y(t)、それぞれの方向についてどのような運動をしているかを求めよ。 (4)それぞれの方向のt=0での位置と速度はいくらか求めよ。

  • 固有ベクトル求め方

    3×3行列 A= [ 7 2 2 ] [-6 -1 -6 ] [ 2 2 7 ] を対角化できるかどうか判定しなさい。 対角化できれば、対角化する行列P を1つ求めて、実際にP^(-1)AP を計算して対角化して下さい。 という問題の解法について、いまいちわからないことがあるので、質問します。 解法 まず固有値を求めます。 固有多項式は、Ψ(λ)=(λ-3)(λ-5)^2 で、λ=3、λ=5(重根)となります。 重根の場合、対角化できるか調べるために、 B=A-5Eとして、Bの階数(rank) を調べます。 B= [2 2 2] [-6 -6 -6] [2 2 2] となり、rank=1 よって、重根でも対角化できる、と結論づけて大丈夫なのででょうか? 別な判定方法として、最小多項式を求めて、これが重根ではなかったら「対角化できる」という判定方法があると思います。実際にこの問題の場合は、 (A-3E)(A-5E)=0となり、 最小多項式ψ(λ)=(λ-3)(λ-5)で重根を持ちません。 この判定方法は、前者の方法と「同値」なのでしょうか。同値であれば、その数学的理由を教えて下さい。 次に実際に固有ベクトルを求める過程での質問です。 λ=3についての固有ベクトルpは、 (A-3E)p=0 より [1] [-3] [1] と容易に求めることができます。 重根のλ=5に対する固有ベクトルの求め方について。 (A-5E)p=0 pの固有ベクトルの成分をxyzとします。 x+y+z=0となります。つまりrank=1となります。この式を満たす一次独立なベクトルを2つ見つけます。 x+y+z=0を満たす適当な数字を考えて x,y,z)=(1,1,-2)と(1,0,-1) としました。よってP= [1 1 1] [-3 1 0] [1 -2 -1] としました。そしたら、対角化できました。 しかし、一般的な解法(演習問題の解法)は、 x+y+z=0 より、x=-y-zなので、 s、tを媒介変数として、 x=-s-t y=s z=t より、 (x,y,z)=s(-1,1,0)+t(-1,0,1)と書けるので、 このλ=5に対する独立した固有ベクトルは、(-1,1,0)と(-1,0,1) である。 以上より、対角化する行列P= [1 -1 -1] [-3 1 0] [1 0 1 ] P^(-1)AP= [3 0 0] [0 5 0] [0 0 5] と対角化する、という方法をとります。わざわざ媒介変数stを使ってやるのは何故でしょうか。また、2つの固有ベクトルを直交するようにとってみました。 P= [1 1 1] [-3 -1 1] [1 0 -2] として計算したも対角化できました。結局、x+y+z=0を満たす独立なベクトルだったら、本当に何でもいいということですか?