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

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

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

Решение 4х примеров - C++

19.01.2011, 21:20. Просмотров 1092. Ответов 1
Метки нет (Все метки)

Здравствуйте у меня есть небольшая проблема.
Необходимо решить 4 задачи по Си - Автор Богатырев.
Номер заданий :
  • 1,86;
  • 2,3;
  • 2,30;
  • 2,31;

1.86.

Напишите программу, которая устанавливает в 1 бит 3 и сбрасывает в 0 бит 6.

Биты в слове нумеруются с нуля справа налево. Ответ:

int x = 0xF0;
x |= (1 << 3);
x &= ~(1 << 6);
В программах часто используют битовые маски как флаги некоторых параметров (признак есть или нет). Например:
#define A 0x08 /* вход свободен */
#define B 0x40 /* выход свободен */
установка флагов : x |= A|B;
сброс флагов : x &= ~(A|B);
проверка флага A : if( x & A ) ...;
проверка, что оба флага есть: if((x & (A|B)) == (A|B))...;
проверка, что обоих нет : if((x & (A|B)) == 0 )...;
проверка, что есть хоть один: if( x & (A|B))...;
проверка, что есть только A : if((x & (A|B)) == A)...;
проверка, в каких флагах
различаются x и y : diff = x ^ y;
2.3. Пусть задан массив int arr[10]; что тогда означают выражения:

arr[0] *arr *arr + 2
arr[2] *(arr + 2) arr
&arr[2] arr+2
2.30. Напишите программу, спрашивающую ваше имя до тех пор, пока вы его правильно не
введете. Для сравнения строк используйте функцию strcmp() (ее реализация есть в главе
"Мобильность").
2.31. Какие значения возвращает функция strcmp() в следующей программе?

#include <stdio.h>
main() {
printf("%d\n", strcmp("abc", "abc")); /* 0 */
printf("%d\n", strcmp("ab" , "abc")); /* -99 */
printf("%d\n", strcmp("abd", "abc")); /* 1 */
printf("%d\n", strcmp("abc", "abd")); /* -1 */
printf("%d\n", strcmp("abc", "abe")); /* -2 */
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.01.2011, 21:20
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Решение 4х примеров (C++):

Классы в решение примеров - C++
Не могу разобраться в чем ошибка...нужно было решить 2 выражения с помощью классов... в итоге выводит 4 ошибки типа ...

Решение 2 математических примеров на C++ - C++
Помогите решить данные задачи, как можно понятнее. Наградой будет 100 рублей на телефон, конечно маловато но возможности дать больше нет.

Доработка примеров учебника. - C++
Доброго времени суток! Изучая структура повторения while, и рассматривая приведенные примеры немного доработал код для (как мне кажется)...

Задача с решением примеров - C++
Всем привет! Ребят,есть задание: написать программу,которая решает любые примеры(количество используемых чисел и знаков не ограничено...

Компилятор для примеров из книги по С++ - C++
Я начал читать книгу &quot;Джесс Либерти - Освой самостоятельно С++ за 21 день&quot;. Выбрал компилятор Borland C++ Builder 6, но сним возникли...

Приведите 10 примеров непереносимого кода - C++
Задача: Приведите 10 различных примеров непереносимого кода на С++. Ну первый пример сразу мне бросился в глаза,при регистрации на...

1
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
19.01.2011, 21:36 #2
Цитата Сообщение от synapse Посмотреть сообщение
2.3. Пусть задан массив int arr[10]; что тогда означают выражения:
arr[0] *arr *arr + 2
arr[2] *(arr + 2) arr
&arr[2] arr+2
arr[0] // значение первого элемента массива
*arr // значение первого элемента массива
*arr + 2 // значение первого элемента массива, увеличенное на два
arr[2] // значение третьего элемента массива
*(arr + 2) // значение третьего элемента массива
arr // адрес первого элемента массива
&arr[2] // адрес третьего элемента массива
arr+2 // адрес третьего элемента массива

Добавлено через 9 минут
Цитата Сообщение от synapse Посмотреть сообщение
2.30. Напишите программу, спрашивающую ваше имя до тех пор, пока вы его правильно не
введете. Для сравнения строк используйте функцию strcmp() (ее реализация есть в главе
"Мобильность").
Например, можно так.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
 
int main(int argc, char *argv[]) {
  const char *my_name = "synapse";
  size_t k_buffer_size = 1024;
  char *buffer = malloc(k_buffer_size);
  do {
    printf("Please, enter your name (%s): ", my_name);
    fgets(buffer, k_buffer_size, stdin);
    buffer[strlen(buffer) - 1] = '\0';
  } while (strcmp(my_name, buffer)!=0);
  free(buffer);
  return 0;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.01.2011, 21:36
Привет! Вот еще темы с ответами:

Генератор простых арифметических примеров - C++
Доброго времени суток. Нужно написать программу, которая генерирует примеры, которые нужно решить. Например: 5 + 6 * 2, или 5 + (10 -...

Список простых примеров на С++ с решениями - C++
Напишите, пожалуйста несколько самых простеньких заданий на С++ а точнее Visual C++ 2010 (если это имеет значение) Заранее спасибо.

Проверка 3-ех примеров (Решать ничего не нужно) - C++
Всем привет! =) У меня такая проблемка,кто сталкивался,или может решить,помогите пожалуйста =) Буду очень признателен! Итак,даны три...

Подскажите пару примеров решения задач на массивы и указатели - C++
Подскажите пожалуйста пару задачек для решения на массивы и указатели! Искала в и-нете. То слишком сложно то наоборот


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

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

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