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

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

Войти
Регистрация
Восстановить пароль
 
Evgeny FeiM
0 / 0 / 0
Регистрация: 20.02.2014
Сообщений: 6
#1

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

21.02.2014, 15:06. Просмотров 700. Ответов 6
Метки нет (Все метки)

Выводит непонятные символы (пики, стрелки), скрин снизу, посмотрите.
Вот сам код:
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++;
            } 
        }
        }
    }
}
0
Миниатюры
Непонятные символы в консоли  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.02.2014, 15:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Непонятные символы в консоли (C++):

Непонятные символы в консоли - C++
Доброго времени суток! Работаю со строками, перезагружаю операторы, но на консоль вместе с результатом выводятся какие-то непонятные...

Непонятные символы при выводе русских символов в консоли - C++
Доброго времени суток, у меня возникла проблема. Когда я ввожу текст с клавиатуры, при выводе его на экран выводит непонятные символы....

Непонятные символы - C++
В общем, сделал функцию.Все работает, но есть одно но: если вводить строку, а введеный символ разделитель будет в ней отсутствовать, то в...

На выходе выдаются непонятные символы - C++
Задание: написать программу которая разворачивает запись типа a-z в строке s в полный список abc...xyz в строке s2 # include...

Непонятные символы в строке из char - C++
Добрый вечер. Имеется данный код: char szResponse; recv(clientSock, &amp;szResponse, sizeof(szResponse), 0); std::cout &lt;&lt;...

непонятные символы в строке char - C++
имеется такая функция: char subWord(char s, char s1, int n, int I){ int prob=0; int prob1=0; int scount; int...

6
DrOffset
7310 / 4408 / 998
Регистрация: 30.01.2014
Сообщений: 7,244
21.02.2014, 15:19 #2
C++
1
while(b<=maxln&&b+1!=' '&&b!='/0')
Слэш в другую сторону
Надо '\0'.

Да и вообще с алгоритмом чего-то не то. Задача-то какая?
Почему индекс сравнивается с пробелом и нулем?
1
Evgeny FeiM
0 / 0 / 0
Регистрация: 20.02.2014
Сообщений: 6
21.02.2014, 18:46  [ТС] #3
DrOffset, спасибо, задачка в том что бы в строке переставить слова задом наперед (именно слова, не буквы). Я решил пойти методом пробелов, но за условием задачки пробелов может быть 2, 1 или даже несколько. Поэтому такие индексы.
0
DrOffset
7310 / 4408 / 998
Регистрация: 30.01.2014
Сообщений: 7,244
21.02.2014, 18:58 #4
Цитата Сообщение от Evgeny FeiM Посмотреть сообщение
Поэтому такие индексы
Так может быть значение строки (символ по индексу) надо сравнивать, а не сам индекс?
0
Evgeny FeiM
0 / 0 / 0
Регистрация: 20.02.2014
Сообщений: 6
21.02.2014, 19:07  [ТС] #5
Ноу, значение строки по этому индексу это буква. Короче, вот как работает мой алгоритм: Обрабатывается строка от конца. Если находит пробел, считываются последующие буквы после пробела и записываются в новую строку, после бежим дальше по строке от места последнего пробела. Алгоритм такой, что не будет выводить первое слово первой строки, перед ним попросту нету пробела. Но если так, то почему не выводит прога предыдущие слова?
В примере строка: feim gonna hate
Должно вывести: hate gonna, а оно вообще никак не выводит...
0
DrOffset
7310 / 4408 / 998
Регистрация: 30.01.2014
Сообщений: 7,244
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! Все еще не видишь ничего странного?
Как может быть индекс равен или не равен пробелу?
0
Evgeny FeiM
0 / 0 / 0
Регистрация: 20.02.2014
Сообщений: 6
21.02.2014, 19:24  [ТС] #7
DrOffset, всё, теперь ясно, спасибо!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.02.2014, 19:24
Привет! Вот еще темы с ответами:

непонятные символы. как убрать? - C++
Разделить строку на несколько строк длины к. Программа вроде работает, но после символов появляются разные непонятные знаки. Подскажите как...

Непонятные символы.(Строки и указатели). - C++
Добрый вечер. Задание - Написать программу получения строки, в которой удалены все “лишние” пробелы, т.е. из нескольких подряд идущих...

Выводятся непонятные символы В ФАЙЛ - C++
Столкнулся с проблемой. Сначала при выводе в консоль была проблема, но поправил setlocale(LC_ALL, &quot;rus&quot;); Но теперь возникла проблема при...

Непонятные символы при выводе - C++
Я уже такую фигню много раз наблюдал типа если не поставить '\0' или убрать при выводе какие то непонятные символы идут от пример. ...


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

Или воспользуйтесь поиском по форуму:
7
Yandex
Объявления
21.02.2014, 19:24
Ответ Создать тему
Опции темы

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