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

Проблемы с программой (вывод лишних символов из данных вне массива) - C++

Восстановить пароль Регистрация
 
BlackbirdD
0 / 0 / 0
Регистрация: 01.10.2012
Сообщений: 3
01.10.2012, 23:07     Проблемы с программой (вывод лишних символов из данных вне массива) #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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
int _tmain(int argc, _TCHAR* argv[])
{
    int i,j,k,n,p,f;
    char S[81],A[81],B[81];
    f=0;
    while (f<80)
    {
        S[f]=0;
        f=f+1;
    }
    f=0;
    gets (S);
    i=0;j=0;k=0;n=0;f=0;
    while (n<80)
    {
        while (S[i]!=0 && S[i]!=' ')
        {
            A[j]=S[i];
            j=j+1;
            i=i+1;
        }
        A[j]=0;
        k=0;
        p=j;
        while (k<p)
        {
            B[k]=A[j-1];
            k=k+1;
            j=j-1;
        }
        B[k]=0;
        A[k]=0;
        k=0;
        while (k<p)
        {
            printf("%c",B[k]);
            k=k+1;
        }
        printf(" ");
        k=0;
        while (k<80)
        {
            A[k]=0;
            B[k]=0;
            k=k+1;
        }
        j=0;
        k=0;
        p=0;
        i=i+1;
        n=n+1;
    }
    return 0;
}
Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.10.2012, 23:07     Проблемы с программой (вывод лишних символов из данных вне массива)
Посмотрите здесь:

C++ Вывод символов массива
C++ считать файл в массив без лишних символов
Вывод определенного элемента массива из массива символов C++
Выводи лишних символов в файл C++
C++ Проблемы с программой
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
01.10.2012, 23:15     Проблемы с программой (вывод лишних символов из данных вне массива) #2
Изложи суть задания, твой код смотреть невозможно.
severus-x
18 / 18 / 0
Регистрация: 21.09.2012
Сообщений: 78
01.10.2012, 23:57     Проблемы с программой (вывод лишних символов из данных вне массива) #3
у тебя в цикле вывода массива идет выход за его границы, поэтому и выводится "неведомые символы"
BlackbirdD
0 / 0 / 0
Регистрация: 01.10.2012
Сообщений: 3
02.10.2012, 00:01  [ТС]     Проблемы с программой (вывод лишних символов из данных вне массива) #4
суть задания в том, чтобы все слова в строке "перевернуть" (абв бав= вба ваб). Программа это делает, но как я уже сказал, почему-то выходит за предел массива.
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
02.10.2012, 00:06     Проблемы с программой (вывод лишних символов из данных вне массива) #5
Так не подойдёт ?
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <string>
#include <algorithm> 
 
int main() 
{ 
    std::string str = "Real Madrid Champios of Spain "; 
    std::reverse(str.begin(), str.end());  
    std::cout << str << std::endl;
}
BlackbirdD
0 / 0 / 0
Регистрация: 01.10.2012
Сообщений: 3
02.10.2012, 00:22  [ТС]     Проблемы с программой (вывод лишних символов из данных вне массива) #6
спасибо, но это доп в универе - мне реально стоит употреблять более простые функции и т.д. в коде.
Yandex
Объявления
02.10.2012, 00:22     Проблемы с программой (вывод лишних символов из данных вне массива)
Ответ Создать тему
Опции темы

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