文字列pが与えられる.pの接尾辞(ただしp自身は除く)の中でpの接頭辞でもあるようなものの最大長を求めよ
出力例
入力 thirteenth
出力 2
入力 aabaabaab
出力 6
と言う問題を行っているのですが、わかりません。よろしくお願いします。めちゃくちゃなプログラムですが以下書いていたプログラムです。
#include<stdio.h>
#include<string.h>
char p[256];
int main(void) {
int i,n,j,c=0,p;
scanf("%s",p);
p=strlen(p)
for(i=0;i<=p-1;j--){
for(j=P;j>0;j--){
if(p==p[j])
count++;
}
printf("%d",c);
return 0;
}
接尾辞 接頭辞の最大長
Re: 接尾辞 接頭辞の最大長
変数の宣言が無茶苦茶ですね。
p の宣言が 2個所もあり、しかも大文字の P を使う?
c を 0 に初期化して、その値の変更がどこにもない。
宣言なしに count を使う?
memcmp または strncmp を使っても構わないのなら、
これを参考にしてプログラムが完成したら、
それを貼り付けて解決にしてください。
何か疑問点があったり、memcmp を使わない
やり方を知りたかったら、質問してください。
p の宣言が 2個所もあり、しかも大文字の P を使う?
c を 0 に初期化して、その値の変更がどこにもない。
宣言なしに count を使う?
memcmp または strncmp を使っても構わないのなら、
#include <stdio.h>
#include <string.h> // strlen, memcmp(strncmp でもよい)
int main(void)
{
必要な変数を宣言
文字列を p に入力
n = strlen(p);
for (i = 1; memcmp(p, p+i, --n); i++) ;
n を表示
}
それを貼り付けて解決にしてください。
何か疑問点があったり、memcmp を使わない
やり方を知りたかったら、質問してください。