Код для лексикографического форматирования не работает

Вот вопрос:http://opc.iarcs.org.in/index.php/problems/WORDLIST
.Код не дает правильный ответ на отправку, но он дает правильный ответ на все вводимые мной данные. Что может быть не так с этим?
Я использую c-строки, потому что в школе нас учили c-строкам, и я не очень разбираюсь в типе строк. Черт, они все еще учат TURBOC ++

#include <iostream>
#include <string.h>
#include <ctype.h>
using namespace std;
int main()
{
int n,i,j,m=0,flag,a=0,b,k,f;
char str[81],ans[1000][81],temp[81];
cin>>n;
cin.ignore();
for(i=0;i<n;i++)
{
cin.getline(str,81,'\n');
flag=0;
b=0;
for(j=0;j<strlen(str);j++)
{
if(str[j]!='.'&&str[j]!=','&&str[j]!=';'&&str[j]!=':'&&str[j]!='\t'&& str[j]!=' '&&str[j]!='\'')       //to extract words
{
flag=0;     //to know if more than one delimeter occur consecutively
temp[b]=tolower(str[j]);
b++;
if(j==strlen(str)-1)
flag++;
}
else if(j!=0)
flag++;
if(flag==1)          //if first delimeter is encountered
{
f=0;
for(k=0;k<a;k++)
{
if(strcmp(ans[k],temp)==0)
f=1;
}
if(f==0&&temp[0])     //temp[0] is 0 if temp contains only '\0'
{
strcpy(ans[a],temp);
a++;
m++;
}
for(int x=0;x<b;x++)
temp[x]='\0';             //resetting temp
b=0;
}
}
}
char small[81];
int pos;
cout<<m<<'\n';
for(i=0;i<a;i++)       //sorting the words in resultant array ans
{
pos=i;
strcpy(small,ans[i]);
for(j=i+1;j<a;j++)
{
if(strcmp(small,ans[j])>0)
{
strcpy(small,ans[j]);
pos=j;
}
}
strcpy(ans[pos],ans[i]);
strcpy(ans[i],small);
cout<<ans[i]<<'\n';
}
}

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]