- съставно условие
- алгоритъм на Евклид
- естествено число - прости делители
- решето на Ератостен
- цифри и числа
- побитови операции
- точност при извеждане
- проверка на входни данни
- наредба - сортиране
- сортиране - пряк избор
- сортиране - вмъкване
- сортиране размяна
- сливане на редици
- вмъкване на елемент
- двумерен масив
- диагонал в матрица
- матрица
- матрица - транспониране
- матрица - събиране
- матрица - умножение
- множество - елементи
- множество - допълнение
- множества - обединение
- множества - разлика
- множества - сечение
- линейно уравнение
- квадратно уравнение
- полином
- рекурсия - итерация
- числов триъгълник
- минимална стойност
- средна стойност
- факториел
- числа на Фибоначи
- Питагорова тройка числа
- палиндром - решена задача
- алчен алгоритъм
- египетски дроби
- комбинации
вмъкване и изтриване на елемент от числова редица
алгоритъм за изтриване на елемент от числова редица
алгоритъм за вмъкване на елемент в числова редица
Двата алгоритъма за вмъкване и за изтриване на елемент от числова редица имат ред общи елементи - и в двата циклично се обхожда редицата от указан номер до последния, и в двата се извършва последователно присвояване стойността на съседния елемент. Основната разлика е в посоката на обхождане.
алгоритъм за изтриване на елемент от числова редица
Имаме въведена редица от N броя елементи - естествени числа.
Последователност на действия при алгоритъм за изтриване номер елемент от редица:
1. Въвежда се номер на елемент М – той трябва да отговаря на условието: 0<М<N.
2. На елемент с индекс М присвояваме стойността на елемент с индекс М+1.
3. Увеличаваме стойността на М с 1.
4. Проверяваме дали М>N-1.
Ако е да отиваме на стъпка 2.
Ако е не броят елементи в тази редица се намалява с 1
Край на алгоритъм - изтриване на елемент от редица.
Програмно стъпки 2 до 4 се изпълняват с цикъл for.
След приключване работата на цикъла в масива непременно има два елемента с една и съща стойност – предпоследният и последният елемент в масива. На практика това е така защото на всяка стъпка на текущия номер елемент само се присвоява стойността на следващия елемент.
Приложената блок схема описва алгоритъм за изтриване на елемент от числова редица.
алгоритъм за вмъкване на елемент в числова редица
Имаме въведена редица от N броя елементи - естествени числа.
Последователност на действия при алгоритъм за вмъкване на нов елемент в редица:
1. Въвежда се номер на елемент М – той трябва да отговаря на условието: 0<М<N.
2. На елемент с номер N+1 се присвоява стойността на елемент с номер N.
3. намаляваме стойността на N с 1.
4. Проверяваме дали N>M.
Ако е да отиваме на стъпка 2.
Ако е не броят елементи в тази редица се увеличава с 1
Програмно стъпки 2 до 4 се изпълняват с цикъл for.
5. На елемент с индекс M се присвоява новата стойност. Ако това не се извърши в разглежданата редица непременно ще има 2 елемента с еднаква стойност – тези с индекси M и M+1.
Край на алгоритъм - вмъкване на елемент в редица.
Приложената блок схема описва алгоритъм за вмъкване на елемент в сортирана редица. Тук номерът на позицията се определя от стойността на вмъквания елемент спрямо останалите стойности в редицата.
![]()
Следва примерна програма,даваща решена задача за вмъкване и изтриване на елемент от редица:
#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{ int mas[100],i,j,broi=10;
cout<<"Da se systawi programa, chrez koqto se wywevda redica ot 10 \n";
cout<<"estestweni chisla. Programata da dawa wyzmovnost za iztriwane na\n";
cout<<"element ot redica, kakto i za wmykwane na now element w redica.\n";
cout<<"Wywevdane na sluchajni stojnosti elementi ot redica: \n";
for (i=0;i<broi;i++) // !!! pyrwiqt element w masiwa - redica e s indeks 0
{mas[i]=rand()%100;//generira psewdosluchajni chisla ot interwala [0..99]
cout<<mas[i]<<"; ";}
cout<<endl; // iztriwane na element ot redica
cout<<"Koj nomer element da iztriq: ";cin>>j;
j%=broi;//zashita po whod
for (i=0;i<broi-1;i++)//trygwa ot pyrwiq element kym posledniq
{ if (i>=j-1) mas[i]=mas[i+1];} broi--;
cout<<"Sega broqt elementi e: "<<broi<<endl;
for (i=0;i<broi;i++)
{cout<<mas[i]<<"; ";}//izwevda nowoto sydyrvanie
cout<<" Posledniqt element se powtarq\n";//posledniqt element ne e promenqn
// wmykwane na element w redica
cout<<"Koj nomer element da wmykna: ";cin>>j;
j%=broi;//zashita po whod
for (i=broi;i>=j-1;i--)//trygwa ot posledniq element kym pyrwiq
{ mas[i+1]=mas[i];} broi++;//elementite sa s edin po-mnogo
cout<<"Sega broqt elementi e: "<<broi<<endl;
// wywevdane stojnost na nowiq element
cout<<"\nTrqbwa da se wywede nowata stojnost na wmyknatiq element!\n";
cout<<"Wywedete stojnost na nowiq element: "; cin>>mas[j-1];
for (i=0;i<broi;i++) {cout<<mas[i]<<"; ";}//izwevda nowoto sydyrvanie na redica
cout<<endl;
system("pause");
return 0; }//kraj na programa wmykwane iztriwane element ot redica
Обяснени и решени задачи с подобни алгоритми, функции и служебни думи са разгледани в страницата с електронни уроци по информатика - програмиране.
Илюстриране работата на характерни алгоритми можете да намерите в предоставените електронни помагала съдържащи решени задачи, примери.