Лабораторная № 3 Програмирование. Лаб3(2021). Лабораторная работа 3 по теме " Массивы и строки". Цель работы приобретение навыков получение навыков описания одномерных и двумерных массивов
Скачать 222.5 Kb.
|
Индивидуальные заданияГруппы А «Одномерные массивы»Задание. Написать программу для формирования и печати одномерного массива. Сформированный массив выдать на экран до и после сортировки: если номер варианта четный – расположить элементы по убыванию, если номер варианта нечетный – по возрастанию. Выполнить индивидуальное задание. Оформление отчёта для задания А по аналогии с предыдущими лабораторными, т.е. Таблица спецификаций, Блок схема или словесное описание алгоритма, Таблицу тестов, Программу на языке C++. Вариант индивидуального задания. Из элементов целочисленного вектора С(n), n12, кратных заданному целому числу T, сформировать вектор В. Выполнить сдвиг полученного массива вправо на одну позицию. Задан вектор Х(n), n12. Сформировать вектор В из Xi, превышающих величину М=(minx + maxx)/2 , где minx и maxx – наименьшее и наибольшие значения элементов Xi. Даны два целочисленных вектора А(n) и B(n), n12. Сформировать вектор С из НОК(a[i],b[i]) ( НОК – наименьшее общее кратное). Дан вектор Y(n), n12. Сформировать вектор С из ненулевых элементов вектора Y, предшествующих первому отрицательному элементу вектора. Дан целый вектор A(n), n14. Сформировать вектор Х из тех элементов Ai, значения которых простые числа. Задан целый вектор X(n), n16. Сформировать массив К из тех элементов вектора Х, которые являются степенью числа 2. Задан целый вектор A(n), n12. Сформировать вектор Х из тех элементов вектора А, сумма цифр которых в десятичной записи больше заданного числа N. Задан вектор A(n), n12. Сформировать вектор Х из элементов вектора А, значения которых не превышают среднее арифметическое массива А. Выполнить сдвиг полученного массива вправо на две позиции. Дан целый массив А(n), n12. Сформировать вектор М из элементов А[i], значения которых кратны 5 и не кратны 7. Выполнить сдвиг полученного массива влево на одну позицию. Дан целый вектор М(n), n12. Сформировать вектор А, элементы которого A[i] равны количеству цифр в десятичной записи элемента М[i]. Дан вектор М(n). n13. Сформировать вектор С из элементовM[i], значения которых принадлежат интервалу [A,В]. Выполнить сдвиг полученного массива вправо на одну позицию. Задан вектор М(n), n9. Сформировать вектор С из элементовM[i], значения которых не равны A и В. Найти количество нулей в новом массиве. Выполнить сдвиг полученного массива влево на одну позицию. Если сумма положительных элементов вектора С(n), n12, равна числу B, то переслать положительные элементы С[i] в новый массив Х, в противном случае переслать в массив Х элементы, меньшие числа В. Задан вектор T(n), n12. Сформировать вектор В из элементов T[i], предшествующих наибольшему элементу вектора T. Выполнить сдвиг полученного массива вправо на одну позицию. Задан целый вектор T(n), n12. Сформировать вектор В из тех элементов массива Т, сумма цифр которых кратна 3. Выполнить сдвиг полученного массива вправо на одну позицию. Задан вектор T(n) n15. Сформировать вектор В из тех элементов массива Т, в десятичной записи которых не встречается заданная цифра С. Дан массив А(n), n15, целого типа. Сформировать вектор М из элементов А[i], которые больше своих соседей, т.е. ai>ai-1и ai>ai+1. Выполнить сдвиг полученного массива влево на одну позицию. Дан массив А(n), n12, целого типа. Получить вектор М, элементы которого равны нечетным элементам массива А. Найти среднее арифметическое элементов нового массива. Дан массив А(n), n12, вещественного типа. Получить вектор М, расположив в нем вначале все положительные элементы массива А , затем – все отрицательные. Порядок следования друг за другом положительных элементов не менять, то же – для отрицательных. Дан массив А(n), n16, целого типа. Получить вектор М, расположив в нем вначале все положительные элементы массива А, затем – все отрицательные. Порядок следования друг за другом положительных элементов заменить на обратный, то же – для отрицательных. Дан массив А(n ), n12, целого типа. Получить вектор М, расположив в нем вначале все четные элементы массива А, затем – все нечетные. Порядок следования друг за другом положительных элементов не менять, то же – для отрицательных. Дан массив А(n), n12, целого типа. Получить вектор М, расположив в нем вначале все четные элементы массива А, затем – все нечетные. Порядок следования друг за другом положительных элементов заменить на обратный, то же – для отрицательных. Дан массив А(n), n12, целого типа. Получить вектор М, расположив в нем вначале все элементы массива А, кратные минимальному элементу массива А, затем – все остальные. Порядок следования друг за другом элементов в каждой группе не менять. Дан массив А(n), n15, целого типа. Получить вектор М, расположив в нем элементы массива А, для которых выполнено условие A[i] Дан массив А(n), n10, целого типа. Получить вектор М, расположив в нем вначале все нулевые элементы массива А, затем – отрицательные, и в конце – положительные. Порядок следования друг за другом положительных элементов заменить на обратный, то же – для отрицательных. Дан массив А(n), n12, целого типа. Получить вектор М из элементов массива А, значения которых совпадают с их порядковым номером. Выполнить сдвиг полученного массива влево на 1 позицию. Группы B «Строки»Общая постановка задачи для всех вариантов. Задан текст, состоящий из слов, разделенных пробелами или запятыми. Длина текста не больше 200 символов, могут быть использованы любые символы. Словом считать последовательность символов, не содержащую пробел (запятую). Примечание 1: рекомендуется использовать функции модуля string.h. Примечание 2: можно разбить введенную строку на слова, которые занести в массив слов. Примечание 3: Для работы со строками можно использовать массив символов char[] или тип string. Оформление отчёта для задания B по аналогии с предыдущими лабораторными, т.е. Блок схема или словесное описание алгоритма, Таблица тестов, Программу на языке C++. Вариант индивидуального задания. 1. Составить массив из пятисимвольных слов без повторяющихся литер. Найти в тексте первое цифровое слово и возвести его значение в куб. 2. Найти одинаковые пятисимвольные слова и подсчитать число их повторений. Найти первое цифровое слово и уменьшить его значение в 3 раза. 3. Найти 4-символьные слова, проверить на присутствие в них цифр, слова с цифрами распечатать, найти слова, которые повторяются в тексте. Найти первое цифровое слово и возвести его значение в куб. 4. Удалить каждое четное слово, продублировать каждое нечетное слово, заменив все вхождения букв 'д ' на букву 'т'. Найти первое цифровое слово и умножить его значение на 5. 5. Слова в строке проверить на отсутствие 'нецифровых литер'; слова с нецифровыми литерами распечатать и удалить из исходной строки. Найти первое цифровое слово и разделить его значение на 12. 6. Составить массив из 4-символьных слов, расположив по алфавиту. Найти первое цифровое слово и возвести его значение в квадрат. 7. Составить новую строку из слов в строке, состоящих только из цифр. Перед цифрами слова может стоять знак + или - . Найти сумму чисел (цифровых слов), имеющих знак '-' и количество положительных чисел . 8. Сформировать новую строку, в которую включить слова по возрастанию их длины. Найти первое цифровое слово и изменить его значение, поделив на 100. 9. Сформировать новую строку, в которой нет повторяющихся слов. Найти первое цифровое слово и возвести его значение в куб. 10. Сформировать новую строку, в которую включить только "цифровые " слова, найти слово с наибольшим значением. 11. Сформировать новую строку, в которую нужно включить слова, состоящие только из латинских букв и не содержащие букв 'q', 'r' и 'u'. Найти два первых цифровых слова и возвести их значения в куб. 12. Сформировать новую строку, в которой слова будут следовать в обратном порядке. Найти первое цифровое слово и заменить его обратным значением. 13. Сформировать новую строку, в которую включить только пятисимвольные слова с удалением из них литеры "А". Найти первое цифровое слово и возвести его значение в квадрат. 14. Сформировать новую строку, в которую включить только 4-символьные слова, с заменой "А" на "О". Hайти первое цифровое слово и возвести его значение в куб. 15. Сформировать новую строку из слов, состоящих только из латинских литер и длиной не более 7 литер. При этом все строчные буквы заменить на заглавные. Найти первое цифровое слово и сумму его цифр. 16. Поменять местами слова, "равноудаленные" от концов строки, найти первое цифровое слово и возвести его значение в квадрат. 17. Переставить местами слова 1-2, 3-4, и так далее. Найти сумму цифровых чисел. 18. Удалить из строки 4-символьные слова, в которых есть буквы "а" или "о", найти сумму всех цифровых слов. 19. Дополнительно ввести строку В. Распечатать слова из первой строки, если они имеются во второй, найти сумму цифровых слов. 20. Распечатать слова "пеpевеpтыши", найти сумму цифровых слов текста. 21. Сформировать новую строку из 4-символьных слов, переставив буквы в обратном порядке (роза азоp и т.д.). 22. Сформировать новую строку, в которую включить 5-символьные слова, если в них литеры расположены "по возрастанию". 23. Удалить в строке слова, в которых имеются повторяющиеся литеры. Группа С «Многомерные массивы»Задание. Написать программу для ввода, обработки и печати матрицы. Использовать динамический массив. Оформление отчёта не обязательно. Вариант индивидуального задания. Дана матрица Q(m, n), 1<(m, n)<10. В каждом столбце найти номер и значение максимального элемента. Переставить строки матрицы по возрастанию суммы положительных элементов в строках. Для матрицы А(m,n), 1<(m, n)<10, подсчитать количество элементов, равных нулю. Переставить строки по убыванию значений максимальных элементов строк. Для матрицы В(m,n), 1<(m, n)<10, найти сумму всех элементов. Переставить столбцы по возрастанию количества нулей в столбцах. Для матрицы С(m,n), 1<(m, n)<10, найти сумму элементов, больших 3.2. Переставить столбцы по возрастанию количества отрицательных элементов в столбцах. Для матрицы F(m,n), 1<(m, n)<10, напечатать номера столбцов с количеством нулей больше 1. Переставить строки по возрастанию значений минимальных элементов строк. Для матрицы D(m,n), 1<(m, n)<10, индексы максимального элемента массива и его значение. Переставить строки по убыванию значений сумм элементов строк. Для матрицы G(m,n), 1<(m, n)<10, найти значение минимального элемента. Переставить столбцы по убыванию количества положительных элементов в столбцах. Для матрицы R(m,n), 1<(m, n)<10, найти в каждом столбце номер первого отрицательного элемента. Переставить строки по убыванию значений первых элементов строк. В матрице T(m,n), 1<(m, n)<10, найти сумму абсолютных значений всех элементов массива. Переставить строки по убыванию значений последних элементов строк. Для матрицы S(m,n), 1<(m, n)<10, определить строку с наибольшим количеством отрицательных элементов. Переставить столбцы по возрастанию суммы положительных элементов столбцов. Для матрицы S(m,n), 1<(m, n)<10, напечатать номера строк, в которых есть хотя бы один нуль. Переставить строки по убыванию значений максимальных элементов строк. Для матрицы R(m,n), 1<(m, n)<10, найти количество строк, где имеется хотя бы один нуль. Переставить строки по возрастанию значений максимальных элементов строк. Для матрицы К(m,n), 1<(m, n)<10, напечатать номера столбцов, содержащих более двух нулей. Переставить строки по убыванию значений суммы элементов строк. Для матрицы L(m,n), 1<(m, n)<10, напечатать номера строк, имеющих отрицательные элементы. Переставить столбцы по убыванию значения минимального элемента столбцов. Для матрицы М(m,n), 1<(m, n)<10, определить сумму всех отрицательных элементов матрицы. Переставить столбцы по убыванию значений первых элементов столбцов Для матрицы Т(m,n), 1<(m, n)<10, вычислить сумму всех положительных элементов. Переставить строки по убыванию значений максимальных элементов строк. Для матрицы А(m,n), 1<(m, n)<10, определить количество строк, в которых нет элементов, удовлетворяющих условию -3 < АI,J< 8. Переставить строки по возрастанию значений максимальных элементов строк. Для матрицы А(m,n), 1<(m, n)<10, сформировать массив из минимальных элементов каждого столбца. Переставить строки по убыванию значений последних элементов строк. Дана матрица А(m,n), 1<(m, n)<10. Умножить все элементы матрицы на минимальный элемент матрицы. Затем переставить строки по убыванию значений максимальных элементов строк. Дана матрица А(m,n), 1<(m, n)<10. Вычесть из каждого элемента строки первый отрицательный элемент данной строки. Переставить строки по убыванию сумм значений элементов строк. Дана матрица А(m,n), 1<(m, n)<10. Определить сумму всех элементов матрицы. Переставить строки по возрастанию количества положительных элементов в строках. Дана матрица А(m,n), 1 Дана матрица А(m,n), 1<(m, n)<10. Определить среднее арифметическое элементов матрицы. Переставить строки по убыванию числа ненулевых элементов в строках. Дана матрица А(m,n), 1<(m, n)<10. Определить среднее арифметическое положительных элементов матрицы. Переставить столбцы по возрастанию значения последнего элемента столбцов. Дана матрица А(m,m), 1 Дана матрица А(m,m), 1 |