Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Ввод-вывод матрицы

Читайте также:
  1. VIII. Долина создания душ: понимание матрицы
  2. VIII. Долина создания душ: понимание матрицы
  3. XVI. Просветленность — это судьба: двойная жизнь волшебников матрицы
  4. XVI. Просветленность — это судьба: двойная жизнь волшебников матрицы
  5. XVIII. Стать богом: жизнь за пределами матрицы
  6. XVIII. Стать богом: жизнь за пределами матрицы
  7. Алгоритм вычисления обратной матрицы. (Метод присоединенной матрицы).

 

 

#include <iostream.h>

void main()

{

int A[10][10],N,M,i,j;

//Ввод размерности

cout <<"\n N="; cin >>N;

cout <<"\n M="; cin >>M;

//Ввод матрицы

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

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

{

cout <<"\n A["<<i<<","<<j<<"]=";

cin >>A[i][j];

}

//Вывод матрицы в виде таблицы

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

{

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

cout <<"\t"<<A[i][j];

cout <<"\n";

}

}

 

Свойства элементов матрицы

 

ЗАДАЧА 1. Найти сумму элементов матрицы, лежащих выше главной диагонали.

for(s=0,i=0;i<n;i++)

for(j=0;j<m;j++) if (i<j) s+=a[i][j];

cout<<"S="<<s;

for(s=0,i=0;i<n-1;i++)

for(j=i+1;j<m; s+=a[i][j],j++);

cout<<"S="<<s;

ЗАДАЧА 2. Вычислить количество положительных элементов квадратной матрицы, расположенных по ее периметру и на диагоналях.

Пусть i изменяется от 1 до N, тогда

Ai,i – элемент главной диагонали.

Аi,n 1 - i – элемент побочной диагонали

(i + j = n- 1 → j = n- 1 - i),

Элементы, находящиеся по периметру:

А 0, i – 1-я строка,

АN-1,i – последняя строка,

Аi, 0 – 1-й столбец,

Аi,N-1 – посл. столбец.

Подсчет положительных элементов

на диагоналях: в стороках
    Если N – число нечетное, то существует элемент с номером (N / 2, N /2), который находится на пересечении главной и побочной диагоналей.
     

 

for(k=0,i=0;i<n;i++)

{

if (a[i][i]>0) k++;

if (a[i][n-i-1]>0) k++;

}

for(i=1;i<n-1;i++)

{

if (a[0][i]>0) k++;

if (a[n-1][i]>0) k++;

if (a[i][0]>0) k++;

if (a[i][n-1]>0) k++;

}

 

if ((n%2=0)&&(a[n%2][n%2]>0))

k--;

cout<<"k="<<k;

ЗАДАЧА 3. Преобразовать исходную матрицу так, чтобы первый элемент каждой строки был заменен средним арифметическим элементов этой строки.

 

for(i=0;i<n;a[i][0]=s/m,i++)

for(s=0,j=0;j<m; s+=a[i][j],j++);

ЗАДАЧА 4. Преобразовать матрицу A(m,n) так, чтобы строки с нечетными индексами были упорядочены по убыванию, c четными – по возрастанию.

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

if ((i%2)==0)

{

for(k=0;k<n-1;k++)

for(j=0;j<n-k-1;j++)

if (a[i][j]>a[i][j+1])

{

b=a[i][j];

a[i][j]=a[i][j+1];

a[i][j+1]=b;

}

}

else

for(k=0;k<n-1;k++)

for(j=0;j<n-k-1;j++)

if (a[i][j]<a[i][j+1])

{

b=a[i][j];

a[i][j]=a[i][j+1];

a[i][j+1]=b;

}


Дата добавления: 2015-08-27; просмотров: 131 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Каждую субботу!!!| Динамические матрицы

mybiblioteka.su - 2015-2024 год. (0.007 сек.)