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

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

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

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

19.01.2011, 21:20. Просмотров 1019. Ответов 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 */
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.01.2011, 21:20     Решение 4х примеров
Посмотрите здесь:

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

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

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

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

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

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

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

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

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

Ошибка при запуска любого из проектов примеров directx sdk - C++
Вот собственно и ошибка LINK : fatal error LNK1123: сбой при преобразовании в COFF: файл недопустим или поврежден


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
2923 / 1352 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
19.01.2011, 21:36     Решение 4х примеров #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;
}
Ответ Создать тему
Опции темы

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