私はこの回文関数を使っていますが、配列の特定の場所を開始点として送信できるように修正しようとしています。このコードは、特定の要素のアドレスを取るように変更することができますどのように特定の配列要素のアドレスを関数に渡す
#include<iostream>
using namespace std;
bool pali(int [],int size);
int main()
{
int n[] = {3, 5, 9, 4, 8, 2, 8, 4, 7, 10}; //just a sample array for testing
int length = 10;
pali(n,length);
}
bool pali(int a[],int size)
{
int flag=0;
int i=0;
while(flag==0 && i<size){
if(a[i]==a[size-i-1]){
flag=0;
i++;
}
else{
flag=1;
}
}
if(flag==0)
return true;
else
return false;
}
: は、ここでは、コードです。したがって、配列アドレスの場所に例えば3
というサイズで送ると、(4,8,2,8,4のように)trueを返します。しかし、それが回文ではない別のアドレスとサイズで送信された場合、それは偽を返します。
あなたの関数にはすでに2つの引数がありますが、同じメソッドを使って2つ以上を追加するだけですか? –
C++を使用している場合は、Cスタイルの配列と 'size'のペアの代わりに' std :: vector'を試してみてください。また、 'using namespace std'も避けてください。独自のコードとの衝突を避けるため、別々に保管することを意図しています。また、ブール値を返したい場合や 'bool flag = true'を返す場合、意味を逆転させてキャスティングを避けたい場合は' return flag == 0'または 'return!flag'を使うこともできます。 – tadman
@the_martianちょうどpali(n + 3、5)と書いてください。 –