13.06.2008, 14:47
|
#75
|
|
заблудился
Регистрация: 12.10.2005
Сообщений: 199
|
Сойдет?
Спойлер про программу:
#include <conio.h>
#include <iostream.h>
#include <stdlib.h>
void vvod(int *a,int n);
void vivod(int *a,int n);
void symma(int *a,int n);
void main()
{
int n; //размерность матрицы
int *a; //указатель на целое
clrscr();
cout <<"Введите размерность квадратной матрицы n\n";
cin >> n;
a=new int [n*n];//выделение динамической памяти
vvod(a,n); //генерация случайных чисел
vivod(a,n); //вывод матрицы
symma(a,n); //подсчет элементов
delete []a; //очищение динамической памяти
getch();
}
void vvod(int *a,int n)
{
int i,j;
randomize(); //эээ как объяснить :)
for (i=0;i<n;i++)
for (j=0;j<n;j++)
a[i*n+j]=rand()%61-15;//генерация чисел в диапозоне [-15,45]
}
void vivod(int *a,int n)
{
int i,j;
cout <<"Полученная матрица:\n";
for (i=0;i<n;i++)
{
for (j=0;j<n;j++)
{
cout.width(4); //установка ширины поля
cout << a[i*n+j];
}
cout <<endl;
}
}
void symma(int *a,int n)
{
int i,s=0;
for(i=0;i<n;i++)
s=s+a[i*n+i];
cout <<"Сумма элементов по главной диагонали равна "<< s;
}
__________________
|
|
|