char* ChangeWord(char* inStr)
{
char* Result;
char* FirstWord;
char* LastWord;
int firstWordPos,lastWordPos,i,j;
Result = mallock(sizeof(char)*StrLen(inStr));
FirstWord = mallock(sizeof(char)*StrLen(inStr));
LastWord = mallock(sizeof(char)*StrLen(inStr));
firstWordPos = 0;
lastWordPos = 0;
/* формируем первое слово и запоминаем позицию с которой начинается второе */
for(i=0;i<StrLen(inStr);i++)
{
if(inStr != ' ')
FirstWord = inStr;
else
{
firstWordPos = i;
FirstWord = 0x0;
break;
}
}
/* формируем последнее слово и запоминаем позицию с которого оно начинается */
j=0;
for(i=StrLen(inStr)-1;i>0;i--)
{
if(inStr == ' ')
break;
}
lastPosWord = i;
for(i=lastPosWord;i<StrLen;i++)
LastWord[j++]= inStr;
LastWord[j] = 0x0;
/* формируем результат */
/*на место первого ставим последнее*/
j=0;
for(i=0;i<StrLen(LastWord);i++)
Result[j++] = LastWord;
/*дальше все кроме последнего*/
for(i=firstPosWord;i<lastPosWord;i++)
Result[j++] = inStr;
/* и наконец первую */
for(i=0;i<StrLen(FirstWord);i++)
Result[j++] = FirstWord;
/* убираем мусор */
free(FirstWord);
free(LastWord);
return Result;
}
Нужна помощь............
В функцию передается строка слов, отделенных пробелами.
Помогите написать.
Цитата:
Originally posted by Sintez
Нужно написать функцию на Си, которая меняет местами первое слово с последним словом и возвращает новую строку.
В функцию передается строка слов, отделенных пробелами.
Помогите написать.
Нужно написать функцию на Си, которая меняет местами первое слово с последним словом и возвращает новую строку.
В функцию передается строка слов, отделенных пробелами.
Помогите написать.
Ты немного не туда заехал. В Паскалевсом форуме просишь написать функцию на С.
Код:
Выглядит это приблизительно так.