Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
plemiash
0 / 0 / 0
Регистрация: 13.01.2009
Сообщений: 17
#1

Удаляем из строки слова перевёртыши...не понять в чём дело - C++

27.01.2009, 14:55. Просмотров 678. Ответов 3
Метки нет (Все метки)

программа должна удаляит из строки все слова которые читаются одинаково в дыух напралениях.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <stdio.h>
#include <stdlib.h>
 
int main ()
{
    char mass[50]="abba dolce ammo";
    int i,j,m,k=0,fl1=0,fl2=0,v=0,p=0;
    for (i=0;i<50;i++){
        if (mass[i]==' ' || mass[i]=='NULL'){
            for (m=k,j=(i-1);j>=k;m++,j--){ // цикл который не срабатывает
                if (mass[m]==mass[j]){
                    fl1=1;
                }
                else 
                    fl2=1;
            }
            if (fl1==1 && fl2==0){
                for (p=i+1,v=k;v<=50;v++,p++){
                    mass[v]=mass[p];
                }
                    i=0;
            }
            fl1=0;
            fl2=0;
        }
        k=i+1;
    }
    printf("%s",mass);
    return 0;
}
почему то пропускается цикл for
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.01.2009, 14:55     Удаляем из строки слова перевёртыши...не понять в чём дело
Посмотрите здесь:

C++ удаляем пробелы из строки char!!!
C++ Не компилируется из-за неверных конструкторов. В чём дело?
В чём тут дело??? C++
C++ Не могу понять в чём ошибка
не могу понять в чем дело C++
C++ Вызов перегруженной функции не могу понять в чем дело?
База болезней, не могу понять в чём ошибка C++
Ошибка памяти при выполнении - не могу понять в чём дело C++
История одной ошибки. В чём может быть дело? C++
Вывод строки. Не могу понять, в чем дело C++
Найти сумму элементов квадратной матрицы (не могу понять в чём ошибка) C++
C++ Написанная программа не компилируется, не могу понять в чем дело

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xToTa
13 / 13 / 0
Регистрация: 26.01.2009
Сообщений: 162
27.01.2009, 15:10     Удаляем из строки слова перевёртыши...не понять в чём дело #2
то есть не хоет проверять твое слово 'abba'?
а как оно его будет проверять если при i=0 -> j=-1, которое в свою очередь меньше k...
Дальше не заходит в if до тех пор пока i не станет равным 5...
а когда i=5 -> j=4 ... k=i+1=6... j<k - снова игнорирование цикла
plemiash
0 / 0 / 0
Регистрация: 13.01.2009
Сообщений: 17
27.01.2009, 16:02  [ТС]     Удаляем из строки слова перевёртыши...не понять в чём дело #3
да ....чёт не доглядел

Добавлено через 4 минуты 27 секунд
проблема в строке 26 .....k=i+1; нужно поставит в другое место

Добавлено через 32 минуты 42 секунды
xToTa, ты прав но только наполовину......)))....
а как оно его будет проверять если при i=0 -> j=-1, которое в свою очередь меньше k...
не верно...ведь когда mass[i]==' ' , i уже будет равно 4...
нужно просто было пошаманить с индексом начала слова т.е. k
всё решилось престановкой строки 26: k=i+1; , между строк 24 и 25....но всё равно спс...
accept
4817 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
28.01.2009, 01:45     Удаляем из строки слова перевёртыши...не понять в чём дело #4
Код
if (mass[i]==' ' || mass[i]=='NULL')
макроопределения не срабатывают внутри символьных и строковых констант

NULL - это #define NULL (void *) 0 , который приходит через stdio.h (т.е. прямо там содержится или подключается ещё откуда-нибудь)
в цпп это #define NULL 0, короче и там и там это препроцессорный макрос
Yandex
Объявления
28.01.2009, 01:45     Удаляем из строки слова перевёртыши...не понять в чём дело
Ответ Создать тему
Опции темы

Текущее время: 13:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru