トップページ⇒tech
1001コメント340KB

プログラマー軍団がC/C++の宿題を解決します 34代目

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
あなたのお悩み、ご相談下さい。
史上最強のプログラマー軍団の見解は?
――【注意点】――――――――――――――――――――――
・使用する言語(C/C++)や環境(CUI/GUIなど)は必ず書きましょう。
・問題文は、ちゃんと解いてもらう方にわかりやすいように全文を書きましょう。
・計算問題は必ず数式自体をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その行とエラーの詳細を書きましょう。
 エラーメッセージが出た場合はそのままコピーしてください。
・後になって問題につけたしをするのはやめましょう。
 解いてもらっている方に失礼になってしまいます。
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
http://do.sakura.ne.jp/%7Ejunkroom/cgi-bin/megabbs/lounge/index.html

【歴代スレは>>2-10】
0655デフォルトの名無しさんNGNG
>>654
コンパイル時のエラーは出なかったんですけど、実行されませんでした。
どうやれば実行結果が得られるのか、詳しく教えていただきたいです。
お願いします。
0656デフォルトの名無しさんNGNG
>>655
コマンドライン引数
0657デフォルトの名無しさんNGNG
>>655
ヤフーで検索してみましたけど、いまいちよくわかりませんでした。
0658616NGNG
>>645
>>649
ありがとうございました
0659610NGNG
ttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1060403548&res=134&fi=no
の
return((int)((sin(pai/2.0+((double)y)/6.0)+1.0)*13.0));
ってなにを計算してるんでしょうか?
0660デフォルトの名無しさんNGNG
最近は円周率が2.14になっているのか…
0661デフォルトの名無しさんNGNG
すいません、手に負えないのでお願いします。

�@ ラプラス方程式を解くプログラムを作れ。
�A �@を用いて長方形領域 0≦x≦2、0≦y≦1の上でラプラス方程式を解け、
  ただし境界条件(周上の関数値)はデータとして読み込むものとする。
�B 適当なxおよびyの値の組{(x1,y1),(x2,y2),...,(xm,ym)}(例えば,y=ax^3+bx^2+cx+d+ノイズ)
  に対してべき多項式モデルf=Xcを当てはめた結果をグラフ表示せよ。なお、べき次数n
  およびデータ点数mを様々に変化させよ。
0662デフォルトの名無しさんNGNG
>>661
手に負えません。
0663デフォルトの名無しさんNGNG
すいません、手に負えないのでお願いします。

�@ ラプラス方程式を解くプログラムを作れ。
�A �@を用いて長方形領域 0≦x≦2、0≦y≦1の上でラプラス方程式を解け、
  ただし境界条件(周上の関数値)はデータとして読み込むものとする。
�B 適当なxおよびyの値の組{(x1,y1),(x2,y2),...,(xm,ym)}(例えば,y=ax^3+bx^2+cx+d+ノイズ)
  に対してべき多項式モデルf=Xcを当てはめた結果をグラフ表示せよ。なお、べき次数n
  およびデータ点数mを様々に変化させよ。

手に負える人だけ解答して下さい。>>662はすっこんでろ!!!!
0664610NGNG
>>660
そこは図形の形を変えるためにいじったところです
0665661NGNG
>663
俺じゃないが他にも同じ宿題で悩んでる人がいるのか。
0666デフォルトの名無しさんNGNG
Cの宿題です。
循環リスト(末尾ノードに先頭ノードを指すポインタを与えたもの)で、
a〜hのどのアルファベットからスタートしても、アルファベット順で1周するような順序
を実現してください。(例:cからなら、c,d,e,f,g,h,a,bの順)


0667デフォルトの名無しさんNGNG
C++の宿題なんですがよろしくお願いします。
問題1. 実数のキューおよびスタックのクラスを、配列および連結リストで作成せよ。
(整数でなく実数。それぞれを作成するので4つ)
問題2. 実数のスタックを用いて逆ポーランド式計算機を作れ。余裕があれば単語分割するクラス
(TokenReader)を改良してキューを利用した形にしてみよ。

よろしくお願いしますm(_ _)m
0668デフォルトの名無しさんNGNG
採点側もここらへんのスレはチェックしてるから
丸写しはしないようにね

丸写し見つけたら本当に理解しているか
それとなく試してみて
理解してなければできてないものとして減点するから

プログラミング演習を採点してるTAより
0669デフォルトの名無しさんNGNG
Cです。
次に示される関数を利用して、f2(2)を求めなさい。
f2(x) int x; {return(2*x*x+3*x-4);}
0670デフォルトの名無しさんNGNG
求めるも何もf2(2)で求まるわけだが。
0671デフォルトの名無しさんNGNG
>>669
指導者は高齢か?
f2(x) int x; なんて書き方古いぞ
0672デフォルトの名無しさんNGNG
>>670
関数の使い方忘れたみたいで何度やってもエラー出るんです。
>>671
確か93年くらいの問題集からの問題だった気がします。
スマートな書き方でお願いします。
0673デフォルトの名無しさんNGNG
There are tons of web pages, google it for yourself, you lamer.
0674デフォルトの名無しさんNGNG
lamer->moronだと煽り率20%UP!!
0675デフォルトの名無しさんNGNG
>>672
#include <stdio.h>

int f2(int x)
{
  return( 2*x*x + 3*x - 4 );
}

int main()
{
 printf("%d", f2(2));

 return 0;
}
0676デフォルトの名無しさんNGNG
>>675
ありがとう。これで残りの問題も解けそう。
0677デフォルトの名無しさんNGNG
>>610 == >>635 == >>664
「フーリエ変換」でぐぐりなさい。
0678デフォルトの名無しさんNGNG
質問です。
『二つの円O1,O2それぞれの半径をr1,r2(可変)とする。r1-r2の領域
を黒く塗りつぶすプログラムを作りなさい。ただし、全体領域を100行
100列であるものとする。』
という内容ですが、C言語で教えていただけないでしょうか。どうか
お願いします。
0679デフォルトの名無しさんNGNG
>>678
腹ごなしに書いてみた。全体領域の定義がよくわからないからそこれへんは適当に直してくれ。
#include <stdio.h>
#include <stdlib.h>
#define SCREEN_W 100
#define SCREEN_H 100

int check_black( double x, double y, double r1, double r2)
{
 const double f = x * x + y * y;
 return (r1 >= r2) ? ((r1 * r1) >= f) && (f >= (r2 * r2))
         : ((r2 * r2) >= f) && (f >= (r1 * r1));
}
0680デフォルトの名無しさんNGNG
*記号を使ってDOS窓に斜めに線を描きたいのですが、まったくわかりません。
0681679NGNG
続き。

int main( void)
{
 const double r1 = 20, r2 = 40; /* 半径はこちら */
 const int xhalf = SCREEN_W / 2, yhalf = SCREEN_H / 2;
 int x, y;

 if( (r1 < 0) || (r2 < 0) || (SCREEN_W < 0) || (SCREEN_H < 0) ) {
  printf( "error: parameters (r1,r2,SCREEN_W,SCREEN_H) must be positive.\n");
  exit( EXIT_FAILURE);
 }

 for( y = yhalf; y >= -yhalf; --y ) {
  for( x = xhalf; x >= -xhalf; --x ) {
   printf( "%c ", check_black( (double)x, (double)y, r1, r2) ? '*' : '-');
  }
  printf( "\n");
 }

 return EXIT_SUCCESS;
}
0682デフォルトの名無しさんNGNG
>>680
#include <stdio.h>
int main(void)
{
int i, j;
for(i = 0; i < 20; i++) {
for(j = 0; j < i; j++) printf(" ");
printf("*\n");
}
return 0;
}
0683678NGNG
>>679
考えてくれてありがとうございます。
return (r1 >= r2) ? ((r1 * r1) >= f) && (f >= (r2 * r2))
         : ((r2 * r2) >= f) && (f >= (r1 * r1));
この行でエラーが大量に出るのですが、?がまずいのでしょうか?
0684デフォルトの名無しさんNGNG
>>682
ありがとうございます。
0685652NGNG
すみませんどなたかた>>652を
お願いします。
0686デフォルトの名無しさんNGNG
>>685
> 「99」を押したら入力終了。
の意味が分からない
9 を2回押したらすぐに終了?
99でその行が終わっていて改行したら終了?

0687デフォルトの名無しさんNGNG
>>683
エラーの内容は?
0688デフォルトの名無しさんNGNG
>>687

error C2061: 構文エラー : シンタックスエラーを起こしました。>>683の脳では理解できません。

だろw
0689デフォルトの名無しさんNGNG
ワロタ
0690652NGNG
>>686
下手な説明で申し訳ございません。
文章を入力し終わり、Enterキーを押し改行してから
9を2回押し、Enterキーを押してから終了ということです。
0691デフォルトの名無しさんNGNG
類の要員函數を静的にせずに呼び返し函數の引数として
与えるにはどうしたらいいの?
0692デフォルトの名無しさんNGNG
ふざけた質問分だな
メンバ関数のポインタ、とかで調べろ
0693691NGNG
>>692

「要員函數の指示子」でググったところ
何もヒットしませんでした

何が悪いんでしょう?
0694デフォルトの名無しさんNGNG
お前の頭
0695デフォルトの名無しさんNGNG
>>686 入力サイズは決め打ちです
#include <stdio.h>
#include <string.h>
#define M 1000
#define N 256
#define FILE_NAME_SIZE 256
int main(void)
{
char buf[M][N], file[FILE_NAME_SIZE];
FILE* fp;
int i, j;
for (i = 0; i < M; i++) {
fgets(buf[i], N, stdin);
if (strcmp("99\n", buf[i]) == 0) { break; }
}
fgets(file, FILE_NAME_SIZE, stdin);
file[strlen(file) - 1] = '\0';
fp = fopen(file, "w");
for (j = 0; j < i; j++) { fprintf(fp, "%s", buf[j]); }
fclose(fp);
return 0;
}
0696695NGNG
s/>>686/>>690/
0697652=690NGNG
>>695
どうもありがとうございます。
0698678NGNG
>>687
C:\Program Files\Microsoft Visual Studio\MyProjects\en\en.cpp(15) : error C2018: 文字 '0x81' は認識できません。
C:\Program Files\Microsoft Visual Studio\MyProjects\en\en.cpp(15) : error C2018: 文字 '0x40' は認識できません。
このエラーが数行にまたがって大量に出るのですがどのようにしたら
いいでしょうか?
0699デフォルトの名無しさんNGNG
認識できない文字を消せばいい
つ−か、マルチバイトの空白を消せ
0700デフォルトの名無しさんNGNG
>>698
コピペしただろ。
0701678NGNG
>>699-700
すいません、情けないエラーでした。。
一つだけお聞きしたいのですが、
(r1 >= r2) ? ((r1 * r1) >= f) && (f >= (r2 * r2))
         : ((r2 * r2) >= f) && (f >= (r1 * r1));
の部分だけ説明願えませんか?
0702デフォルトの名無しさんNGNG
よくわかってないのが単純にコピペしないように
かつレスを見やすくするために
2バイト空白まぜるのは常
0703デフォルトの名無しさんNGNG
それは、以前はtab文字が使えなかったから
0704デフォルトの名無しさんNGNG
>>701
円の方程式x^2+y^2=r^2を使って円O1,O2の範囲内かどうか調べてるだけ。
f=x^2+y^2 とおいて r^2 以上なら円の外部分 以下なら内部分ってことで。
0705678NGNG
>>701
了解しました。どうもありがとうございました。
0706todokuro NGNG
i need some cool c programs for my presentation tomorrow.
if any one can help me, please give me some idea or program
that i can get good grade.
i can read japanese but cant write.
onegaishimasu
0707デフォルトの名無しさんNGNG
>>706
その発表で求められてるレベルが分からないので何とも言えない。
0708デフォルトの名無しさんNGNG
>>706
int strlen(const char* s)
{
 int i=0;
 while(s[i])i++;
 return i;
}
0709デフォルトの名無しさんNGNG
>>706
int main()
{
 printf("Hello World!\n");
}

This is a super program.
0710todokuroNGNG



ha
0711デフォルトの名無しさんNGNG
hi
0712デフォルトの名無しさんNGNG
>>706
int strcmp(char*l,char*r){return*l==*r?(*l?0:strcmp(++l,++r)):(*l>*r)*2-1;}
0713デフォルトの名無しさんNGNG
>>706
正方向で符号化するハフマンなんかいいと思う
0714todokuroNGNG
thank you people. i'll try my best.
i just quit this shit and will go outside to buy ganja.
bye-bye thank you all!
0715todokuroNGNG
oh i got last question. Is it able to make same
intresting game program by c?
Last time i saw the matrix movie program that was typed by c
0716706NGNG
>>713さま
そのようにしてみようとおもいます。
ありがとうございました。
0717デフォルトの名無しさんNGNG
>>666
これが聞きたいんかいな
{
    struct list
    {
        struct list *next;
        char data[1024 * 1024 * 1024];
    };
    struct list *head;
    struct list **chain;
    int index;

    chain = &head;
    for (index = 0; index < 1024; index++)
    {
        *chain = (struct list *)malloc(sizeof(struct list));
        if (*chain == NULL)
        {
            // error processing
            exit(1024);
        }
        chain = &((*chain)->next);
    }
    *chain = head;
}
細かいとこは自分で書きなはれ。
0718パスカルNGNG
スレ違いなんすけど、誰かこの問題できますか??
ちなみにパスカル言語っす。

This program will require the student to build a singly-linked list.
The definitions to be used are:

TYPE
LISTPTR = ^LIST;
LIST = RECORD
KEY:CHAR;
LINK:LISTPTR
END;

0719パスカルNGNG
The records to be linked will be placed into ascending order based
on the KEY field and duplicates are not allowed. If the insertion
of a duplicate is attempted, a message should be output to the
printer indicating the value of the KEY that was provided and the
fact that it was a duplicate and insertion was disallowed. After
the entire list has been built, it shoud be output ot the pirnter.

The program will be executed three times; the following data will
be used;

QWERTYUIOPASDFGHJKLZXCVBNM
PLANYOURWORKANDWORKYOURPLAN
0720デフォルトの名無しさんNGNG
>>540
この問題なんですけど、構造体を使わずに、ポインタと配列で作っていただけませんか?
どなたか挑戦お願いします。
0721デフォルトの名無しさんNGNG
二日間何やってたんだよ
0722デフォルトの名無しさんNGNG
>>718-719
スレタイが見えんのか?
0723デフォルトの名無しさんNGNG
>>667
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=268&fi=no
TokenReaderについて何も情報を提示していないから問題2はしていない。
0724デフォルトの名無しさんNGNG
今時Pascalなんかやらせる学校は辞めていいよ
0725デフォルトの名無しさんNGNG
>>724
でた、低学歴!
0726デフォルトの名無しさんNGNG
こんな問題なんですけど
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1060403548&res=140
教えて下され
0727667NGNG
>>723
実数スタックと実数キューのサンプルテンプレートと実行結果のサンプル及び逆ポーランド式計算機(TokenReader含む)の
サンプルテンプレートが追って出されたので張っておきます。申し訳ありません。
実数スタックhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1060403548&res=137
実数キューhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1060403548&res=138
計算機http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1060403548&res=139
上2つはこのサンプルテンプレから配列の場合と連結リストの場合に合わせて書き換えなければならない・・・です。

後になって問題につけたしをするのはやめましょう、と注意書きがあるのにすいません。
どうかお願いします。ちなみにC++です。

問題1. 実数のキューおよびスタックのクラスを、配列および連結リストで作成せよ。
(整数でなく実数。それぞれを作成するので4つ)
問題2. 実数のスタックを用いて逆ポーランド式計算機を作れ。余裕があれば単語分割するクラス
(TokenReader)を改良してキューを利用した形にしてみよ。
0728デフォルトの名無しさんNGNG
fgets()というか EOFがらみの質問ですが、

if( fgets(buf,MAXLEN,stdin) ) {
printf("==%s==\n",buf);
}

これを実行し、キーボードから abc<RET> と入力すると(<RET>は改行)
==abc
==
と出力されます。これは理解出来る。次に abc<CTRL-D><CTRL-D> と入力すると
==abc==
と出力されます。なぜ <CTRL-D>が2個必要なのか、という質問なのですが。
ちなみに、abc<CTRL-D>de<RET> と入力すると
==abcde
==
と出力されます。
文字列を何も入力せずいきなり <CTRL-D>をたたくとなにも出力されません
( if( fgets() ) が false になる)。この場合は <CTRL-D> 1個で済みます。
(Linux での話です。DOS だと <CTRL-Z> が2回必要なのでしょうか。確認していません)
0729デフォルトの名無しさんNGNG
>>728
Ctrl+Dが行頭でしか有効じゃないからじゃねぇの?
0730728NGNG
>Ctrl+Dが行頭でしか有効じゃないからじゃねぇの?

行頭かどうかが重要、というのはご指摘の通りのようです。
行頭以外の CTRL-D がどう扱われているのか、なんか複雑なのですが、
動作から推測するに
(1)行頭の CTRL-D は EOF と解釈される
(2)いったん文字入力を始めると"行の途中" という状態になる。
(3)行の途中 状態を終了するのは RETだけ
  (CTRL-M とか CTRL-J とか。stty の状態によるでしょうが)。
(4)行の途中の CTRL-D は無視される。ただし直後に CTRL-D が続くと EOF になる。
こういうこと??

CTRL-D 1個で常に EOF にしたいとすれば、fgets() はだめで fgetc() を使うしかない?
0731デフォルトの名無しさんNGNG
>なぜ <CTRL-D>が2個必要なのか
1個で大丈夫では?

char *fgets(char *s, int size, FILE *stream);
fgets() は成功すると s を返し、ファイルの終り(あるいはエラー)の場合 NULL を返す。

何文字かに続けてCTRL-Dなら、NULLにならないのは当然だろ?
0732从*・ 。.・)<超限帰納法! ◆SayuminPM. NGNG
Ctrl-D の扱いは端末のお話になってくるので UNIX の本とか読んでみたり.
0733デフォルトの名無しさんNGNG
feof使ってもダメ?
0734デフォルトの名無しさんNGNG
ごめん、見なかったことにして
0735デフォルトの名無しさんNGNG
main()の中にあるodeint(y, N, MIN, MAX, eps, dist, 0.0, f, rkqs);
は積分をする関数で、積分区間MIN(#define MIN 0.0)からMAX(#define MAX 10.0)
までの途中計算を出力せずに、MAXの時の値を返す関数です。
これを途中計算も出力するようにするにはどうすればいいのですか?

http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1060403548&res=141&fi=no
0736お願いしますNGNG
#include<iostream>
using namespace std;
class vector{
private:
double x;
double y;
public:
vector(){x=0.0;y=0.0;}
vector(double a,double b){x=a;y=b;}
vector add(vector p,vector q);
void print(void);
double getx(void){return x;}
double gety(void){return y;}
};
void vector::print(void){
cout<<"(x,y)=("<<x<<","<<y<<")"<<endl;
}
vector vector::add(vector p,vector q){
vector temp(0,0);
temp.x=(p.x)+(q.x);
temp.y=(p.y)+(q.y);
return temp;
}
ヘッダファイルをこう書いて・・・
0737728NGNG
>何文字かに続けてCTRL-Dなら、NULLにならないのは当然だろ?

はい。man fgets によれば、fgets() が NULL を返すのは、エラーか、
一文字も読まずにEOFになった場合。文字を読んだ後 EOF になっても NULL を
返さないのはマニュアルどおりです。質問は、EOF にするのになぜ Ctrl-D が
2回要るか、ということでした。

>Ctrl-D の扱いは端末のお話になってくるので UNIX の本とか読んでみたり.

本を読んだわけではありませんが、ネットで少し調べると、どうも端末のバッファリングが
関係しているようでした。

abc と入力したあと、ctrl-D や RET を押す前なら、backspace で修正等が出来る。
ctrl-D を押すと、現在のバッファの内容が送られ、バッファは空になる。
バッファが空の時に ctrl-D を押すと、EOF になる。
バッファが空なのは、行頭か、ctrl-D を押した直後。
どうもこういうことらしいです。(私の理解が正しければ)
0738736(続NGNG
#include<iostream>
#include"basic2.h"

int main()
{
vector p=vector(1.0,0.0);
vector q=vector(0.0,1.0);

p.print();
q.print();
cout<<add(p,q)<<endl;

return 0;
}

.cppファイルをこう記述して、コンパイルしたのですが、
「.cpp 11: 未定義の関数 'add' を呼び出した」
と、出ます。いったい何がだめなのでしょうか?
0739デフォルトの名無しさんNGNG
Cと直接の関係がないのですが・・・

いま、Cで数値計算のプログラムを作り、WinXpのコマンドプロンプトから実行しています。
ところが繰り返し回数を大きく設定しすぎてしまったため、
今表示されている結果を保持したままプログラムを終了したいのですが

強制終了の方法を教えてもらえませんでしょうか・・・
0740デフォルトの名無しさんNGNG
>今表示されている結果を保持
キャプチャ&タスク終了
0741デフォルトの名無しさんNGNG
>>736
なんかめちゃくちゃだな…
それをやりたいなら
vector add(vector p, vector q)をフレンド関数にするか、
staticにしてvector::addで呼び出す

>>739
CTRL+Cすればプロンプトに戻るかもしれない。
戻らないで消えるかもしれない。
0742デフォルトの名無しさんNGNG
すんません。三行三列と三行二列の行列の積を求める書き方教えてください。
めんどくさかったら軽いヒントでもいいんで
ちなみに初期数値は与えられてます。forを使うみたいですがいまいち・・・

違うスレに間違って書いてしまったんで、ここに書き直します。マルチになってしまって申し訳ないです。
どうかお願いします。
0743デフォルトの名無しさんNGNG
>740それが面倒だったので・・・
>741ありがとうです、無事停止しました!助かりました
0744736NGNG
ありがとうございます、friend関数を使って、なんとかできました。

あと、他にも、pとqの加算の方法ってありますか(friend関数を使わずに)?
もうしわけありませんが、staticに関しては、当方まったくわかりません・・・
0745742NGNG
#include<stdio.h>

int main(void)
{
int A[3][3]={{2,5,10},{4,7,8},{8,2,3}};
int B[3][2]={{10,25},{20,15},{5,10}};
int C[3][2];

int i,j,k;

for(i = 0; i<3; i++){
for(j = 0; j<2; j++){
C[i][j] = 0;
for(k = 0; k<3; k++){
C[i][j] = C[i][j] + A[i][k] * B[k][j];
}
}
}

printf("%d\n",C[i][j]);

return 0;
}
0746从*・ 。.・)<一点コンパクト化! ◆SayuminPM. NGNG
>>737
canonical 入力のときは
EOF をタイプすると読み取りを待たされてるバイトをすぐに入力に渡す.
読み取りを待たされていないバイトが無いときは0を渡す.

だと思ったけど UNIX 系の人に聞いた方がいいよ
0747742NGNG
上のやつのどこを変えたらいいんでしょうか?
ここの人からすれば初歩だろうに、情けない
0748742NGNG
もう一時間半近くやってるんで誰か救いの手を差し伸べてください
0749デフォルトの名無しさんNGNG
>>736
EffectiveC++を一読することをお勧めしておく。
つーか、complexの実装でも見てみたら?

>>742
どう巧くいかないのか書いたらこちらも検討してみる気になるが。
0750デフォルトの名無しさんNGNG
>744
>あと、他にも、pとqの加算の方法ってありますか(friend関数を使わずに)?

あたりまえですが、メンバ関数 add を定義して
   p.add(q)
で p と q の和がえられるようにはできますよね。でも friend を使う方が普通では。
もちろん、add などという関数名ではなく、operator + を使うわけですが。
そうすれば r = p + q; などとかけます。さらに凝れば p += q; なんかも可能にする
ことが出来ます。
ベクトルクラスは、たいがいの C++ の解説本に例があると思いますよ。
0751デフォルトの名無しさんNGNG
って書いてたら変なもん見つけた。

>printf("%d\n",C[i][j]);

このとき、i と j はいくつでしょう。そしてC[i][j]は合法でしょうか。
0752デフォルトの名無しさんNGNG
/ a b \ / e \ / ae + bg \
\ c d / \ g / = \ ce + dg /

[質問]3行3列×3行2列って?

/ a b c \ / j k \ / \
| d e f | | l m | = | |
\ g h i / \ n o / \ /
0753742NGNG
>>749
まず計算結果が単なる整数で出てくる。
しかもどういう計算が行われた出たのかわからん数値が。
行列の形で表示できない。
forのところでも聞きたいのですが、うまくわからないとこを説明できないです。
模範解答があって初めて自分の間違いに気づきそうな気がします。
0754デフォルトの名無しさんNGNG
>>753
>>751
■ このスレッドは過去ログ倉庫に格納されています