Форум программистов, компьютерный форум CyberForum.ru

Перевод кода програми из С++ в С - C++

Восстановить пароль Регистрация
 
РостикUSA
3 / 3 / 0
Регистрация: 29.10.2012
Сообщений: 41
13.11.2012, 20:42     Перевод кода програми из С++ в С #1
Помогите, пожалуйста перевести из С++ в С

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

#include <vcl.h>
#pragma hdrstop
#include <iostream>
#include<time.h>
#include <math.h>
//---------------------------------------------------------------------------
using namespace std;
#pragma argsused

void Zmist(int *mas,int q,int w, int &zm)
{
float y=mas[w];
for(int i=w; i>=q+1; i--)
{
mas[i]=mas[i-1];
zm++;
}
mas[q]=y;
zm++;
};

int sumNull(int *mas, int q, int w)
{
int u=0;
for(int y=q; y<=w; y++)
u+=mas[y];
return u;
}

void sortVkladka(int *ma, int k, int nay)
{
int i,j;
int zam=0, por=0;
for(i=1; i<k; i++)
{
for(j=0; j<i; j++)
{
por++;
if (ma[j]>ma[i]) { break; }
}
Zmist(ma, j, i, zam);
}
cout<<"К-сть порівнянь "<<por<<" К-сть замін "<<zam;

int min,imin, a, b;

min=32000; imin=0;

int sum=ma[0];
for(int i=1; i<k; i++) if(ma[i]<0)sum+=ma[i]; else break;
cout<<"Найменше значення суми "<<sum;

sum=ma[k-1];
for(int i=0; i<k-1; i++) if(ma[i]>0)sum+=ma[i];
cout<<"Найбільше значення суми "<<sum;




min=32000;
for(int i=0; i<k; i++)
{
if(fabs(ma[i])<min)
{
min=fabs(ma[i]);
imin=i;
}
}

a=imin; b=imin+1;
min=32000;
while (a>=0&&b<k)
{
if(fabs(sumNull(ma,a,b))==1)
{ min=sumNull(ma,a,b); break;}
if(min>fabs(sumNull(ma,a,b)))
{
min=sumNull(ma,a,b);
if(min>0) a--;
else b++;
}
}
if(fabs(ma[imin])<fabs(min)) min=fabs(ma[imin]);
cout<<"Найближче до 0 значення суми "<<min;




min=32000;
for(int i=0; i<k; i++)
{
if(fabs(ma[i]-nay)<min)
{
min=fabs(ma[i]-nay);
imin=i;
}
}

a=imin;b=imin;
min=32000;
while (a>=0&&b<k)
{
if(fabs(min-nay)>fabs(sumNull(ma,a,b)-nay))
{
min=sumNull(ma,a,b);
if(min-nay<nay) a--;
else b++;
}
else
{
if(min-nay<nay) a--;
else b++;
}
}
if(fabs(ma[imin]-nay)<fabs(min-nay)) min=ma[imin];
cout<<"Найближче до заданого числа, значення суми "<<min;

};


void sortQuick(int *mas, int left, int right, int za, int po) {
int i = left, j = right;
float tmp;
float aver = mas[(left + right) / 2];

while (i <= j)
{
while (mas[i] < aver)
i++;
while (mas[j] > aver)
j--; po++;
if (i <= j) {
tmp = mas[i];
mas[i] = mas[j];
mas[j] = tmp;
za++;
i++;
j--;
}
}

if (left < j)
sortQuick(mas, left, j, za, po);

if (i < right)
sortQuick(mas, i, right, za, po);

};


int main()
{
int k;
cin>>k;
int masQ[100], masV[100];
for(int i=0; i<k; i++)
{
cin>>masQ[i];
masV[i]=masQ[i];
}

int naybl;
cin>>naybl;
//сортування Quick
float t1=0,t2=0;

int z=0,p=0;
t1=clock();
sortQuick(masQ,0,k-1,z,p);
t2=clock();
cout<<"К-сть порівнянь "<<p<<" К-сть замін "<<z;
cout<<"Швидке сортування працювало "<<t2-t1<<" мc";

t1=t2=0;

t1=clock();
sortVkladka(masV,k, naybl);
t2=clock();
cout<<"Cортування вкладкою працювало "<<t2-t1<<" мc";


return 0;
};
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.11.2012, 20:42     Перевод кода програми из С++ в С
Посмотрите здесь:

C++ Перевод кода на с++
C++ перевод кода из С++ в С
Перевод кода в С C++
Перевод кода из c в c++ C++
перевод кода с C# на C++ C++
Перевод кода C++
C++ Перевод кода
Перевод кода С# на C++ C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 00:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru