• ベストアンサー

ベクトルの加算・減算プログラム

C++ではなくCで2つのベクトルを加算・減算する関数プログラミング例を教えてください。いくつかあると思いますが、他の方の例を参考にしたいです。

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

  • ベストアンサー
  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

たとえば、 int *add_vec_int( int *a, int *b, int n ){ for ( int i = 0; i < n; i++ ){ a[i] += b[i]; } return a; } ――とか。ダメダメすぎ。 その手の算術ライブラリを使った方が真っ当でしょうね。

webmat
質問者

お礼

ありがとうございます。 自分の計算方法が間違っていないことが確認できました。

関連するQ&A

  • 日付の加算・減算ってできますか?

    DB2でのSQLで日付の加算・減算が出来なくて困っています。 DateAddのような関数はないんだとは思いますが、同じような機能を実現させることは出来ないんでしょうか? ご回答をお願いします。

  • エクセル 加算減算

    エクセルについて質問があります 表を作成しています A2に項目 B2に繰越金(残金)C2に入金した金額 D2に使った金額 E2に残金 ちなみに B3に 自動的にE2の金額が入力されるよう設定したいと 思っています 同じ行に 加算と減算を 計算式を使ってもとめられるように計算式をつくりたい のですが なかなかうまくできません これが 入金だけなら =sum(B2:C2)を E2に入力して 出来たのですが これに 引き算も つけたしたい場合は どのようにしたらよいのでしょうか? それとも 加算 減算(また 掛け算なども)を1行には  まとめられないのでしょうか? ちょっと基本的な質問で申し訳ありませんが 何方か その方法を教えて頂けないでしょうか? また それを30行にわたって したいのですが  いちいち 計算式 (関数というのでしょうか) を 入力しないと ダメなのでしょうか それとも コピーなどで 出来るかもしりたいのですが 教えて頂けたらありがたいです 宜しくおねがいいたします 

  • 16進数 加算 減算 C言語

    今学校でC言語を学んでいるのですが、「16進数同士の加算・減算」を行う問題が出されました。 16進同士の計算となると'A'~'F'や桁上がりの対処など壁にぶち当たっています。 私は10進に直してから加算・減算し、また16進に直す方法しか思いつかず。16進のままで計算は出来ると思うのですが、分かりません。 教えて下さい。お願いします。

  • 配列128桁の加算、減算について。

    現在C言語で四則演算について勉強しています。 128桁の配列をもつ整数についてa,b,各桁を加算、減算するプログラムを書きたいのですが分からなくて困ってます。できればCのソースを教えて欲しいですおねがいします。  s = 65536 a[128],b[128],c[128]   i = -1 とする。  i <128 である限り、演算を実行。 i >127なら終わり。(++1) c(i) = a(i) - b(i)という演算を行う。 c(i) < 0 の場合 s を借りてくる。 c(i)に s を加算し、上の桁から1を引く。  

  • VHDL記述の回路設計「加算減算器」

    VHDL記述の回路を設計というかプログラミングをしたのですが、出力が正しくありませんでした。内容は「加算・減算器」です。今回はオーバーフローを(考えてもいいのですが)考えないことにします。 記述内容は以下のようになっています。P_A で加算と減算を切り替えています。問題のボードへの出力ですが、 X_A + X_B = L_A としています。 0000 0000 0000 0001 0000 0001 0010 0000 0010 0011 0000 0011 0100 0000 0100 … という風に X_A だけを 0 に統一した場合でも正しく出力されていますが、 0000 0001 0001 0001 0001 0000 0010 0001 0011 0011 0001 0010 0100 0001 0101 0101 0001 0100 … このように、ビット同士の和の繰り上がりがきいてない感じなんですね。これって下の記述が間違ってるんでしょうか。それとも、ボード出力時のピンの当て方が間違ってるんでしょうか。詳しい方、アドバイスよろしくお願いします。 library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_unsigned.all; entity EX is port ( P_A : in std_logic; X_A : in std_logic_vector(3 downto 0); X_B : in std_logic_vector(3 downto 0); L_A : out std_logic_vector(3 downto 0) ); end EX; architecture STRUCTURE of EX is begin process ( X_A, X_B, P_A ) begin if P_A = '1' then L_A <= X_A + X_B; else L_A <= X_A - X_B; end if; end process; end STRUCTURE;

  • vectorクラスについて。

    現在、C++Builderでプログラミングをおこなっていて、vectorクラスを使用することになりました。 今日どうしても知りたいのは、「vector」の読み方です。 ベクター?ベクトル??どちらなのでしょう。 そして、C++で使用したいと考えているのですが、検索してみると、JAVA関連のページが大半で、C++での使用例は1つか2つ・・・でした。使い方は同じなのかもしれないのですが、JAVAを勉強したことがなく、プログラミング自体始めて間もないので、二つの言語を関係づけることが難しくて・・・(-_-;) そこで、C++でvectorクラスの使用方法などが書かれているサイトをご存じでしたら、是非教えて下さい。 よろしくお願いします。

  • 三菱高速カウンタ(QD62)の加算・減算カウント

    恐れながら質問致します。 搬送装置に組み付けているロータリーエンコーダーを QD62にA相・B相・ABCOMに接続。(500台以上同じ条件の量産機です) スイッチ設定は「2相4逓倍」「リングカウンタ」 GX Works2でデバイスをモニタすると値が減算しておりました。 QD62本体には「DEC.」のランプは消灯しているのにも関わらず、減算カウントしている状況です。 A相・B相の配線を逆にすれば済む話なのですが、量産機の為、解決をしたい次第です。 以下に状況をまとめます。 【A相・B相を正規の配線】 DEC.ランプ=消灯、デバイスモニタ=減算カウント 【A相・B相反対の配線】 DEC.ランプ=点灯、デバイスモニタ=加算カウント QD62やロータリーエンコーダを他の機器と入れ替えると、この機械のみ発生していることから、 部材の問題ではないと思いますが。。 パラメータ設定などで加算・減算カウントが反転してしまう事はあるのでしょうか? ご経験がある方いらっしゃいましたら、ご教授の程、よろしくお願いいたします。

  • Sum関数を使った加算減算

    再度、難しい問題に直面しました。 1.顧客CDごとに合計を出します。 2.POINT_KINDにより、加算減算がわかれます。 使用するKOKYAKUTBLのカラム KOKYAKU_CD POINT_KIND KOKYAKU_POINT : 1つのCDに対して複数のPOINNTがあります。 SLECECT KOKYAKUCD, POINT_KIND, SUM(KOKYAPU_POINT) AS POINT FROM KOKYAKUTBL WHERE KOKYAKUCD = '00001' GROUP BY KOKYAKUCD, POINT_KIND 取得結果  KOKYAKUCD POINT_KIND POINT    00001     0          20    00001     1          40    00001     2          10    00001     3          30 となります。 最終的には、取得できた結果を顧客CDごとの合計を出すのですが、POINT_KINDが2と3の場合に減算をしたいのです。 合計結果 = 20+40-10-30としたいのです。 自分では、ポイントの種類ごとの合計の出し方しか解りません。 仮に、全ての値を合計し、出力する場合であっても、全ての値の合計の仕方もわかりません。 わかる方いらっしゃいましたら、よろしくお願いします。

  • vectorをpublicで扱いたい

    Visual C++2013を使用しています。 現在、vectorを下記の位置に定義しています。 public ref class MainForm : public System::Windows::Forms::Form { MainForm(void) { 略1 } 略2 private: void 関数1(引数1) { vector<vector<double>> array_csv(要素数1, vector<double>(要素数2)); } } このvectorを他のクラスと共用して扱いたいのですが、 どう定義したらいいか分かりません。 やってみたこと 略1や略2のところへ以下のように定義してみましたが、関数1内からvectorへアクセスすると、 型が違うため、アクセスできません。 vector<vector<double>> array_csv(int, vector<double>()); 定義する場所か定義の方法がおかしいのでしょうか? ご教授願います。

  • プログラムの『軽い』と『重い』について

    C++でDirectXを使用したゲームプログラミングしているのですが、 どうもプログラミングの組み方が悪いのか動作が重く、うまく動いてくれません。 そこでいまさらかもしれませんが、プログラミングにおいて『重い』や『軽い』というのはどのような書き方なのでしょうか? 例えば、 「for文やwhile文などのループ系は重い」、 「windowsプログラミングのtimeGetTime関数などの時間を扱う関数は重い」 などはよく耳にするのですが、そういう情報はどこから手に入れるのでしょうか? わかる方いたら教えてください。 よろしくお願いします。

専門家に質問してみよう