Помогите срочно решить одну задачку. До завтра надо сделать. Спроектировать и разработать программу позволяющую создавать процессы и управлять уже созданными. Программа должна обладать следующим набором возможностей: В интерактивном режиме запускать указанные процессы. Уничтожать указанный процесс (уничтожаться могут только процессы запущенные программой). Уничтожаемый процесс указывается либо его описателем, либо выбирается в интерактивном режиме. Показать список всех процессов (а также своих копий) запущенных программой. Программа должна знать о всех своих запушенных копиях. Программа должна уметь обмениваться со своими копиями списками порождённых процессов. При закрытии программы она должна уничтожить все порождённые ею процессы. Примечания: Новый процесс запускается функцией CreateProcess и уничтожается функцией TerminateProcess. Запускаемый процесс указывается именем своего исполняемого файла. Для обмена данными между копиями программы можно использовать переменные окружения. Для работы с переменными окружения используются следующие функции: GetEnvironmentVariable, SetEnvironmentVariable. В случае реализации программы в консольном варианте для обработки попыток закрытия программы необходимо использовать функцию SetConsoleCtrlHandle. Описание необходимых функций можно посмотреть в MSDN Library. Пользовательский интерфейс может быть реализован в любом варианте (текстовый, графический).Спроектировать и разработать программу позволяющую создавать процессы и управлять уже созданными. Программа должна обладать следующим набором возможностей: В интерактивном режиме запускать указанные процессы. Уничтожать указанный процесс (уничтожаться могут только процессы запущенные программой). Уничтожаемый процесс указывается либо его описателем, либо выбирается в интерактивном режиме. Показать список всех процессов (а также своих копий) запущенных программой. Программа должна знать о всех своих запушенных копиях. Программа должна уметь обмениваться со своими копиями списками порождённых процессов. При закрытии программы она должна уничтожить все порождённые ею процессы. Примечания: Новый процесс запускается функцией CreateProcess и уничтожается функцией TerminateProcess. Запускаемый процесс указывается именем своего исполняемого файла. Для обмена данными между копиями программы можно использовать переменные окружения. Для работы с переменными окружения используются следующие функции: GetEnvironmentVariable, SetEnvironmentVariable. В случае реализации программы в консольном варианте для обработки попыток закрытия программы необходимо использовать функцию SetConsoleCtrlHandle. Описание необходимых функций можно посмотреть в MSDN Library. Пользовательский интерфейс может быть реализован в любом варианте (текстовый, графический).
первая, проверяет вводимые числа на четность, если число не четное, ломает цикл. Code: program ddd; uses crt; var i,n,sum,t:integer; begin clrscr; write('Vvedite kol-vo: '); read(n); for i:=1 to n do begin write('Vvedite 4islo nomer ',i,': '); readln(t); if odd(t)=false then sum:=sum+t else begin writeln('4islo ',t,' ne 4etnoe'); break; end; end; writeln('Suma 4isel = ',sum); readkey end.
Задача следующего плана: составить программу, сравнивающую три вида сортировок (любые сортировки т.е. быстрая, пузырьком и т. д. все годятся) и выдающую в результате сколько времени было затрачено на сортировку массива данных. (желательный размер массива ~100 кб, чтобы разница во времени была очевидной) язык C/C++ заранее благодарен.
Помогите, пожалуйста, написать программу на С++: Используя структурный тип данных, создать базу данных для обработки информации о студентах: фамилия, год рождения, факультет, группа, статус поступления. и организовать с ней работу, включая поиск нужной информации, ее корректировку (изменение значений полей структур, дозапись информации в файл или ее удаление), вывод информации на экран. Программа должна содержать меню, позволяющее работать с базой данных. Спасибо
у меня есть приблизительно 500 строк кода, почему то сюда не полезли если очень надо пишите в асю или в лс
хм... наверно что-то такое Code: #include <stdio.h> #include <string.h> #include <stdlib.h> #include <time.h> void bubble(char *items, int count); void shaker(char *items, int count); void shell(char *items, int count); int main(void) { FILE *fp; FILE *s1; FILE *s2; FILE *s3; char s[255]; time_t start, end; volatile long unsigned t; printf("read file"); if((fp = fopen("mass.txt", "r")) == NULL) { printf(" : error.\n"); exit(1); } printf(" : ok.\n\n"); while(!feof(fp)) { fgets(s, 253, fp); } start = time(NULL); bubble(s, strlen(s)); end = time(NULL); s1 = fopen("bubble.txt", "w"); fputs(s, s1); printf("Bubble sort : ok.\n"); printf("time: %f s.\n\n", difftime(end, start)); start = time(NULL); shaker(s, strlen(s)); end = time(NULL); s2 = fopen("shaker.txt", "w"); fputs(s, s2); printf("Cocktail shaker sort : ok.\n"); printf("time: %f s.\n\n", difftime(end, start)); start = time(NULL); shaker(s, strlen(s)); end = time(NULL); s3 = fopen("shell.txt", "w"); fputs(s, s3); printf("Donald Lewis Shell sort : ok.\n"); printf("time: %f s.\n\n", difftime(end, start)); fclose(fp); fclose(s1); fclose(s2); fclose(s3); return 0; } // bubble sort void bubble(char *items, int count) { register int a, b; register char t; for(a = 1; a < count; ++a) for(b = count-1; b >= a; --b) { if(items[b-1] > items[b]) { t = items[b-1]; items[b-1] = items[b]; items[b] = t; } } } // cocktail shaker sort void shaker(char *items, int count) { register int a; int exchange; char t; do{ exchange = 0; for(a = count-1; a >0; --a) { if(items[a-1] > items[a]) { t = items[a-1]; items[a-1] = items[a]; items[a] = t; exchange = 1; } } for(a = 1; a < count; ++a) { if(items[a-1] > items[a]) { t = items[a-1]; items[a-1] = items[a]; items[a] = t; exchange = 1; } } } while(exchange); } // Donald Lewis Shell sort void shell(char *items, int count) { register int i, j, gap, k; char x, a[5]; a[0] = 9; a[1] = 5; a[2] = 3; a[3] = 2; a[4] = 1; for(k = 0; k < 5; k++) { gap = a[k]; for(i = gap; i < count; ++i) { x = items[i]; for(j=i-gap; (x < items[j]) && (j >= 0); j = j-gap) items[j+gap] = items[j]; items[j+gap] = x; } } } p.s. размер сортируемых данных думаю сам изменишь
Большое спасибо )) а как работать с сортируемыми файлами? создать соответствующие файлы (bubble.txt shaker.txt shell.txt) заполненные данными?
создать файл mass.txt, в нем то что будем сортировать, файлы bubble.txt, shell.txt и shaker.txt сами создадутся и в них будут отсортированные данные
А можно ли как то реализовать такую фичу, чтобы на основании затраченного времени строилась гистограмма для каждой сортировки?
например создать функцию вывода звездочек void chart(difftime) которая в цикле до difftime будет печатать "*"
#include <iostream.h> #include <conio.h> #include <dos.h> #define MAX 20 void bubble(int *x,int n); void shell(int *x,int n); void insert(int *x,int n); void main() { int num[MAX],i; int t1,t2; cout << "Before sort:\n"; for(i=0; i<MAX; i++) { num=random(MAX); cout << num << " "; } cout << endl; t1=GetTickCount(); bubble(num,MAX); shell(num,MAX); insert(num,MAX); t2=GetTickCount(); cout << t2-t1; cout << "After sort:" << endl; for(i=0; i<MAX; i++) cout << num << " "; cout << endl; cout << "end"; getch(); } void bubble(int *x, int n) { register int i,j; int tmp; for(i=1;i<n;i++) for(j=n-1;j>=i; j--) if(x[j-1]>x[j]) { tmp=x[j-1]; x[j-1]=x[j]; x[j]=tmp; } } void insert(int *x, int n) { register int i,j; int tmp; for(i=1;i<n;i++) { tmp=x; for(j=i-1;j>=0 && tmp<x[j]; j--) x[j+1]=x[j]; x[j+1]=tmp; } } void shell(int *x, int n) { register int i,j,gap,k; int xx; char a[5]={9,5,3,2,1}; for(k=0;k<5;k++) { gap=a[k]; for(i=gap;i<n;i++) { xx=x; for(j=i-gap; xx<x[j] && j>=0; j=j-gap) x[j+gap]=x[j]; x[j+gap]=xx; } } } переписал программу сортировки в следующем виде... вылетают непонятные ошибки.. может кто нибудь разъяснить?
Если ты используешь Visual Studio то для твоей программы следующие хедеры: #include <windows.h> // для работы GetTickCount(); (Windows API function) #include <conio.h> #include <iostream> использовать пространство имен using namespace std; я не помню что нужно подключить чтобы заработал random() почему бы не использовать rand() и srand() ?
пишу на борланде..) windows.h не хочет подключаться %) может как то по-другому можно посчитать время выполнения алгоритма?
функция difftime не подойдет? Code: #include <time.h> #include <stdio.h> int main(void) { time_t start, end; volatile long unsigned t; start = time(NULL); for(t = 0; t < 5000000; t++); end = time(NULL); printf("Цикл использовал %f секунд. \n", difftime(end, start)); return 0; }
Всем салют У меня домашка. 3 задачи сделал (потенциально ), а одно нет. Нужно на C. Задачу проще было пртскринуть Спасибо за внимание!