Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

 

Проблем със задача по програмиране на C++

Featured Replies

Здравейте , моля за малко помощ за Курсов проект по програмиране на C++

Да се напише програма на език за програмиране C++ в средата на Embarcadero XE 4 C++ Builder. Програмата да притежава следните функционални възможности:
1. Визуализира меню в конзолата на MS Windows, което да предлага възможности за избор на всяка опция, посредством въвеждане на цифра от клавиатурата. Задължителни опции в менюто са:
- Първа опция – запълване на едномерен масив с дробни числа тип double, като броят им е 113 елемента

-Втора опция -извеждане на генерирания масив (респ. възможност за извеждане на сортирания масив .

Трета опция – сортиране по метод "Shell'' и извеждане на екран на брой обхождания на масива и брой размествания на елементи.

Четвърта опция – сортиране по метод ''Пряка селекция' и извеждане на екран на брой обхожда

Ето и до къде съм стигнал но явно бъркам някъде:

#include <iostream.h>
#include <conio.h>
#include <vcl.h>
#define SIZE 113
#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused
void InputArray(double*a, int lenght);
void OutputArray(double*a, int lenght);
void shellSort(double*a, int lenght);
void selectSort(double*a, int lenght);


int nCount, nCountif;
//---------------------------------------------------------------------------

int main(int argc, char* argv[])
{char ch;

double Array;
while(1){
cout<<"\n\t\t*************************";
cout<<"\n\t\t** 1. Input Array       **";
cout<<"\n\t\t** 2. Output Array       **";
cout<<"\n\t\t** 3. Metod na Shell       **";
cout<<"\n\t\t** 4. Prqka selekciq       **";
cout<<"\n\t\t** 0. Izhod      **";
ch = getch();
nCount=nCountif=0;
switch(ch){
case'1':{InputArray(Array,SIZE); } break;
case'2':{OutputArray(Array,SIZE); } break;
case'3':{shellSort(Array,SIZE); } break;
case'4':{selectSort(Array,SIZE); } break;
case'0':return 0;
 }
 cout<<"\n\t nCount="<< nCount ;
 cout<<"\n\t nCountif="<< nCountif <<endl;
 }
 system("PAUSE");
 return EXIT_SUCCESS;
 }


//---------------------------------------------------------------------------
void InputArray(double*a, int lenght)
{int i;
cout<<"\n";
for (i=0; i<lenght;i++)  a=rand()% 100;
{cout<<"a["<<i<<"]=";
cin>>a;
cout<<"\n\n";
}        }
//---------------------------------------------------------------------------
void OutputArray(double*a,int lenght){
 cout <<"\n\n-----------[Output Array]------------\n";
 for (int i=0; i <lenght;i++){
 cout <<"\tArray["<<i<<"]="<<a<<"\n";
 }
 cout <<"\n\n--------------------------------\n\n";
 }

//---------------------------------------------------------------------------
void selectSort(double *a,int length ){
int k;
double min;
for(int i = 0; i < length-1; i++){
min = a; k = i;
for(int j = i+1; j < length; j++)
if(a[j] < min){
k = j;
min = a[k];
{nCountif++;}
}
a[k] = a; a = min;
}nCount++;
}

//-----------------------------------------------------------------------------
void shellSort(double *a,int length){
int h = 0, i, j;
double x;
while(2*(3*h+1) <= length) h = 3*h+1;
while(h > 0){
for(i = h; i < length; i++){
x = a;
for(j = i-h; j >= 0; j = j-h)
if(x < a[j])
a[j+h] = a[j];
else
break;
a[j+h] = x;{nCountif++;}
}
h = h/3;nCount++;
}
}

 

 

Архивирана тема

Темата е твърде стара и е архивирана. Не можете да добавяте нови отговори в нея, но винаги можете да публикувате нова тема, в която да продължи дискусията. Регистрирайте се или влезте във вашия профил за да публикувате нова тема.

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    26%
    Дарени 256.00 EUR от нужните 1,000.00 EUR

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.