Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Видалення елемента із масиву↑ ⇐ ПредыдущаяСтр 6 из 6 Содержание книги Похожие статьи вашей тематики
Поиск на нашем сайте
Щоб видалити k-й елемент із масиву arr, що має розмір num, необхідно зробити наступне – залишити без зміни перші (k-1) елементів; – зсувати всі елементи, починаючи з k-го, на один елемент уліво; – зменшити кількість елементів масиву num на одиницю. Ці операції реалізуються за допомогою інструкцій: for(int i=k; i<num-1; i++) *(arr+i)=*(arr+i+1); num--; Вставка елемента в масив Нехай є динамічний масив arr розміром num, і нехай k - номер елемента, після якого в масив потрібно вставити елемент хins. Для вставки необхідно виконати наступне: – створити новий масив arr1 на одиницю більшого розміру, ніж вихідний; – скопіювати в arr1 без зміни перші k елементів; – скопіювати в arr1 елементи, починаючи з (k+1)-го (зсув на один елемент), – на місце (k+1)-го елемента записати значення хins; – видалити з пам'яті вихідний масив arr. Відповідний код може мати вигляд: int *arr1=new int[++num]; //Створення нового масиву for(i=0; i<=k; i++) *(arr1+i)=*(arr+i); *(arr1+k+1)=xins; for(i=k+1; i<num; i++) *(arr1+i+1)=*(arr+i); delete [] arr; //Видалення колишнього масиву Перестановка двох елементів Перестановка елементів k і m цілочисельного масиву здійснюється за допомогою робочої змінної int work: work=arr[k]; arr[k]=arr[m]; arr[m]=work; Циклічна перестановка елементів Циклічну перестановку елементів масиву можна відбразити, як одночасне переміщення всіх елементів по масиву, замкнутому у кільце. Циклічну перестановку вліво можна виконати в такий спосіб: – скопіювати 1-й елемент масиву в робочу змінну; – зсунути інші елементи з 2-го до N-го на одну позицію вліво; – скопіювати елемент із робочої змінної в останню звільнену позицію. Відповідний код буде мати вигляд: work=*arr; for(i=0;i<num-1;i++) *(arr+i)=*(arr+i+1); *(arr+num-1)=work; Якщо необхідно виконати циклічну перестановку на kелементів, то організується ще один (зовнішній) цикл: int k=5, circle=0; while(circle<k){ work=*arr; for(i=0;i<num-1;i++) *(arr+i)=*(arr+i+1); *(arr+num-1)=work; circle++; } Постановка задачі Скласти програму, у якій створюється одновимірний динамічний масив і виконується його обробка відповідно до варіанта завдання. Варіанти 1. Сформувати одновимірний масив цілих чисел, використовуючи датчик випадкових чисел. Роздрукувати отриманий масив. Видалити елемент із номером К. Додати після кожного парного елемента масиву елемент із значенням 0. Роздрукувати отриманий масив. 2. Сформувати одновимірний масив цілих чисел a[], використовуючи датчик випадкових чисел. Роздрукувати отриманий масив. Видалити перший елемент рівний 0. Додати після кожного парного елемента масиву елемент із значенням a[i-1]+2. Роздрукувати отриманий масив. 3. Сформувати одновимірний масив цілих чисел a[], використовуючи датчик випадкових чисел. Роздрукувати отриманий масив. Видалити всі елементи рівні 0. Додати після першого парного елемента масиву елемент із значенням a[i-1]+2. Роздрукувати отриманий масив. 4. Сформувати одновимірний масив цілих чисел a[], використовуючи датчик випадкових чисел. Роздрукувати отриманий масив. Видалити елементи, індекси яких кратні 3. Додати після кожного від’ємного елемента масиву елемент із значенням |a[i-1]+1|. Роздрукувати отриманий масив. 5. Сформувати одновимірний масив цілих чисел, використовуючи датчик випадкових чисел. Роздрукувати отриманий масив. Видалити елементи кратні 7. Додати після кожного непарного елемента масиву елемент із значенням 0. Роздрукувати отриманий масив. 6. Сформувати одновимірний масив цілих чисел a[], використовуючи датчик випадкових чисел. Роздрукувати отриманий масив. Видалити елемент із заданим номером. Додати після другого парного елемента масиву елемент із значенням a[i-1]+2. Роздрукувати отриманий масив. 7. Сформувати одновимірний масив цілих чисел, використовуючи датчик випадкових чисел. Роздрукувати отриманий масив. Видалити останній елемент рівний 0. Додати після елемента масиву із заданим індексом елемент із значенням 100. Роздрукувати отриманий масив. 8. Сформувати одновимірний масив цілих чисел, використовуючи датчик випадкових чисел. Роздрукувати отриманий масив. Видалити всі елементи із заданим значенням. Додати перед кожним парним елементом масиву елемент із значенням 0. Роздрукувати отриманий масив. 9. Сформувати одновимірний масив цілих чисел, використовуючи датчик випадкових чисел. Роздрукувати отриманий масив. Видалити перший елемент із значенням, яке відповідає заданій умові. Зсунути масив циклічно на k елементів вправо. Роздрукувати отриманий масив. 10. Сформувати одновимірний масив цілих чисел, використовуючи датчик випадкових чисел. Роздрукувати отриманий масив. Видалити 5 перших елементів масиву. Додати до кінця масиву 3 нових випадкових елементи. Роздрукувати отриманий масив. 11. Сформувати одновимірний масив цілих чисел a[], використовуючи датчик випадкових чисел. Роздрукувати отриманий масив. Видалити 5 останніх елементів масиву. Додати в початок масиву 3 елементи із значенням 33. Роздрукувати отриманий масив. 12. Сформувати одновимірний масив цілих чисел, використовуючи датчик випадкових чисел, і роздрукувати масив. Поміняти місцями мінімальний і максимальний елементи масиву. Видалити з масиву всі елементи, які перевищують його середнє значення більш, ніж на 10%. Роздрукувати отриманий масив. 13. Сформувати одновимірний масив цілих чисел, використовуючи датчик випадкових чисел, і роздрукувати масив. Видалити з масиву всі елементи, що збігаються з його мінімальним значенням. Додати в початок масиву 3 елементи, які рівні середньому арифметичному масиву. Роздрукувати отриманий масив. 14. Сформувати одновимірний масив цілих чисел a[], використовуючи датчик випадкових чисел. Роздрукувати отриманий масив. Перевернути масив і, якщо число елементів масиву непарне, видалити його середній елемент. Додати в початок масиву 3 елементи із значенням 99. Роздрукувати отриманий масив. 15. Сформувати одновимірний масив цілих чисел, використовуючи датчик випадкових чисел. За запитом виконати циклічну перестановку елементів масиву вліво або вправо. Роздрукувати отриманий масив зліва направо, починаючи з k-ого елемента, і до k-1-го. Видалити з масиву перший і останній елементи. Роздрукувати отриманий масив справа наліво відk-го до k+1-го елемента. 16. Сформувати одновимірний масив цілих випадкових чисел. Видалити всі елементи, більші даного числа x (x увести з клавіатури).Роздрукувати отриманий масив. Циклічно переставити елементи на 3 позиції вправо. Вставити число y(увести з клавіатури) після всіх елементів, менших його. 17. Сформувати одновимірний масив цілих чисел, використовуючи датчик випадкових чисел. Виконати циклічну перестановку елементів масиву вліво на 5 позицій. Роздрукувати отриманий масив зліва направо, починаючи з k-ого елемента й до k-1. Додати в масив два елементи – у першу й останню позицію. Роздрукувати отриманий масив справа наліво, починаючи з k-ого елемента й до k+1. 18. Сформувати одновимірний масив цілих чисел, використовуючи датчик випадкових чисел. Виконати циклічну перестановку елементів масиву на k позицій вправо. Роздрукувати отриманий масив зліва направо, починаючи з k-ого елемента й до k-1.Додати в масив два елементи – у першу й останню позицію. Видалити з масиву парні елементи. Роздрукувати отриманий масив справа наліво, починаючи з k-ого елемента й до k+1. 19. Сформувати одновимірний масив цілих чисел, використовуючи датчик випадкових чисел. Виконати циклічну перестановку елементів масиву на k позицій уліво або вправо (із запитом). Роздрукувати отриманий масив. Додати в масив два елементи – у першу й останню позицію. Видалити з масиву непарні елементи. Роздрукувати отриманий масив справа наліво, починаючи з k-ого елемента й до k+1. 20. Сформувати одновимірний масив цілих чисел, користуючись датчиком випадкових чисел. За запитом виконати циклічну перестановку елементів масиву вліво або вправо. Роздрукувати отриманий масив зліва направо, починаючи з k-ого елемента й до k-1. Додати в масив після елементів з індексами кратними 5 елементи рівні 0. Роздрукувати отриманий масив справа наліво, починаючи з k-ого елемента й до k+1. 21. Сформувати одновимірний масив цілих чисел, використовуючи датчик випадкових чисел. За запитом виконати циклічну перестановку вліво або вправо на k елементів.. Додати в масив 4 нових елементи: один - перед першим і три – після останнього. Роздрукувати отриманий масив справа наліво, починаючи з k -ого елемента й до k+1. 22. Сформувати одновимірний масив цілих чисел, використовуючи датчик випадкових чисел. Видалити всі елементи, кратні 3 або 5. Роздрукувати отриманий масив. Вставити два елементи: перший - після максимального елемента, другий - перед максимальним елементом. Роздрукувати отриманий масив. 23. Сформувати одновимірний масив цілих чисел, використовуючи датчик випадкових чисел. За запитом виконати серію циклічних перестановок уліво або вправо з виведенням масиву на екран після кожної перестановки. Серія перестановок припиняється за запитом. Видалити з масиву всі елементи, що збігаються з його максимальним значенням. Роздрукувати отриманий масив справа наліво, починаючи з k-ого елемента й до k+1. 24. Сформувати одновимірний масив цілих чисел, використовуючи датчик випадкових чисел. Виконати циклічну перестановку елементів масиву на k позицій уліво. Роздрукувати отриманий масив зліва направо, починаючи з k-ого елемента й до k-1.Видалити з масиву парні елементи. Роздрукувати отриманий масив справа наліво, починаючи з k-ого елемента й до k+1. 25. Сформувати одновимірний масив цілих чисел, використовуючи датчик випадкових чисел. За запитом виконати серію циклічних перестановок вправо з виведенням масиву на екран після кожної перестановки. Серія перестановок припиняється за запитом. Роздрукувати отриманий масив справа наліво, починаючи з k-ого елемента й до k+1. Видалити з масиву непарні елементи. Роздрукувати отриманий масив справа наліво, починаючи з k-ого елемента й до k+1. Методичні вказівки 1. При складанні програми використовуються динамічні масиви. 2. Всі відсутні параметри й режими роботи програми задаються користувачем. 3. Після виконання кожного пункту завдання організувати виведення масиву.
Зміст звіту Звіт з виконаної роботи включає наступні розділи:титульний лист, постановка задачі, варіант завдання, текст програми, скріншот з результатами роботи програми, висновки.
Лабораторна робота7. Ціль роботи: Освоєння прийомів роботи із структурами й складання програм, що дозволяють уводити дані в структуру й виводити їх на екран, змінювати й обробляти дані, записані в структуру. Теоретичні відомості Структури – це складені типи даних, які побудовані з використанням інших типів. Наприклад, struct person { char name[100]; int age; }; де struct – службове слово; person – ім'я (ідентифікатор, тег) структури; name і age – два елементи, що становлять структуру (масив змінних char і ціле число). Оголошення структури повинне закінчуватися крапкою з комою. Змінні структури оголошуються так само, як змінні інших типів, наприклад, person fath, ladies[5], *Pfath; тут ladies[5] – масив структур, *Pfath – покажчик на структуру типу Доступ до елементів структури здійснюється операцією. (крапка) для імені структури й -> (стрілка) – для покажчика на структуру, наприклад: fath.age=12; ladies[3].age=27; cout<<fath.name; cout<< ladies[3].age; cout<<Pfath->name; Вираз Pfath->name еквівалентний виразу (*Pfath).name, що розіменовує покажчик і робить доступним елемент через операцію «крапка». Після визначення структури можна оголосити масив структур. Наприклад, щоб оголосити масив з 30 елементів типу name_struct, досить записати: name_struct elem[30]; Для одержання доступу до конкретного елемента масиву структур потрібно проіндексувати ім'я структури. Постановка задачі Скласти програму, що створює масив структур і дозволяє вводити дані в масив, виводити дані на екран і виконувати інші дії. Управління структурами повинне здійснюватися за допомогою меню. У меню присутні опції: – введення дани, – виведення даних, – вихід із програми, а також додаткові опції, зазначені у варіанті завдання (див. наступний розділ). Варіанти
Методичні вказівки Дані, що вводить користувач, розміщуються в масиві структур - записах. Інтерфейс програми повинен бути побудований у вигляді меню з опціями: введення, відображення, пошук, зміна записів і іншими. Введення даних передбачає додавання даних у перший вільний запис. Зміст звіту Звіт з виконаної роботи включає наступні розділи:титульний лист, постановка задачі, варіант завдання, текст програми, скріншот з результатами роботи програми, висновки. Література 1. ШилдтГ.. С++. Базовый курс. 3-е изд. –М: Вильямс.–2005, 624 с. 2. ПратаС.. Язык программирования. Лекции и упражнения. Учебник. –М.– 3. Грицюк Ю., Рак Т. Програмування мовою С++. – Львів: Вид-во ЛДУ БЖД, 2011. – 292 с. 4. ЛибертиДж.. Освой самостоятельно С++. 5-е изд. –М: Вильямс,2006. – 784 с. 5. ПодбельскийВ.В.. Язык Си++. –М.: Финансы и статистика, 2005. – 560 с. 6. БерезинБ.И., БерезинС.Б.. Начальный курс С и С++. –М.: Диалог-МИФИ, 2000. – 288 с. 7. Н. Культин. С/С++ в задачах и примерах. –С.-Пб.: BHV, 2005. – 292 с.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-12-29; просмотров: 2228; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.105.85 (0.007 с.) |