Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.11.2010, 17:02   #1
SeRhy
Форумчанин
 
Аватар для SeRhy
 
Регистрация: 19.10.2007
Сообщений: 168
По умолчанию C++

Люди помогите!
Программа вызивает c праметрами по очереди 3 екзешника 1k.exe, 2k.exe, ksk.exe.
Главная программа gerk.exe в качестве параметров передаёт названия текстовых документов но нехочет правильно работать первый файл создаёт но незаполняет, а второй создаёт не с тем именем и тоже незаполняет.
Большое спасибо наперёд!

gerk.exe
Код:
#include <windows.h>
#include <stdio.h>
int main()
{ int i=0,j;
for (i=0;i<90;i++)
{
STARTUPINFO si1;
PROCESS_INFORMATION pi1;
ZeroMemory(&si1, sizeof(si1));
si1.cb = sizeof(si1);
ZeroMemory(&pi1, sizeof(pi1));
if(!CreateProcess(NULL,"1k.exe wer",NULL,NULL,FALSE,0,NULL,NULL,&si1,&pi1))
{printf( "Stvorenja protsesy nevdale \n");return 0;}
printf("handle: %X\n", pi1.hProcess);
WaitForSingleObject( pi1.hProcess, INFINITE );
CloseHandle( pi1.hProcess ); CloseHandle( pi1.hThread );
STARTUPINFO si2;
PROCESS_INFORMATION pi2;
ZeroMemory(&si2, sizeof(si2));
si2.cb = sizeof(si2);
ZeroMemory(&pi2, sizeof(pi2));
if(!CreateProcess(NULL,"2k.exe wer",NULL,NULL,FALSE,0,NULL,NULL,&si2,&pi2))
{printf( "Stvorenja protsesy nevdale \n");return 0;}
printf("handle: %X\n", pi2.hProcess);
WaitForSingleObject( pi2.hProcess, INFINITE );
CloseHandle( pi2.hProcess ); CloseHandle( pi2.hThread );
STARTUPINFO si3;
PROCESS_INFORMATION pi3;
ZeroMemory(&si3, sizeof(si3));
si3.cb = sizeof(si3);
ZeroMemory(&pi3, sizeof(pi3));
if(!CreateProcess(NULL,"ksk.exe wer q",NULL,NULL,FALSE,0,NULL,NULL,&si3,&pi3))
{printf( "Stvorenja protsesy nevdale \n");return 0;}
printf("handle: %X\n", pi3.hProcess);
WaitForSingleObject( pi3.hProcess, INFINITE );
CloseHandle( pi3.hProcess ); CloseHandle( pi3.hThread );
}
return 0;
}
1k.exe
Код:
#include <iostream>
#include <math.h>
#include <time.h>
using namespace std;
long i=0;
float nearbirth(int a, int b)
{ 
long m=2147483647,z=16807,x;
float r,s;
if (i==0)
x=time(NULL);
x=(x*z)%(m);
if (x==0) x++;
r=(float)x/m;
if (r<0) r=(-1)*r;
s=(long)a+(b-a)*r;
return s;
}

float mod(float a)
{
if (a<0) a=a*(-1);
return a;
}

int main (int argc, char *argv[])
{ 
float u[200000],v1,v2,s,x1,x2;
FILE *f;
char *file_name;
file_name=strcat(argv[1],".txt");
for (i=0; i<=100; i++)
{ 
u[i]=nearbirth(0,1);
//cout<<u[i]<<endl;
}
f=fopen(file_name,"rw");
for (i=0; i<=120000; i++)
{ 
v1=mod(-1+2*u[i]);
v2=mod(-1+2*u[i+1]);
s=pow(v1,2)+pow(v2,2);
if (s<1)
{
x1=v1*pow((-2*log(s))/s,1/2)*100;
x2=v2*pow((-2*log(s))/s,1/2)*100;
fprintf(f,"%3.0f\n",x1);
}

}
fclose(f);
return 0;
}
2k.exe
Код:
#include <iostream>
#include <math.h>
using namespace std;
int main(int argc, char *argv[])
{ int a[30000],i,min,j,t,r,z,N;
  N=0;
  FILE *f;
  char *file_name;
  file_name=strcat(argv[1],".txt");
    f=fopen(file_name,"rw");
    do
    {
    N++;
    fscanf(f,"%i",&a[N]);
    }
    while (a[N]!=0);
 fclose(f);
 for(i=0;i<N;i++)
 {
  min=a[i];
  z=0;
  for(j=i+1;j<N;j++)
  {
   if(min>a[j]){min=a[j];t=j;z++;}
  }
   if(z==0) continue;
  r=a[i];
  a[i]=min;
  a[t]=r;
 
 }
 f=fopen(file_name,"w");
 for(i=0;i<N;i++)
 {
 fprintf(f,"%i\n",a[i]);
 }
 fclose(f);
 return 0;
 
}
ksk.exe
Код:
#include <iostream>
#include <math.h>
using namespace std;
int main(int argc, char *argv[])
{   int a[30000],n=0,i;
    long s,ks=0;
    FILE *f;
    char *file_name1;
    char *file_name2;
    file_name1=strcat(argv[1],".txt");
    file_name2=strcat(argv[2],".txt");
    f=fopen(file_name2,"w");
    fscanf(f,"%i",&ks);
    fclose(f);
    f=fopen(file_name1,"rw");
    do
     {
                             
      n++;                                              
      fscanf(f,"%i",&a[n]);
      a[1]++;
     }
    while (a[n]!=0);
    fclose(f);
    for (i=0;i<n;i++)
    ks=(long)ks+a[i];
    ks=ks-1;
    f=fopen(file_name2,"w");
    fprintf(f,"%i",ks);
    fclose(f);
    return 0;
}
SeRhy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц