Не запускается программа - C (СИ)
Формулировка задачи:
Помогите пожалуйста запустить програму на С++ или подскажите как настроить саму среду. Это мая первая програма по графике. Знаю что програма рабочая а нечего зделать немогу.
откомпилировал а запустить не как почему ?
#include <stdio.h>
#include <graph.h>
void main(void)
{
int х, у, index, color;
_setvideomode(_VRES16COLOR);
for(index = 0; index<10000; index++)
{
х = rand()%640;
у = rand()%480;
color = rand()%16;
_setcolor(color);
_setpixel(х,у);
}
while(!kbhit()){}
_setvideоmоde(_DEFAULTMODE) ;
}Решение задачи: «Не запускается программа»
textual
Листинг программы
#include <stdio.h>
#include <windows.h>
#include <time.h>
#include <math.h>
#define XYZZ 10 // размерность квадратной матрицы
void print_matrix(int **m);
void random_matrix(int **m);
double geom(int **m, int sz);
void main()
{
double mn;
int size=XYZZ;
int** matrix;
matrix = new int*[size];
for(int k=0;k<size;k++)
{
matrix[k]=new int[size];
}
random_matrix(matrix);
print_matrix(matrix);
mn=geom(matrix,XYZZ);
printf("%f\n",mn);
}
void print_matrix(int **m)
{
int i,j;
for (i=0 ; i<XYZZ; i++)
{
for (j=0; j<XYZZ;j++)
{
printf("%d ", m[i][j]);
}
printf("\n");
}
}
void random_matrix(int **m)
{
int i,j;
srand (time(NULL));
for (i=0 ; i<XYZZ; i++)
for (j=0; j<XYZZ;j++)
m[i][j]=rand()%10;
}
double geom(int **m, int sz)
{
double result;
int gap_x,gap_y,a,b,i,sk;
//------------Определение корень какой степени нужно вычислить
sk=0;
gap_x=1;
gap_y=XYZZ-2;
for(i=0;i<XYZZ && gap_x<=gap_y;i++,gap_x++,gap_y--)
{
for(a=gap_x,b=gap_y;a<b;a++,b--)
{
if(m[i][a]>0)
sk++;
if(m[i][b]>0)
sk++;
}
if(a==b)
sk++;
}
//------------Конец определения корень какой степени нужно вычислить
//------------Вычисление среднего геометрического
result=1;
gap_x=1;
gap_y=XYZZ-2;
for(i=0;i<XYZZ && gap_x<=gap_y;i++,gap_x++,gap_y--)
{
for(a=gap_x,b=gap_y;a<b;a++,b--)
{
if(m[i][a]>0)
{
result*=pow(m[i][a],1.0/sk);
}
if(m[i][b]>0)
{
result*=pow(m[i][b],1.0/sk);
}
}
if(a==b)
result*=pow(m[i][a],1.0/sk);
}
//------------Конец вычисления среднего геометрического
return(result);
Объяснение кода листинга программы
- В данном коде реализована программа для вычисления среднего геометрического значения матрицы.
- Матрица представляет собой квадратную сетку размером 10х10 ячеек (переменная
XYZZ). - В начале программы создается новая матрица
matrixразмером 10х10, которая заполняется случайными значениями от 0 до 9 с помощью функцииrandom_matrix(). - Затем с помощью функции
print_matrix()выводится содержимое матрицы. - После этого вызывается функция
geom(matrix,XYZZ), которая вычисляет среднее геометрическое значение матрицы и возвращает его в переменнуюmn. - И наконец, значение переменной
mnвыводится на экран с помощью функцииprintf(). - Функция
random_matrix()заполняет матрицу случайными значениями, при этом используется функцияrand()для генерации случайных чисел и функцияsrand()для инициализации генератора случайных чисел текущим значением времени. - Функция
print_matrix()выводит содержимое матрицы в виде таблицы 10 строк по 10 ячеек каждая, где каждое значение матрицы отделяется пробелом. - Функция
geom(matrix,XYZZ)вычисляет среднее геометрическое значение матрицы, используя цикл, который проходит по всем элементам матрицы и вычисляет геометрическую прогрессию для каждого диагонального блока 3х3 элементов. - Значение переменной
mnхранит результат вычисления среднего геометрического значения матрицы.