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

Непонятные символы в консоли - C++

Восстановить пароль Регистрация
 
Evgeny FeiM
0 / 0 / 0
Регистрация: 20.02.2014
Сообщений: 6
21.02.2014, 15:06     Непонятные символы в консоли #1
Выводит непонятные символы (пики, стрелки), скрин снизу, посмотрите.
Вот сам код:
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
31
32
33
34
35
36
37
38
#include <iostream>
using namespace std;
 
int main()
{
    char text[80], resultMas[80];
    int i=0, resi=0, lenght=0, countWords=0, maxln, worldcount, b=0;
    
    cout<<"BBEDITb FPA3Y:"<<endl;
    cin.get(text,80);
    cin.ignore(100, '\n');
    
    while(text[i]!='\0') //длинна строки
    {
        i++;
        lenght++;
    }
    cout<<"Lenght: "<<lenght<<endl;
    maxln=lenght;
    for(i=maxln; i>=0; i--) //меняем последовательность слов задом наперед
    {
        if(text[i]==' ')
        {
        if(text[i+1]!=' ')
        {
            b=i;
            while(b<=maxln&&b+1!=' '&&b!='/0')
            {
                worldcount=b+1;
                resultMas[resi]=worldcount;
                cout<<resultMas[resi]<<" ";
                resi++;
                b++;
            } 
        }
        }
    }
}
Миниатюры
Непонятные символы в консоли  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DrOffset
6459 / 3833 / 885
Регистрация: 30.01.2014
Сообщений: 6,628
21.02.2014, 15:19     Непонятные символы в консоли #2
C++
1
while(b<=maxln&&b+1!=' '&&b!='/0')
Слэш в другую сторону
Надо '\0'.

Да и вообще с алгоритмом чего-то не то. Задача-то какая?
Почему индекс сравнивается с пробелом и нулем?
Evgeny FeiM
0 / 0 / 0
Регистрация: 20.02.2014
Сообщений: 6
21.02.2014, 18:46  [ТС]     Непонятные символы в консоли #3
DrOffset, спасибо, задачка в том что бы в строке переставить слова задом наперед (именно слова, не буквы). Я решил пойти методом пробелов, но за условием задачки пробелов может быть 2, 1 или даже несколько. Поэтому такие индексы.
DrOffset
6459 / 3833 / 885
Регистрация: 30.01.2014
Сообщений: 6,628
21.02.2014, 18:58     Непонятные символы в консоли #4
Цитата Сообщение от Evgeny FeiM Посмотреть сообщение
Поэтому такие индексы
Так может быть значение строки (символ по индексу) надо сравнивать, а не сам индекс?
Evgeny FeiM
0 / 0 / 0
Регистрация: 20.02.2014
Сообщений: 6
21.02.2014, 19:07  [ТС]     Непонятные символы в консоли #5
Ноу, значение строки по этому индексу это буква. Короче, вот как работает мой алгоритм: Обрабатывается строка от конца. Если находит пробел, считываются последующие буквы после пробела и записываются в новую строку, после бежим дальше по строке от места последнего пробела. Алгоритм такой, что не будет выводить первое слово первой строки, перед ним попросту нету пробела. Но если так, то почему не выводит прога предыдущие слова?
В примере строка: feim gonna hate
Должно вывести: hate gonna, а оно вообще никак не выводит...
DrOffset
6459 / 3833 / 885
Регистрация: 30.01.2014
Сообщений: 6,628
21.02.2014, 19:20     Непонятные символы в консоли #6
Цитата Сообщение от Evgeny FeiM Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
b=i;
while(b<=maxln&&b+1!=' '&&b!='\0')
{
    worldcount=b+1;
    resultMas[resi]=worldcount;
    cout<<resultMas[resi]<<" ";
    resi++;
    b++;
}
Похоже намеками не получается.
Вот смотри: у тебя i - это индекс в строке. Тип int, b - тоже тип int.
А потом ты перед циклом while присваиваешь индекс переменной b.
А потом в цикле b проверяешь на неравенство пробелу и нулю. Но b - это же индекс i! Все еще не видишь ничего странного?
Как может быть индекс равен или не равен пробелу?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.02.2014, 19:24     Непонятные символы в консоли
Еще ссылки по теме:

Непонятные символы в строке из char C++
C++ Непонятные символы
Непонятные символы в консоли C++

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

Или воспользуйтесь поиском по форуму:
Evgeny FeiM
0 / 0 / 0
Регистрация: 20.02.2014
Сообщений: 6
21.02.2014, 19:24  [ТС]     Непонятные символы в консоли #7
DrOffset, всё, теперь ясно, спасибо!
Yandex
Объявления
21.02.2014, 19:24     Непонятные символы в консоли
Ответ Создать тему
Опции темы

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