关于C++指针的应用问题

初学C++,对指针不太熟悉,请问下面的程序该怎么做:
1.编写程序,实现在3个字符串中查找一个字符串,如果找到则输出“找到了”,否则输出“没找到”,要求使用行指针完成。
提示:主函数定义二维数组、行指针和要查找的字符串 char str[3][5],(*p)[5]=str;,假设要查找的字符串为*ptfind=”c++”.

[code="C++"]
int main(int argc,char **argv)
{
char str[3][5]={{'a','b','c'},{'a','b','c'},{'c','+','+'}};
char p[3] = {(str),*(str+1),*(str+2)};
char *ptfind="c++";

int i = 0;
int flag = 0;
char **s = p;
for(;i<3;i++,s++)
{
    if(!strcmp(*s,ptfind))
    {
        flag = 1;
        break;
    }
}
if(flag)
        printf("找到了\n");
else
    printf("没找到");
return 0;

}
[/code]

可以在C/C++中运行
[code="C++"]
#include
#include

void find(char p[][5],const char *str,int n)
{
int i = 0;
int flag = 0;
for(;i < n; i++)
{
if(!strcmp(p[i],str))
flag = 1;
break;
}
if(flag)
printf("找到了\n");
else
printf("没找到\n");
}

int main(int argc, char **argv)
{
char str[3][5]={"dong","xi","nan"};
find(str,"dong",3);
return 0;

}
[/code]

楼上的,请教这个怎么没有用指针,题目 好像要求用行指针来着。