Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОАП12вар1Сем.docx
Скачиваний:
7
Добавлен:
30.01.2023
Размер:
1.3 Mб
Скачать

Лабораторная работа № 13

12

1. Зашифровать введенную с клавиатуры строку, поменяв местами первый символ со вторым, третий с четвертым и т. д.

2. Дана строка символов, состоящая из букв, цифр, запятых, точек, знаков «+» и «–». Найти количество запятых и точек.

1.

#include <iostream>

#include <Windows.h>

using namespace std;

int main() {

char word[100], temp;

gets_s(word);

int size = strlen(word);

for (int i = 0; i < size;i++) {

if (i % 2 == 0 && i != size - 1) {

temp = word[i + 1];

word[i + 1] = word[i];

word[i] = temp;

}

}

cout << endl;

for (int i = 0; i < size;i++) {

cout << word[i];

}

}

2.

#include <iostream>

#include <stdio.h>

#include <cstring>

using namespace std;

int main()

{

setlocale(LC_ALL, "rus");

char t[99];

int i, f = 0, n, k=0;

cout << "Введите строку " << endl;

gets_s(t);

n = strlen(t);

for (i = 0; i < n; i++)

{

if (t[i] == '.') f += 1;

if(t[i] == ',') k += 1;

}

cout << " Точек : " << f<<endl;

cout << "Запятые:" << k;

}

Лабораторная работа № 14

12

1. Дана целочисленная матрица A(n, m). Вычислить сумму и произведение нечётных отрицательных элементов матрицы, удовлетворяющих условию | ai j | < i.

2. Проверить, все ли строки матрицы содержат хотя бы один положительный элемент. Если да, то изменить знаки всех элементов матрицы на обратные.

1.

#include <iostream>

void main()

{ setlocale(LC_CTYPE, "Russian");

using namespace std;

const int n = 4, m = 4;

int B[n][m];

int i, j, S=0, P=1;

cout << "Введите элементы массива" << endl;

for (i = 0; i < n; i++)

for (j = 0; j < m; j++)

cin >> B[i][j];

cout << " Массив:" << endl;

for (int i = 0; i < n; i++)

{ cout << "\n";

for (int j = 0; j < m; j++)

cout << B[i][j] << " ";

}

for (i = 0;i < n;i++)

for (j = 0;j < m;j++) {

if (abs(B[i][j]) <= i) {

S = S + B[i][j];

P = P * B[i][j];

}

}

cout << "Сумма =" << S << endl;

cout << "Произведение=" << P<<endl;

}

2.

#include <iostream>

# include <ctime>

using namespace std;

int main()

{

setlocale(LC_ALL, "rus");

const int N = 99;

int m, n, A[N][N], i, j;

bool result = false;

srand((unsigned)time(NULL));

cout << "Количество строк ";

cin >> m;

cout << "Количество столбцов ";

cin >> n;

for (i = 0; i < m; i++)

{

for (j = 0; j < n; j++)

A[i][j] = rand() % 99 - 50;

}

cout << "Исходный массив:" << endl;

for (i = 0; i < m; i++)

{

for (j = 0; j < n; j++) {

cout.width(4);

cout << A[i][j];

}

cout << endl;

}

for (int i = 0; i < m; i++)

{

for (int j = 0; j < n; j++)

if (*(*(A + i) + j) > 0)

{

result = true;

break;

}

}

if (result)

for (int i = 0; i < m; i++)

for (int j = 0; j < n;j++)

*(*(A + i) + j) *= -1;

cout << " Результат:" << endl;

for (int i = 0; i < m; i++)

{

cout << "\n";

for (int j = 0; j < n; j++) {

cout.width(4);

cout << *(*(A + i) + j);

}

}cout << endl;

}