Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи по C/С++

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

HNKTO



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
#include <string.h>
 
char* deleted(char *a) //гробит все пробелы и пунктуацию
{
    int n=strlen(a);
    int t=0; //, p=0; //p не используется
    int i;
    for(/*int*/ i=0; i<n; i++) //помни! что объявление тут int i не гарантирует её удаление или сохранение по выходу из for{}
    {
        if(a[i]==' ' || a[i]==',' || a[i]=='.' )
        {
            t=t+1;
            for (int j=i;j<n;j++)
                a[j]=a[j+1];
        }
    }
    a[n-t]='\0';
    for (/*int*/ i=0; i<n; i++) //50% - ошибка! при определении int i
        if(a[i]==' ' || a[i]==',' || a[i]=='.')
            t=1;
    if (t==1)
        return deleted(a);
    else
        return a;
}
 
int palindrom(char a[40])
{
    int p=0;
    char b[40];
    for (int k=0; k<strlen(a); k++)
        b[k]=a[strlen(a)-k-1];
    for (int f=0; f<strlen(a); f++)
        if(a[f] != b[f])
            p=p+1;
    return p;
}
 
void functionB(char *psz) //принимает строку, сохраняет результат в неё-же
{   //обработка тстроки, выделенная в отдельную функцию
    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)];
    }
}
 
int funcC(char *st)
{   //функция с алгоритмом действия
    //st - строка для обработки, возвращает участок для вывода
    char *ptr, c;
    int i, j, k, len, cnt = 0;
    len = strlen(st);
    if(st[0] != 0 && st[0] != ' ')
        cnt = 1;
    for(i = 0; i < len && cnt < 2; ++i)
        if(st[i] == ' ' && st[i+1] != ' ')
            ++cnt;
    for(j = k = i; k < len; ++k)
    {
        c = st[k];
        if(c != ' ')
            st[j++] = c;
    }
    st[j] = 0;
    return i;
}
 

Всего записей: 2096 | Зарегистр. 30-01-2010 | Отправлено: 11:24 30-11-2014
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи по C/С++


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru