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

Ошибка с xor - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Запуск GTEST'a на Visual Studio http://www.cyberforum.ru/cpp-beginners/thread1042435.html
Здравствуйте. У меня возникли проблемы с запуском Google Test на Visual Studio 2010. Делал всё по инструкции ссылка, однако при сборке решения теста появляется ошибка, сообщающая, что файл библиотеки GoogleTest.lib имеет не поддерживаемый или неизвестный двоичный формат; построение проекта при этом происходит. Позже, при запуске отладки какого-либо теста, возникает та же самая ошибка(на...
C++ Составить программу вывода на экран квадратов всех натуральных чисел меньших 20 Составить программу вывода на экран квадратов всех натуральных чисел меньших 20. Как это сделать на языке C/C++? http://www.cyberforum.ru/cpp-beginners/thread1042408.html
C++ Строку зашифровать по следующему принципу
Данную строку зашифровать по следующему принципу: заменить каждый символ на следующий по порядку символ таблицы ASCII.
C++ Напишите блок схему и листинг программы, которая выдает не повторяющуюся последовательность из цифр 0 и 1
Составить программу , которая по введенному N выдает последовательность длины N , состоящий из цифр 0 и 1 такую, что ни один фрагмент этой последовательности не повторяется подряд трижды. #include <iostream.h> using namespace std; { int n ; cout<<"N="; cin>>n; cout<<"0&1"; for (int i=1;i<=n/2;i++);
C++ Разработайте программу, которая определяет задуманное число с 10 (n) попыток http://www.cyberforum.ru/cpp-beginners/thread1042393.html
Добрый день) Снова обращаюсь к вам за помощью. 1. Разработайте программу, которая определяет задуманное число с 10 (n) попыток. Задуманное число оформляется в виде поименованной константы. При необходимости предусмотреть проверку исходных данных. Условие: Задания выполняются двумя способами: 1) С использованием операторов break и continue; 2) Без использования операторов break и...
C++ Двойная матрица Номер столбца наибольшего из элементов нечетных столбцов нижнего и номер строки наименьшего из элементов нечетных строк верхнего треугольника. Их значения определяет интервал. Найти произведение элементов главной диагонали, лежащих внутри интервала. Матрица . подробнее

Показать сообщение отдельно
Dread1
7 / 7 / 2
Регистрация: 16.10.2012
Сообщений: 61
15.12.2013, 16:29     Ошибка с xor
Кликните здесь для просмотра всего текста
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
#include <iostream>
#include <stdio.h>
#include <cstring>
#include <cstdlib>
using namespace std;
 
#define N 100
 
int main()
{
    char string [N];
    int i=0,j=0;
    for (i=0;i<N;i++)
    {
    string[i]=getchar();
    if (string[i]=='.' && (i!=(N-1)))
        {
        string[i+1]='\0';
        break;
        }
    }
    puts(string);
        for (i=0;i<strlen(string)/2;i++)
        {
           string[i]^=string[(strlen(string))-1-i]; //
           string[(strlen(string))-1-i]^=string[i]; // Где то в этом цикле программа иногда работает не верно
           string[i]^=string[(strlen(string))-1-i]; //
        }
        puts(string);
 
    for (i=0;i!=strlen(string);i++)
    {
     if (string[i]==' ')
        {
            for (j=i;j<strlen(string)-1;j++)
               {
                  string[j]=string[j+1];
               }
            string[strlen(string)-1]='\0';
        }
    }
    puts(string);
    system("PAUSE");
    return 0;
}


Подскажите, почему данный цикл работает не до конца верно? Когда разные символы, всё верно. Когда символы заменяемые совпадают, 1 из них выводит нормально, другой же нет.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru