- •Лабораторная работа № 1. Системы счисления
- •Лабораторная работа № 2. Способы представления алгоритмов
- •Лабораторная работа № 4. Ввод и вывод информации
- •Лабораторная работа № 5. Разветвляющиеся программы
- •Лабораторная работа № 6. Циклические программы
- •Лабораторная работа №7. Отладка программы
- •Лабораторная работа № 9
- •Лабораторная работа №10
- •Лабораторная работа № 11
- •Лабораторная работа № 12
- •Лабораторная работа № 13
- •Лабораторная работа № 14
- •Лабораторная работа № 15
- •Лабораторная работа №16
- •Лабораторная работа №17
Лабораторная работа № 11
12 |
|
1.
# include <iostream>
using namespace std;
void main()
{
setlocale(LC_CTYPE, "Russian");
int A; char tmp[33];
const unsigned int maskA = 0xF8;
cout << "Введите число ";
cin >> A;
_itoa_s(A, tmp, 2);
cout << "Число в двоичном виде = " << tmp << endl;
_itoa_s(A ^ maskA, tmp, 2);
cout << "Результат инвертирования = " << tmp << endl;
}
2.
#include <iostream>
using namespace std;
void main()
{
setlocale(LC_CTYPE, "Russian");
int A, B, n, p, m, q; char tmp[33];
unsigned int maskA = 0, maskB = 0, maskB1 = 0, maskM = 0;
cout << "Введите число А: ";
cin >> A;
cout << "Введите число n: ";
cin >> n;
cout << "Введите число p: ";
cin >> p;
for (int i = 1; i <= p; i++)
maskA = maskA << 1 | 1; // получаем р едениц
maskB = maskA << (n - p);
maskA = ~maskB;
_itoa_s(A, tmp, 2);
cout << " Число А: " << tmp << endl;
_itoa_s(A & maskA, tmp, 2);
cout << " Результат A: " << tmp << endl << endl;
cout << "Введите число B: ";
cin >> B;
cout << "Введите число m: ";
cin >> m;
cout << "Введите число q: ";
cin >> q;
maskB = A & maskB;
maskB = maskB >> (n - p);
for (int i = 1; i <= m; i++)
maskM = maskM << 1 | 1;
if (m < p)
maskB = maskB & maskM;
else
{
for (int j = 0; j < (m - p); j++)
maskB = maskB | (1 << (p - j));
}
maskB1 = ~(maskM << (q - m));
maskB = maskB << (q - m);
_itoa_s(B, tmp, 2);
cout << " Число B: " << tmp<<endl;
_itoa_s((B & maskB1) | maskB, tmp, 2);
cout << " Результат B: " << tmp << endl << endl;
}
Лабораторная работа № 12
12 |
1. Заданы два массива A и B, каждый из n элементов. Подсчитать количество таких чисел k, для которых: A[k] = B[k], A[k] > B[k] и A[k] < B[k]. 2. В одномерном массиве A найти номера всех элементов массива, которые равны, больше и меньше некоторого числа k. |
1.
#include <iostream>
void main()
{
setlocale(LC_CTYPE, "Russian");
using namespace std;
const int n = 10;
int A[n], B[n], k, count1 = 0, count2 = 0, count3 = 0;
cout << "Введите массив А: ";
for (int i = 0; i < n; i++)
cin >> *(A + i);
cout << "Введите массив В: ";
for (int i = 0; i < n; i++)
cin >> *(B + i);
for (int k = 0; k < n; k++)
if (*(A + k) == *(B + k))
count1++;
for (int k = 0; k < n; k++)
if (*(A + k) > *(B + k))
count2++;
for (int k = 0; k < n; k++)
if (*(A + k) < *(B + k))
count3++;
cout << "Колличество А[k]=В[k]: " << count1 << endl;
cout << "Колличество А[k]>В[k]: " << count2 << endl;
cout << "Колличество А[k]<В[k]: " << count3 << endl;
}
2.
#include <iostream>
using namespace std;
void main()
{
setlocale(LC_CTYPE, "Russian");
const int n = 10;
int A[n], k;
cout << "Введите k: ";
cin >> k;
cout << "Введите массив А: ";
for (int i = 0; i < n; i++)
cin >> *(A + i);
cout << "Индексы А[i]=k: ";
for (int i = 0; i < n; i++)
if (*(A + i) == k)
cout << i << " ";
cout << endl << "Индексы А[i]>k: ";
for (int i = 0; i < n; i++)
if (*(A + i) > k)
cout << i << " ";
cout << endl << "Индексы А[i]<k: ";
for (int i = 0; i < n; i++)
if (*(A + i) < k)
cout << i << " ";
}