![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву ![]() Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Теоретичний матеріал до уроку «Алгоритми сортування»Содержание книги
Поиск на нашем сайте
Зміст Функція sizeof Сортування простим пошуком 3. Метод “бульбашки” Задачі Література
Слайд № 3
Сортування одновимірних масивів. Сортування простим пошуком Алгоритм: Заповнити масив з n елементів Організувати перегляд масиву n-1 разів Знайти максимальний елемент у невідсортованій частини масиву; запам'ятати його номер 2.2. Поміняти значення знайденого максимального елементу зі значення початкового елементу невідсортованої частини масиву 3. Вивести отриманий масив
Слайд № 5
Сортування одновимірних масивів. Метод “бульбашки” Алгоритм: Заповнити масив з n елементів Організувати перегляд масиву n-1 разів Організувати порівняння значень кожної пари сусідніх елементів Якщо значення попереднього елементу більше, ніж наступного, переставити сусідні елементи місцями Вивести отриманий масив void bubl(int *mas[], int n) int i.j; . Слайд № 7
Задачі (Слайд № 8) Дослідити, чому у функції buble використовується вказівники. Що буде, якщо їх прибрати? Випробуйте наведені методи сортування. Масиви впорядковуються за зростанням чи за спаданням. Змініть порядок сортування. Вдоскональте програми, доповнивши їх двома функціями: для виведення масиву і для обміну двох значень (swap) Підрахуйте, скільки різних чисел є значеннями елементів масиву Визначте, яке число найчастіше зустрічається в масиві Увести два масиви. Знайти числа, які зустрічаються в кожному з двох масивів Увести два впорядкованих за зростанням масиви. Об'єднати їх в один масив так, щоб він виявився впорядкованим за зростанням Література 1. Лєхан С.Ф. Інформатика С++. Спецкурс. 10-12 класи. – Шепетівка; Аспект, 2007. 2. Глинський Я.М., Анохін В.Є., Ряжська В.А. С++ і С++ Builder. Навчальний посібник. – Львів: СПД Глинський, 2006. 3. Глушаков С.В., Смирнов С.В., Коваль А.В. Практикум по С++. – Харьков: Фолио, 2006. 4. Павловская Т.А. С/С++. Программирование на языке высокого уровня. – СПб.: Питер, 2003 Лисенко Т.І. Поглиблене вивчення програмування в школі. – К.:ТОВ Редакція “Комп'ютер”, 2007.
Ров’язки завдань Слайд № 8 Задача 3a #include <iostream.h> #include <conio.h> void show_array(inta[], int n) {for (int I=0; I<n; I++) cout<<a[I]<<” “; cout<<endl;} //---------------------------------------------------- void get_array(int a[], int n) {for (int I=0; I<n; I++) cin>>a[I];} //---------------------------------------------------- int MaxEl(int a[], int m, int n) {int max=a[m]; int L=m; for (int I=m+1; I<n; I++) if (a[I]>=max) {max=a[I]; L=І;} return (L);} //--------------------------------------------------- void swap(int*a, int*b) {int temp=*a; * a= b; *b=temp;} //--------------------------------------------------- int main() {int n; cin>>n; int a[100]; get_array(a,n); int mc=0; int L; int nc=sizeof(a)/sizeof(a[0]); while (mc<nc) { L=MaxEl(a, mc, nc); swap(&a[mc], &a[L]); mc++;} show_array(a, n); getch(); return 0; } Задача 3b #include <iostream.h> #include <conio.h> void show_array(inta[], int n) {for (int I=0; I<n; I++) cout<<a[I]<<” “; cout<<endl;} //---------------------------------------------------- void get_array(int a[], int n) {for (int I=0; I<n; I++) cin>>a[I];} //---------------------------------------------------- void swap(int*a, int*b) {int temp=*a; * a= b; *b=temp;} //--------------------------------------------------- void bubl(int *mas[], int n) {bool fl=false; int j=1; do {fl=false; for (int I=0; I<n-j; I++) if (*max[I]>*mas[I+1]) {swap(&mas[I], &mas[I+1]; fl=true;} j++} while (fl) } //-------------------------------------------------- int main() {int n; cin>>n; int a[100]; get_array(a,n); int nc=sizeof(a)/sizeof(a[0]); bubl(&a, nc) show_array(a, n); getch(); return 0; }
Задача 4 (після сортування, замість виведення елементів масиву) for (int k=1; int I=0; I<n-1; I++) if (a[I]!=a[I+1]) k++; cout<<k<<endl;
Задача 5 (після сортування, замість виведення елементів масиву) int k=1, km=1, b=a[0]; for (int I=0; I<n-1; I++) if (a[I]==a[I+1]) k++; else if (k>km) {km=k; b=a[I], k=1;} cout<<b<<endl; Задача 6 (зміни внести в головну функцію) int main() {int n; cin>>n; int a[100]; get_array(a,n); int m; cin>>m; int b[100]; get_array(b, m); bubl(&a, n); bubl(&b, m); int I=0, L=0; do {if (a[I]!=b[L]) I++; else {cout<<a[I]<<” “; I++; L++;} while (I<n && L<m); getch(); return 0; } Задача 7 #include <iostream.h> #include <conio.h> void show_array(inta[], int n) {for (int I=0; I<n; I++) cout<<a[I]<<” “; cout<<endl;} //---------------------------------------------------- void get_array(int a[], int n) {for (int I=0; I<n; I++) cin>>a[I];} //---------------------------------------------------- int main() {int n; cin>>n; int a[100]; get_array(a,n); int m; cin>>m; int b[100]; get_array(b, m); int c[200]; int I=L=k=0; do {if (a[I]<b[L]) {c[k]=a[I]; k++;} else if (a[I]=b[L]) {c[k]=a[I]; I++; k++; c[k]=b[L]; L++; k++;} else {c[k]=b[L]; L++; k++;} } while (I<n && L<m); if (I==n && L!=m) {for (I=l; I<m; I++) {c[k]=b[L]; k++;}} else if (L==m && I!=n) {for I=L; I<n; I++) {c[k]=a[I]; k++;}} show_array(c, m+n); getch (); return 0;} Урок № 28 Тема: Практична робота “Впорядкування масивів”
Мета:
Тип: Р озвиток навичок Обладнання:
Епіграф “Глаза бояться – руки делают” /народна мудрість/ Хід уроку
Урок № 29
|
||||||||||||||||||||||
Последнее изменение этой страницы: 2016-06-06; просмотров: 295; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.94.143 (0.009 с.) |