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

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

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

Текст из 0 и 1. Оставив 1-ый символ в как есть, заменить каждый следующий на 0, если не совпадает с рассматриваемым - C++

14.04.2014, 15:08. Просмотров 302. Ответов 6
Метки нет (Все метки)

Добрый день, окажите помощь с данной задачей.
Задан текст, состоящий из «0» и «1». Оставив первый символ в неприкосновенности, заменить каждый следующий символ на «0», если предыдущий не совпадает с рассматриваемым, и «1» – в противном случае.

P.S. Тут чтоль надо сделать инверсию 0 и 1 кроме первого символа?
Заранее спасибо!!!
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2014, 15:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Текст из 0 и 1. Оставив 1-ый символ в как есть, заменить каждый следующий на 0, если не совпадает с рассматриваемым (C++):

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

Если в тексте есть цифра "2", то каждый символ перед этой цифрой заменить на букву "а" - Pascal
Помогите пожалуйста с задачкой в Паскале. Дан текст. Если в нем есть цифра 2, то каждый символ перед этой цифрой заменить на букву а.:(

Строка: каждый символ строки S заменяются на следующий за ним символ в строке S... - Delphi
Дано: в текстовом файле fin.txt находится текст на русском языке. С клавиатуры вводится число К. Надо: написать подпрограмму, которая по...

Каждый символ ? удвоить. Каждый символ, стоящий перед !, заменить символом, введенным с клавиатуры - Pascal ABC
Каждый символ ? удвоить. Каждый символ, стоящий перед !, заменить символом, введенным с клавиатуры.

Каждый символ ? удвоить. Каждый символ, стоящий перед !, заменить символом, введенным с клавиатуры. - Pascal ABC
Работа с символьными данными. 15. Каждый символ ? удвоить. Каждый символ, стоящий перед !, заменить символом, введенным с...

Если в строке имеется сочетание символов "la", то заменить каждый символ, встречающийся после первого вхождения этого сочетания, на символ "!" - Turbo Pascal
Дана строка из символов. Если в строке имеется сочетание символов "la", то заменить каждый символ, встречающийся после первого вхождения...

6
Smallvi
5 / 5 / 6
Регистрация: 08.04.2014
Сообщений: 37
14.04.2014, 15:40 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
 
int strlen(char[]);
 
int main()
{
    char str[] = "01001101010001";
    
    for(int i = 1; i < strlen(str); i++) {
        if(str[i] == str[i - 1]) str[i] = '1';
        else str[i] = '0';
    }
    
    return 0;
}
 
int strlen(char string[]) {
    int i = 0;
    while(string[i] != '\0') i++;
 
    return i;
}
Добавлено через 6 минут
Хотя нет, предыдущий вариант неправильный. Вот правильный:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
 
int main()
{
    char str[] = "01001101010001";
    
    for(int i = 1; str[i] != '\0'; i++) {
        if(str[i] == str[i - 1]) str[i] = '1';
        else str[i] = '0';
    }
    
    return 0;
}
0
Kuzia domovenok
2031 / 1875 / 169
Регистрация: 25.03.2012
Сообщений: 6,456
Записей в блоге: 1
14.04.2014, 15:48 #3
Smallvi, а имеется в виду "совпадает" со старым предыдущим символом или с заменённым из-за предыдущего шага цикла?
1
Smallvi
5 / 5 / 6
Регистрация: 08.04.2014
Сообщений: 37
14.04.2014, 15:56 #4
Kuzia domovenok, хм, точно. Не продумал до конца алгоритм. Там надо бы еще использовать вспомогательную переменную, хранящую предыдущее значение.
0
Reiderian
0 / 0 / 0
Регистрация: 18.02.2014
Сообщений: 44
14.04.2014, 21:32  [ТС] #5
Спасибо большое, но условие я сам не особо понял.

Добавлено через 12 минут
Извините, может я что не так делаю, в вашей задаче (2 вариант) нет результата. Программа "делает вид что работает", но ни замены символов, ни самих символов нет. Просто пустая консоль. =)
0
daslex
1286 / 530 / 109
Регистрация: 02.08.2011
Сообщений: 2,750
14.04.2014, 22:10 #6
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ

Не по теме:

не инверсия.
0110011 ==> 0010101



Добавлено через 23 минуты
Короче, на пальцах
0001110100
___________
Разбиваем
0
00 ==>1
00 ==>1
01 ==>0
11 ==>1
11 ==>1
10 ==>0
01 ==>0
10 ==>0
00 ==>1
___________
0110110001

Не по теме:

Забыл как это в логике называется



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 <iostream>
#include <string.h>
 
using namespace std;
 
const int N=256;
int main()
{
    char S[N]="0001110100\n";
    char temp=S[strlen(S)-2];
    char a=0;
    char b=0;
 
    for (int i=strlen(S)-2;i>0;i--){
        a=temp;
        temp=S[i-1];
        b=S[i-2];
 
        if (a!=temp) S[i]='0';
        else S[i]='1';
 
    }
    cout<<S;
 
 
 
 
 
 
}
1
Reiderian
0 / 0 / 0
Регистрация: 18.02.2014
Сообщений: 44
14.04.2014, 22:43  [ТС] #7
А вот теперь понятно, огромнейшее спасибо.
0
14.04.2014, 22:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.04.2014, 22:43
Привет! Вот еще темы с ответами:

Как в datagridview С# отобразить только время если дата совпадает с настоящей и дату если не совпадает - C#
в таблице datagridview C# соединенной с MS SQL базой нужно показать только время (ЧЧ:мм), если дата совпадает с настоящей, иначе...

Есть строка (S), как в ней заменить символ (a) на символ (b) - Turbo Pascal
Есть строка (S), как в ней заменить символ (a) на символ (b)?

Если длина строки четная, то удалить каждый второй символ, если нечетная, то удалить первый и последний символ - Delphi
Помогите пжл. решить задачу. Дана строка если ее длина четная то удалить каждый второй символ, если нечетная то удалить первый и...

Есть ли во введенной строке символов символ точка. Если есть, выводится символ «Ok» или «Not» - Assembler
Построить и отладить программу на Ассемблере, которая: Определяет, есть ли во введенной строке символов символ точка. Если есть,...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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