Добавил:
ПОИТ 2016-2020 Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
97
Добавлен:
29.04.2018
Размер:
1.12 Mб
Скачать

Лабораторная работа № 12. Обработка символьной информации

7

Преобразовать строку: после каждой буквы a добавить символ !

#include <iostream>

using namespace std;

void main()

{

setlocale(LC_CTYPE, "Russian");

char name[30], str[] = "!";

int n;

cout << "Input " << endl;

cin >> name;

n = strlen(name);

for (int i = 0; name[i]!='\0'; i++)

{

if (name[i] == 'a')

{

for (int j = n+1; j!=i; j--)

{

name[j + 1] = name[j];

}

name[i+1] = '!';

}

}

cout << "Output :\n" << name << endl;

}

#include <iostream>

using namespace std;

void main()

{

setlocale(LC_CTYPE, "Russian");

char name[30], str[] = "!";

int n;

char *p = name;

cout << "Input " << endl;

cin >> name;

n = strlen(name);

for (int i = 0; *(p+i) != '\0'; i++)

{

if (name*(i+i) == 'a')

{

for (int j = n + 1; j != i; j--)

{

Name*(j+(i) + 1) = name*(j+j);

}

Name*(I + (i) + 1) = '!';

}

}

cout << "Output :\n" << name << endl;

}

10

Написать программу, которая записывает строку в обратном порядке.

#include <iostream>

void main()

{

char name[30];

int n;

gets_s(name);

n = strlen(name);

for (int i = n; i > 0; i--)

std::cout << name[i - 1];

std::cout << std::endl;

}

#include <iostream>

void main()

{

char name[30];

int n;

gets_s(name);

n = strlen(name);

for (int i = n; i > 0; i--)

std::cout << *(name + (i) - 1);

std::cout << std::endl;

}

Лабораторная работа № 13. Многомерные массивы

7

Дана матрица A(N, M). Поменять местами её наибольший и наименьший элементы.

#include <iostream>

void main()

{

setlocale(LC_CTYPE, "Russian");

using namespace std;

int n, m;

cout << "Введите n = ";

cin >> n;

cout << "Введите m = ";

cin >> m;

int B[100][100];

int i, j, row = 0, colum = 0;

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

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

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

cin >> B[i][j];

int min = B[0][0];

int max = B[0][0];

int minX = 0;

int minY = 0;

int maxX = 0;

int maxY = 0;

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

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

if (min > B[i][j])

{

min = B[i][j];

minX = i;

minY = j;

} else

if (max < B[i][j]) {

max = B[i][j];

maxX = i;

maxY = j;

}

B[minX][minY] = max;

B[maxX][maxY] = min;

cout << "Минимальный элемент B[" << minX << "," << minY << "] =" << min << endl;

cout << "Максимальный элемент B[" << maxX << "," << maxY << "] =" << max << endl;

cout << " Результирующий массив:" << endl;

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

{

cout << "\n";

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

cout << "B[" << i << "," << j << "] =" << B[i][j] << "\t";

}

cout << endl;

}

#include <iostream>

void main()

{

setlocale(LC_CTYPE, "Russian");

using namespace std;

int n, m;

cout << "Введите n = ";

cin >> n;

cout << "Введите m = ";

cin >> m;

int B[100][100];

int i, j, row = 0, colum = 0;

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

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

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

cin >> *(*(B + i) + j);

int min = B[0][0];

int max = B[0][0];

int minX = 0;

int minY = 0;

int maxX = 0;

int maxY = 0;

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

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

if (min > *(*(B + i) + j))

{

min = *(*(B + i) + j);

minX = i;

minY = j;

} else

if (max < *(*(B + i) + j)) {

max = *(*(B + i) + j);

maxX = i;

maxY = j;

}

*(*(B + minX) + minY) = max;

*(*(B + maxX) + maxY) = min;

cout << "Минимальный элемент B[" << minX << "," << minY << "] =" << min << endl;

cout << "Максимальный элемент B[" << maxX << "," << maxY << "] =" << max << endl;

cout << " Результирующий массив:" << endl;

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

{

cout << "\n";

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

cout << "B[" << i << "," << j << "] =" << *(*(B + i) + j) << "\t";

}

cout << endl;

}

9

Дана матрица A(N, N). Переписать элементы её главной диагонали в одномерный массив Y(N) и разделить их на максимальный элемент главной диагонали.

#include <iostream>

void main()

{

setlocale(LC_CTYPE, "Russian");

using namespace std;

int n;

cout << "Введите n = ";

cin >> n;

int B[100][100];

int i, j;

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

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

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

cin >> B[i][j];

float Y[100];

int max = B[0][0];

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

{

if (max < B[i][i])

max = B[i][i];

Y[i] = B[i][i];

}

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

Y[i] = Y[i] / max;

cout << "Максималный элемент: " << max << endl;

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

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

{

cout << "Y[" << i << "] = " << Y[i] << " ";

}

}

#include <iostream>

void main()

{

setlocale(LC_CTYPE, "Russian");

using namespace std;

int n;

cout << "Введите n = ";

cin >> n;

int B[100][100];

int i, j;

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

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

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

cin >> *(*(B + i) + j);

float Y[100];

int max = B[0][0];

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

{

if (max < *(*(B + i) + i))

max = *(*(B + i) + i);

*(Y + i) = *(*(B + i) + i);

}

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

*(Y + i) = *(Y + i) / max;

cout << "Максималный элемент: " << max << endl;

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

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

{

cout << "Y[" << i << "] = " << *(Y + i) << " ";

}

}

Соседние файлы в папке Пустовалова 1 сем