С помощью функции CreateProcess породить два процесса - C (СИ)
Формулировка задачи:
Создать программу, в которой с помощью функции CreateProcess порождается два процесса один из процессов считает сумму в строках матрицы, другой в столбцах. Получить информацию о всех процессах системы.
Решение задачи: «С помощью функции CreateProcess породить два процесса»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int matrix[10][10];
void matrix_init(void) // инициализирует матрицу рандомными числами
{
int i,j,randval;
for(i=0;i<10;++i)
{
for (j=0;j<10;j++)
{
randval=rand()%10-3;
matrix[i][j]=randval;
}
}
}
void create_process(void)
{
int i,j,a=0,b=0;
for(i=0;i<10;++i)
{
for (j=0;j<10;++j)
{
printf("%-6d ",matrix[i][j]);// печатаем матрицу
a+=matrix[i][j]; //сумма строк
}
printf("\tsum=%d\n",a);//печать суммы строк
a=0;
}
for(j=0;j<10;++j)
{
for (i=0;i<10;++i)
{
b+=matrix[i][j];//считаем сумму столбцов
}
printf("sum=%d ",b);//печать суммы столбцов
b=0;
}
printf("\n");
}
int main(void)
{
srand(time(NULL));
matrix_init();
create_process();
return 0;
}
Объяснение кода листинга программы
- Объединение двух процессов с помощью функции CreateProcess.
- Инициализация матрицы 10х10 случайными числами с помощью функции matrix_init.
- Вывод матрицы на экран с помощью цикла for и функции printf.
- Суммирование элементов каждой строки матрицы и вывод суммы на экран с помощью функции printf.
- Сложение элементов каждого столбца матрицы и вывод суммы на экран с помощью функции printf.
- Ввод начальной суммы в переменную a и b перед циклом суммирования.
- Обнуление переменных a и b после каждого прохода по матрице.
- Запуск функции main, которая инициирует работу всего кода.
- Использование функции srand для установки начальной точки генератора случайных чисел.
- Использование функции time для получения текущего времени.
- Запуск функции matrix_init для инициализации матрицы.
- Запуск функции create_process для создания и работы с процессами.
- Возврат значения 0 в функции main, что означает успешный конец работы программы.