Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.12.2014, 20:57   #1
alina1995
Пользователь
 
Регистрация: 13.11.2014
Сообщений: 15
По умолчанию Функции

Всем привет,такая проблема,не работает в программе 1 функция,2-3 работают вроде..Помогите Пожалуйста исправить код или как сделать легче или попроще..заранее большое спасибо!
Задание:
. Следующие задания оформить в виде функций. Отдельно разработать демонстрационную программу для демонстрации работоспособности функций.
а. возвратить строку, которая содержит первое и второе слово, если строка содержит более двух слов или исходную строку без изменения.
б. удалить последнее слово из заданной строки.
в. удвоить все пробелы в заданной строке.

Сам Код:
Код:
#include <cstring>
#include <string>
#include <iostream>
#include <conio.h>
using namespace std;
//Удаляет все слова короме первого в введенной строке
string DeleteWord(char s[])
{
char psz[255];
strcpy(psz,s);
for (int i = 0; psz[i] != 0; i++)
if (psz[i] == '.' || psz[i] == '?' || psz[i] == '!')
{
int pos = i;
while ((psz[pos] != ' ') && (pos >= 0)) pos--;
for (int n = pos; psz[n] != '\0'; n++)
psz[n] = psz[n+(i-pos)];
}
return psz;
}

// удаляет первое слово строки со всеми пробелами.
string DeleteSpace(char s[])
{
int i, j, k, len, cnt = 0;
char *ptr, c;

len = strlen(s);
if(s[0] != 0 && s[0] != ' ')
cnt = 1;

for(i = 0; i < len && cnt < 2; i++)
if(s[i] == ' ' && s[i+1] != ' ')
++cnt;
for(j = k = i; k < len; ++k)
{
c = s[k];
if(c != ' ')
s[j++] = c;
}
s[j] = 0;
return &s[i];
}

// является ли данное слово перевертышем 
bool Palindrom(char s[])
{
if (s[0] + s[1] + s[2] == s[3] + s[4] + s[5]) return true; else return false;

}

int main()
{
char s[255];
cout << "Enter string: ";
gets(s);
cout << "Deleted ! the first word: " << DeleteWord(s)<<endl;
cout << "Deleted the first word and all space: " << DeleteSpace(s)<<endl;;
cout << "Palindrom boolean: "<<Palindrom(s)<<endl; 
_getch();
}

Последний раз редактировалось Stilet; 06.12.2014 в 17:20.
alina1995 вне форума Ответить с цитированием
Старый 06.12.2014, 17:20   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Не понял я какая функция не работает?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.12.2014, 18:49   #3
alina1995
Пользователь
 
Регистрация: 13.11.2014
Сообщений: 15
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Не понял я какая функция не работает?
//Удаляет все слова кроме первого в введенной строке
Не работает эта функция самая 1.
alina1995 вне форума Ответить с цитированием
Старый 06.12.2014, 19:14   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Предлагаю такую схему:
Код:
string DeleteWord(char s[])
{
 string res="";
 for (int i = 0;    (s[i]!= 0 && s[i]!=' ') ; i++) res+=s[i]
 return res;
}
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Табулирование заданной функции и определение максимального и минимального значения функции в таблице Марина1986 C/C++ Сетевое программирование 0 07.05.2013 11:31
Использование подпрограммы-функции: Вычислить значение функции (Турбо паскаль) RealUnited Паскаль, Turbo Pascal, PascalABC.NET 1 05.12.2012 20:34
Построение графика функции, мигание(затухание) шарика в минимумах функции kas1m_rus Паскаль, Turbo Pascal, PascalABC.NET 0 27.05.2012 20:28
Как подменить адрес возврата функции func на адрес функции f используя переполнение буфера buf и функции gets dmitrii6120 Помощь студентам 6 14.11.2011 20:10
Программа на СИ++, используя функции работы с файлами и функции <string.h> Аня Popova Фриланс 9 13.09.2010 15:52