从指针到数组的类型转换
Type conversion from pointer to array
我试图解决最长的公共子序列问题。我在整数数组到指针的转换中遇到了问题。我的2D数组的最后一个元素将是结果。这是我的代码:
#include<iostream>
#include<cstring>
using namespace std;
char firstSequence_X[999999],secondSequence_Y[999999];
int length_M,length_N;
void LCS_LENGTH(char*,char*);
int main(void)
{
LCS_LENGTH(firstSequence_X,secondSequence_Y);
return 0;
}
void LCS_LENGTH(char X[],char Y[])
{
//scan
cout<<"Enter first sequence : ";
cin>>X;
length_M=strlen(X);
cout<<"Enter second sequence : ";
cin>>Y;
length_N=strlen(Y);
cout<<endl;
cout<<"First sequence's length is : "<<length_M<<endl;
cout<<"Second sequence's length is : "<<length_N<<endl;
//declare 2 matrix : C for length , B for sign
int C[length_M+1][length_N+1],B[length_M+1][length_N+1];
//loop variable
int i,j;
//clear all
for(i=0;i<=length_M;i++)
{
C[i][0]=0;
B[i][0]='n';
}
for(j=0;j<=length_N;j++)
{
C[0][j]=0;
B[0][j]='n';
}
//dp
for(i=1;i<=length_M;i++)
{
for(j=1;j<=length_N;j++)
{
if(X[i]==Y[j])
{
C[i][j]=C[i-1,j-1]+1;//diagonal+1
B[i][j]='d';
}
else if(C[i-1][j]>=C[i][j-1])
{
C[i][j]=C[i-1,j];//up row copy
B[i][j]='u';
}
else
{
C[i][j]=C[i-1,j];//left column copy
B[i][j]='l';
}
}
}
cout<<endl<<"C[i,j] :"<<endl;
for(i=0;i<=length_M;i++)
{
for(j=0;j<=length_N;j++)
{
cout<<C[i][j]<<" ";
}
cout<<endl;
}
cout<<endl<<"B[i,j] :"<<endl;
for(i=0;i<=length_M;i++)
{
for(j=0;j<=length_N;j++)
{
cout<<B[i][j]<<" ";
}
cout<<endl;
}
}
我必须打印B和C数组。但显示了以下错误消息:从int*到int的转换无效。请纠正我的错误。TIA
看起来您做错了以下事情。
C[i][j]=C[i-1,j-1]+1;//diagonal+1
我想这应该是
C[i][j]=C[i-1][j-1]+1;//diagonal+1
和
C[i][j]=C[i-1,j];//up row copy
应该是
C[i][j]=C[i-1][j];//up row copy
和
C[i][j]=C[i-1,j];//left column copy
应该是
C[i][j]=C[i-1][j];//left column copy
相关文章:
- 在c++中为double类型的数组创建一个unique_ptr
- C++ 将 CIN 值存储到任何类型的数组中
- 如何将文本文件的特定行读取到 int 类型的数组中C++?
- C++ - 将结构类型的数组传递给用户定义的函数
- 是否可以创建一个用户定义的文本,将字符串文本转换为 own 类型的数组?
- 在C++如何从数组中提取成员并返回成员类型的数组?
- C++中的集合(异构类型的数组)
- 将基本类型数组中的内存重新用于不同(但仍然是基本)类型的数组合法吗
- 创建一个函数来转换数组元素的类型并返回数组的地址
- 将积分类型的数组作为另一个不相关的积分类型的阵列进行访问的安全且符合标准的方法
- 隐式类型转换为数组
- C++ MDC final-在字符类型的数组结构中按字母顺序对记录中的名称进行排序
- 在 c++ 中动态强制转换 ** 数组
- 分配具有主参数类型的数组时出现问题
- 是否可以将一种类型的数组转换为大小不同的另一种类型的数组?
- 返回并强制转换数组指针(错误:数组下标的类型..无效)
- 如何将std :: Basic_string类型转换为char类型的数组
- 用于递归模板求值的强制转换数组类型
- 正在将char类型的数组转换为int变量
- 如何定义运算符,以便可以将用户定义类型的数组转换为基元类型的数组