Примеры программирования

Пример 7: Вычисление суммы массива.

В примере первый параметр определяет сам массив, а второй – его размер.

int summa (int array[ ], int n)

{ int res=0;

for (int i = 0; i < n; i++)

res+= array[i];

return res;

}

void main()

{// определение массива в 30 элементов

int mas[30];

// инициализация массива

for (int i = 0; i < 30; i++)

mas[i] = 2*i + 1;

// создание переменной s и вычисление суммы

int s = summa (mas, 30);

}

Пример 8: С помощью датчика случайных чисел создать матрицу вещественных чисел 5Х5, вывести на экран, найти минимальные элементы в строках и максимальные элементы в столбцах. Все действия с матрицей оформить в виде функций, создать следующие функции:

#include <stdio.h>

#include <time.h>

#include <windows.h>

#define raw 5 // количество строк

#define col 5 // количество столбцов

// ______область определения функций________________________

//функция для инициализации матрицы;

void initmatr(double M[raw][col])

{int i,j;

for (i=0;i<raw; i++)

for (j=0;j<col; j++)

M[i][j]=rand()%100/3.;

}

//функция для печати матрицы

void printmatr(double M[raw][col])

{int i,j;

for (i=0; i<raw; i++)

{for (j=0;j<col; j++)

printf("%7.3f\t",M[i][j]);

printf("\n");

}

}

// поиск минимального элемента в строке.

double rawmin (double M[raw][col], int traw)

{ double min;

int i;

for (i=0,min=M[traw][0];i<col; i++)

if (min > M[traw][i]) min=M[traw][i];

return min;

}

// поиск максимального элемента в столбце

double colmax (double M[raw][col], int tcol)

{ double max;

int i;

for (i=0,max=M[0][tcol];i<raw; i++)

if (max < M[i][tcol]) max=M[i][tcol];

return max;

}

//конец области определения функций____________________

int _tmain(int argc, _TCHAR* argv[])

{ setlocale(0,"Russian");

// область определения объектов (выделение памяти)

double MATR[raw][col],cmax;

int i;

srand (time(0));

initmatr(MATR);

printf("Исходная матрица:\n");

printmatr(MATR);

printf("Минимальные значения в строках:\n");

for (i=0;i<raw;i++)

printf("%d строка - %7.3f\n",i+1,rawmin (MATR,i));

printf("Максимальные значения в столбцах:\n");

for (i=0;i<col;i++)

{cmax=colmax (MATR,i);

printf("%d столбец - %4.3f\n",i+1,cmax);

}

return 0;

}

Функции initmatr() и printmatr() не возвращают значений и имеют по одному параметру, определяющему матрицу.

Функции rawmin() и colmax() возвращают результат и имеют по два параметра, первый определяет матрицу, а второй обрабатываемую строку (столбец). Возвращаемое значение без запоминания выводится на экран, когда вызов функций rawmin() является параметром в функции printf(). Результат, возвращаемый функцией colmax() запоминается в переменной cmax, а затем выводится на экран.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: