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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.67
mexmet20
1 / 1 / 0
Регистрация: 15.05.2011
Сообщений: 16
22.05.2011, 16:33     Работа с битами И Работа с символьными данными #1
1. Ввести 8 символов. В символе с наибольшим кодом заменить 5-й бит единицей, а в символе с наименьшим кодом 6-й бит - нулем.
Вывести исходную последовательность, ее восьмеричные коды; пребразованную последовательность и ее восьмеричные коды.

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

Если сможете помощь помогите пожалуста!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.05.2011, 16:33     Работа с битами И Работа с символьными данными
Посмотрите здесь:

C++ Работа с битами
C++ Работа с битами.
C++ Работа с символьными данными
Работа с символьными данными C++
C++ Работа с битами
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
hanamphong
0 / 0 / 0
Регистрация: 23.05.2011
Сообщений: 5
23.05.2011, 20:46     Работа с битами И Работа с символьными данными #2
помогите^^

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

Добавлено через 7 часов 59 минут
пожалуйста! мне надо скоро!
Aneron
 Аватар для Aneron
157 / 156 / 12
Регистрация: 20.04.2010
Сообщений: 570
23.05.2011, 20:59     Работа с битами И Работа с символьными данными #3
геморно.однако
hanamphong
0 / 0 / 0
Регистрация: 23.05.2011
Сообщений: 5
25.05.2011, 00:22     Работа с битами И Работа с символьными данными #4
где хороший програмист?
^^
ValeryLaptev
Эксперт C++
1005 / 784 / 46
Регистрация: 30.04.2011
Сообщений: 1,595
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;
Как-то так...
Только ввода - нет.
hanamphong
0 / 0 / 0
Регистрация: 23.05.2011
Сообщений: 5
25.05.2011, 18:59     Работа с битами И Работа с символьными данными #6
thank.еще одно задание помогите................

2. Прочитать из файла строку символов. В этой строке подсчитать, сколько символов стоят перед символом ?, все последующие заменить символами !. Новую строку не создавать. Вывести исходную и преобразованную строки.
Nameless One
Эксперт С++
 Аватар для Nameless One
5754 / 3403 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
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;
}
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;
}
я не учился до четения из фаилов .поэтому я не мог закончить зту задачу.она не работает.пожалуста .дайте мне полное решение.
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 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);
}
Nameless One
Эксперт С++
 Аватар для Nameless One
5754 / 3403 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
26.05.2011, 04:38     Работа с битами И Работа с символьными данными #10
Цитата Сообщение от hanamphong Посмотреть сообщение
я не учился до четения из фаилов .поэтому я не мог закончить зту задачу.она не работает.пожалуста .дайте мне полное решение.
Цитата Сообщение от hanamphong Посмотреть сообщение
2. Прочитать из файла строку символов. В этой строке подсчитать, сколько символов стоят перед символом ?, все последующие заменить символами !. Новую строку не создавать. Вывести исходную и преобразованную строки.
Если бы тебя не учили работать с файлами, то тебе никто бы такое задание не дал.
pito211
 Аватар для 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
    }
hanamphong
0 / 0 / 0
Регистрация: 23.05.2011
Сообщений: 5
26.05.2011, 19:53     Работа с битами И Работа с символьными данными #12
Цитата Сообщение от Nameless One Посмотреть сообщение
Если бы тебя не учили работать с файлами, то тебе никто бы такое задание не дал.

вы понимаете . у меня лекция и пратика разные.на лекции я не учился с фаилами но преподаватель на практика дал мне такое задание.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.05.2011, 23:18     Работа с битами И Работа с символьными данными
Еще ссылки по теме:

напишите программу!!! тема "работа с символьными данными"!!! C++
Работа с символьными данными. Упорядочить фамилии по алфавиту C++
Работа с символьными и тестовыми данными C++

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

Или воспользуйтесь поиском по форуму:
ValeryLaptev
Эксперт C++
1005 / 784 / 46
Регистрация: 30.04.2011
Сообщений: 1,595
26.05.2011, 23:18     Работа с битами И Работа с символьными данными #13
Цитата Сообщение от hanamphong Посмотреть сообщение
вы понимаете . у меня лекция и пратика разные.на лекции я не учился с фаилами но преподаватель на практика дал мне такое задание.
А книжки на что? Книжки надо читать!
И ты не сказал, что не работает с битами-то?
Yandex
Объявления
26.05.2011, 23:18     Работа с битами И Работа с символьными данными
Ответ Создать тему
Опции темы

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