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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.67
mexmet20
1 / 1 / 0
Регистрация: 15.05.2011
Сообщений: 16
#1

Работа с битами И Работа с символьными данными - C++

22.05.2011, 16:33. Просмотров 2024. Ответов 12
Метки нет (Все метки)

1. Ввести 8 символов. В символе с наибольшим кодом заменить 5-й бит единицей, а в символе с наименьшим кодом 6-й бит - нулем.
Вывести исходную последовательность, ее восьмеричные коды; пребразованную последовательность и ее восьмеричные коды.

2. Прочитать из файла строку символов. В этой строке подсчитать, сколько символов стоят перед символом ?, все последующие заменить символами !. Новую строку не создавать. Вывести исходную и преобразованную строки.

Если сможете помощь помогите пожалуста!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.05.2011, 16:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа с битами И Работа с символьными данными (C++):

Работа с символьными данными - C++
Ребята , хелп ми,плиз !! Очень надо , а я чайник полнейший ((( Прочитать из файла строку символов. Выяснить, имеется ли в этой строке...

Работа с символьными данными - C++
как писать эту на программе с++ Прочитать из файла строку символов. Изменить ее, заменив две подряд встречающиеся буквы СН символом S....

Работа с символьными и тестовыми данными - C++
Надо написать программу на С++. Помогите пожалуйста!!! Задание: Текст представляет собой арифметическое выражение. Проверить...

Работа с символьными данными. Упорядочить фамилии по алфавиту - C++
Нужна помощь. помогите решить задачу) УСЛОВИЕ: Список фамилий вводится через запитую в виде строки. Упорядочить фамилии по алфавиту.

напишите программу!!! тема "работа с символьными данными"!!! - C++
Прочитать из файла строку символов. Удалить в этой строке каждый символ * и повторить каждый символ, отличный от *. Новую строку не...

Работа с битами. - C++
Здрасте. Дана задача: Определить на сколько в числе А больше значущих битов, что равны единице, чем битов, что равны нулю. Помогите...

12
hanamphong
0 / 0 / 0
Регистрация: 23.05.2011
Сообщений: 5
23.05.2011, 20:46 #2
помогите^^

Добавлено через 4 часа 45 минут
никто может решить эту задачу???

Добавлено через 7 часов 59 минут
пожалуйста! мне надо скоро!
0
Aneron
158 / 157 / 12
Регистрация: 20.04.2010
Сообщений: 574
23.05.2011, 20:59 #3
геморно.однако
0
hanamphong
0 / 0 / 0
Регистрация: 23.05.2011
Сообщений: 5
25.05.2011, 00:22 #4
где хороший програмист?
^^
0
ValeryLaptev
Эксперт С++
1046 / 825 / 48
Регистрация: 30.04.2011
Сообщений: 1,659
25.05.2011, 00:48 #5
Цитата Сообщение от mexmet20 Посмотреть сообщение
1. Ввести 8 символов. В символе с наибольшим кодом заменить 5-й бит единицей, а в символе с наименьшим кодом 6-й бит - нулем.
Вывести исходную последовательность, ее восьмеричные коды; пребразованную последовательность и ее восьмеричные коды.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
typedef unsigned char byte;                       // просто для удобства
const byte bit5 = 0x10;
const byte bit6 = 0x20;
byte symbols[8]={0};
int i = 0; 
byte Max = symbols[0]; int kMax = 0;
byte Min  = symbols[0]; int kMin = 0;
while(i < 8)             // Max и Min вычислять необязательно --
{ if (symbols[i] > Max)     { Max = symbols[i]; kMax = i; } 
  else if(symbols[i] < Min) { Min = symbols[i]; int kMin = 0; }
}
for(int i = 0; i < 8; ++i) cout << symbols[i] << '-' << oct << int(symbols[i]) << endl;
simbol[kMax] = simbol[kMax] | bit5;
simbol[kMax] = simbol[kMax] | ~bit6;
for(int i = 0; i < 8; ++i) cout << symbols[i] << '-' << oct << int(symbols[i]) << endl;
Как-то так...
Только ввода - нет.
0
hanamphong
0 / 0 / 0
Регистрация: 23.05.2011
Сообщений: 5
25.05.2011, 18:59 #6
thank.еще одно задание помогите................

2. Прочитать из файла строку символов. В этой строке подсчитать, сколько символов стоят перед символом ?, все последующие заменить символами !. Новую строку не создавать. Вывести исходную и преобразованную строки.
0
Nameless One
Эксперт С++
5780 / 3429 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
25.05.2011, 19:16 #7
Чтение из файла прикручивай сам:
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
#include <iostream>
#include <string>
#include <algorithm>
 
int main(int argc, char* argv[])
{
    if(argc != 2)
    {
    std::cerr << "Usage: " << *argv << " LINE" << std::endl;
    return -1;
    }
    
    std::string string(argv[1]);
 
    size_t cnt = string.find('?');
 
    if(cnt == std::string::npos)
    std::cout << "No occurence of character `?' in line: " << string << std::endl;
    else
    {
    std::fill(string.begin() + cnt + 1, string.end(), '!');
    std::cout << "Count of characters before `?': " << cnt << std::endl
          << "Processed line: " << string << std::endl;
    }
        
    return 0;
}
0
hanamphong
0 / 0 / 0
Регистрация: 23.05.2011
Сообщений: 5
25.05.2011, 22:10 #8
Цитата Сообщение от ValeryLaptev Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
typedef unsigned char byte;                       // просто для удобства
const byte bit5 = 0x10;
const byte bit6 = 0x20;
byte symbols[8]={0};
int i = 0; 
byte Max = symbols[0]; int kMax = 0;
byte Min  = symbols[0]; int kMin = 0;
while(i < 8)             // Max и Min вычислять необязательно --
{ if (symbols[i] > Max)     { Max = symbols[i]; kMax = i; } 
  else if(symbols[i] < Min) { Min = symbols[i]; int kMin = 0; }
}
for(int i = 0; i < 8; ++i) cout << symbols[i] << '-' << oct << int(symbols[i]) << endl;
simbol[kMax] = simbol[kMax] | bit5;
simbol[kMax] = simbol[kMax] | ~bit6;
for(int i = 0; i < 8; ++i) cout << symbols[i] << '-' << oct << int(symbols[i]) << endl;
Как-то так...
Только ввода - нет.
hix....не работает^^

Добавлено через 4 минуты
Цитата Сообщение от Nameless One Посмотреть сообщение
Чтение из файла прикручивай сам:
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
#include <iostream>
#include <string>
#include <algorithm>
 
int main(int argc, char* argv[])
{
    if(argc != 2)
    {
    std::cerr << "Usage: " << *argv << " LINE" << std::endl;
    return -1;
    }
    
    std::string string(argv[1]);
 
    size_t cnt = string.find('?');
 
    if(cnt == std::string::npos)
    std::cout << "No occurence of character `?' in line: " << string << std::endl;
    else
    {
    std::fill(string.begin() + cnt + 1, string.end(), '!');
    std::cout << "Count of characters before `?': " << cnt << std::endl
          << "Processed line: " << string << std::endl;
    }
        
    return 0;
}
я не учился до четения из фаилов .поэтому я не мог закончить зту задачу.она не работает.пожалуста .дайте мне полное решение.
0
fasked
Эксперт С++
4963 / 2543 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
25.05.2011, 22:13 #9
И чего все так с битами мудрят, биты они же на то и биты, что простые, атомарные...
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
#include <stdio.h>
 
#define SETBIT(x, nbit)   (x | nbit)
#define UNSETBIT(x, nbit) (x & (x ^ nbit))
 
int main()
{
   int x = 0;
 
   x = SETBIT(x, 1);
   printf("%d ", x);
 
   x = SETBIT(x, 2);
   printf("%d ", x);
   
   x = UNSETBIT(x, 2);
   printf("%d ", x);
   
   x = UNSETBIT(x, 1);
   printf("%d ", x);
   
   x = UNSETBIT(x, 2);
   printf("%d ", x);
}
1
Nameless One
Эксперт С++
5780 / 3429 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
26.05.2011, 04:38 #10
Цитата Сообщение от hanamphong Посмотреть сообщение
я не учился до четения из фаилов .поэтому я не мог закончить зту задачу.она не работает.пожалуста .дайте мне полное решение.
Цитата Сообщение от hanamphong Посмотреть сообщение
2. Прочитать из файла строку символов. В этой строке подсчитать, сколько символов стоят перед символом ?, все последующие заменить символами !. Новую строку не создавать. Вывести исходную и преобразованную строки.
Если бы тебя не учили работать с файлами, то тебе никто бы такое задание не дал.
0
pito211
186 / 173 / 8
Регистрация: 22.03.2010
Сообщений: 612
26.05.2011, 05:07 #11
Цитата Сообщение от mexmet20 Посмотреть сообщение
1. Ввести 8 символов. В символе с наибольшим кодом заменить 5-й бит единицей, а в символе с наименьшим кодом 6-й бит - нулем.
Вывести исходную последовательность, ее восьмеричные коды; пребразованную последовательность и ее восьмеричные коды.

2. Прочитать из файла строку символов. В этой строке подсчитать, сколько символов стоят перед символом ?, все последующие заменить символами !. Новую строку не создавать. Вывести исходную и преобразованную строки.

Если сможете помощь помогите пожалуста!!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
        int max, min;
    max = _getch();
 
    _asm
    {
            xor eax, eax
            mov eax, max
            mov ecx, 00000005h
            bts eax, ecx
            mov max, eax
    }
        
        _asm
    {
            xor eax, eax
            mov eax, min
            mov ecx, 00000006h
            btr eax, ecx
            mov min, eax
    }
0
hanamphong
0 / 0 / 0
Регистрация: 23.05.2011
Сообщений: 5
26.05.2011, 19:53 #12
Цитата Сообщение от Nameless One Посмотреть сообщение
Если бы тебя не учили работать с файлами, то тебе никто бы такое задание не дал.

вы понимаете . у меня лекция и пратика разные.на лекции я не учился с фаилами но преподаватель на практика дал мне такое задание.
0
ValeryLaptev
Эксперт С++
1046 / 825 / 48
Регистрация: 30.04.2011
Сообщений: 1,659
26.05.2011, 23:18 #13
Цитата Сообщение от hanamphong Посмотреть сообщение
вы понимаете . у меня лекция и пратика разные.на лекции я не учился с фаилами но преподаватель на практика дал мне такое задание.
А книжки на что? Книжки надо читать!
И ты не сказал, что не работает с битами-то?
0
26.05.2011, 23:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.05.2011, 23:18
Привет! Вот еще темы с ответами:

работа с битами - C++
доброй ночи, форумчане, необходима ваша помощь) как и всем тут... вот изучаю с++ и добрался до работы с битами, учу решением задач. на...

Работа с битами - C++
Стоит задача: вывести все двоичные коды чисел от 0 и до 2n-1. Сделать напролом могу(переводить в цикле каждое число в двоичную с-му и...

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

Работа с битами. - C++
помогите!! как писать эту на программе с++ Ввести последовательность из 8 символов. Сравнить 5-й и 6-й биты каждого символа. Если они...


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

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

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