私は C++ でのコーディングに比較的慣れていないので、ポインターとアドレスを扱うプログラムの作成を依頼されました。私が立ち往生している部分は、2 つのメモリ アドレスの違いを使用して分子の値を変更することです (分数を扱っています)。
これは私に与えられた課題です: http://cdn.frugalfinders.com/assignment.pdf
質問 2 で行き詰まっています。これまでの C++ コードは次のとおりです。
#include <iostream>
#include <fstream>
#include <cstring>
#include "fraction.h"
using namespace std;
int main()
{
int i1;
fraction f1(2,5);
int i2;
fraction farray[5];
float x1;
double x2;
char c1;
int A[6];
int *ip1;
float *fp1;
fraction *ffp1;
double *dp1;
// Print the addresses of the variables
cout << endl;
cout << "i1 at: " << &i1 << endl;
cout << "f1 at: " << &f1 << endl;
cout << "i2 at: " << &i2 << endl;
cout << "farray at: " << &farray << endl;
cout << "x1 at: " << &x1 << endl;
cout << "x2 at: " << &x2 << endl;
cout << "c1 at: " << &c1 << endl;
cout << "A at: " << &A << endl;
cout << "ip1 at: " << &ip1 << endl;
cout << "fp1 at: " << &fp1 << endl;
cout << "ffp1 at: " << &ffp1 << endl;
cout << "dp1 at: " << &dp1 << endl;
// Print the values of the variables
cout << endl;
cout << "f1 is: " << f1 << endl;
cout << "ip1 is: " << ip1 << endl;
cout << "fp1 is: " << fp1 << endl;
cout << "ffp1 is: " << ffp1 << endl;
cout << "dp1 is: " << dp1 << endl << endl;
// Store the address of i2 in ip1
ip1 = &i2;
// Change the numerator of f1 to 23
cout << f1 << endl;
i1 = (&i2) - 4;
*i1 = 23;
cout << f1 << endl;
return 0;
}
パーツを下に置く方法がわかりません
// Change the numerator of f1 to 23
仕事に。どんな助けでも大歓迎です!