- •Урок № 24
- •Опис та ініціалізація масиву
- •Розв’язки завдань
- •Розв’язки завдань
- •Тема: Практична робота “Програми з масивами”
- •Р озв’язки завдань
- •Тема: Алгоритми сортування
- •Ров’язки завдань
- •Тема: Практична робота “Впорядкування масивів”
- •Тема: Вказівники, динамічні змінні й масиви
- •Задача 2
- •Тема: Багатовимірні масиви
- •Звільнення пам'яті
- •Знаходимо індекс останнього від’ємного елементу
- •Якщо від’ємного елементу немає, змінна l вкаже на перший елемент масиву
Ров’язки завдань
Слайд № 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