![]()
|
|||||||
Задание 4.4. Моделирование в задачах преобразования строкЗадание 4.4. Моделирование в задачах преобразования строк 10.Индивидуальное заданиеЗадан список слов, перечисленных через пробел. Преобразовать все слова так, чтобы все гласные стояли в конце слова.
Код программы: #include <stdio.h> #include <string.h> #include <ctype.h> #include <iostream> using namespace std; char* str_part(char* s) { char* i, c, * j, * p, * t = s; const char vs[] = "AEIUOYaeiuoy";
while ((s = strpbrk(s, vs)) != NULL) { for (j = s; *j && !isspace(*j); ++j) ; i = s; s = j--; while ((j >= i) && (strchr(vs, *j) != NULL)) --j;
while (i < j) { if (strchr(vs, *i) != NULL) { for (p = i; p < j; ++p) { c = *p; *p = *(p + 1); *(p + 1) = c; } --j; } else ++i; } } return t; }
int main() { system("chcp 1251"); char s[256] ; cout << "Введите слова\t"; cin.getline ( s,255 ); cout << "Вы ввели\t"; puts(s); cout << "\nОтвет\t"; puts(str_part(s)); return 0; } Контрольный пример: Задание 5.1. Генерация, вывод и поиск в одномерном массиве 10.Индивидуальное задание Дан целочисленный массив, состоящий из n элементов. Преобразовать его, умножив все его элементы на минимальный элемент. Минимальный элемент массива не изменять Код программы: #include <iostream> using namespace std; int main() { system("chcp 1251"); cout << "Введите количество элементов\t"; int n; cin >> n; int* q = new int[n]; int a, b; cout << "Диапозон от\t"; cin >> a; cout << "до\t"; cin >> b; int min = NULL; cout << "Массив\n"; for (int i = 0; i < n; i++)
q[i] = rand() % (b - a + 1) + a; cout << q[i] << "\t"; if (min == NULL) min = q[i]; if (min > q[i]) min = q[i]; } cout << "\nMin=\t" << min<<"\n"; cout << "Ответ\n"; for (size_t i = 0; i < n; i++) { cout << q[i]*min << "\t"; } } Контрольный пример:
|
|||||||
|