Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.06.2009, 22:27   #1
Deidre
Новичок
Джуниор
 
Регистрация: 03.06.2009
Сообщений: 2
По умолчанию Матрицы

Все написала , а с этим застопорилась
Нужно убрать все лишние printf и написать отдельную функцию вывода матрицы на экран..
Код:
#include <stdio.h>
#include <stdlib.h>

//объявляем размер матрицы
#define n 5 
void Transpon(int ** A, int len);
void BubbleSortDiag(int ** A, int len);
int FindMinDiag(int ** A, int len);

int main(int argc, char *argv[])
{
int i, j, temp;
//объявляем квадратную матрицу размером n
int **A=(int**)malloc(n * sizeof(int *));
for(i = 0; i < n; i++)
A[i] = (int *)malloc(n * sizeof(int));
// int A[n][n];
//Объявляем результирующую матрицу
int **B=(int**)malloc(n * sizeof(int *));
for(i = 0; i < n; i++)
B[i] = (int *)malloc(n * sizeof(int));


//генерируем seed для рандома
srand ( time(NULL) );

//заполняем матрицу случайными числами от -9 до 9 и сразу выводим ее на экран
printf("Matrica A:\n");
for(i=0; i<n; i++)
{
for(j=0; j<n; j++)
{
A[i][j]=rand()%19-9;
//выводим на экран, под значение матрицы отделяем 2 ячейки
printf ("A[%d][%d]:=%2d ", i, j, A[i][j]);
}
printf("\n");
}

//Копируем матрицу A в матрицу B
for(i=0;i<n;i++)for(j=0;j<n;j++)B[i][j]=A[i][j];
//Транспонируем B
Transpon(B,n);
printf("\nMatrica B:\n");
for(i=0; i<n; i++)
{
for(j=0; j<n; j++)
{
//выводим на экран, под значение матрицы отделяем 2 ячейки
printf ("B[%d][%d]:=%2d ", i, j, B[i][j]);
}
printf("\n");
} 
printf("\n");

//Выводим побочную диагональ на экран, находим минимальный элемент
int min=FindMinDiag(A, n);
printf("Pobichna diagonal':\n");
for(i=0; i<n; i++)
{
printf ("A[%d][%d]:=%2d ", i, n-i-1, A[i][n-i-1]);
}
printf("\nMin= %d\n", min); 
//Сортируем главную диагональ матрицы A методом пузырька
BubbleSortDiag(A, n);

//Выводим модифицированную матрицу A
printf("\nA z sortovannoyu diagonallyu:\n");
for(i=0; i<n; i++)
{
for(j=0; j<n; j++)
{
//выводим на экран, под значение матрицы отделяем 2 ячейки
printf ("A[%d][%d]:=%2d ", i, j, A[i][j]);
}
printf("\n");
} 

system("PAUSE"); 
return 0;
}

void BubbleSortDiag(int ** A, int len)
{
int i,j,temp;
for(i=0; i<n; i++)
for(j=0; j<n-1; j++)
if(A[j][j]<A[j+1][j+1])
{
temp=A[j][j];
A[j][j]=A[j+1][j+1];
A[j+1][j+1]=temp;
}
return;
}

int FindMinDiag(int ** A, int len)
{
int i, j;
int min=A[0][n];
for(i=0; i<n; i++)
{
if(A[i][n-i-1]<min) min=A[i][n-i-1];

}
return min; 
}

void Transpon(int ** A, int len)
{
int i, j, temp;
for(j=0; j<n; j++)
{
for(i=j; i<n; i++)
{
temp=A[j][i];
A[j][i]=A[i][j];
A[i][j]=temp;
}
}
return;
}
Модератор: тег CODE

Последний раз редактировалось Sazary; 03.06.2009 в 22:46.
Deidre вне форума Ответить с цитированием
Старый 03.06.2009, 22:37   #2
assasin
Форумчанин
 
Регистрация: 27.04.2009
Сообщений: 123
По умолчанию

Код:
void print (int ** a, int h, int w)
{
	for(int i = 0; i < h; i ++)
	{
		for(int j=0;j<w;j++)
		{
			cout<<a[i][j]<<" ";
		}
        cout<<endl;
	}
}
<= P.S. если я тебе помог нажми весы слева <=

Последний раз редактировалось assasin; 03.06.2009 в 22:42.
assasin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обращение матрицы методом союзной матрицы dofmat Помощь студентам 6 03.10.2011 15:01
матрицы Ленка Паскаль, Turbo Pascal, PascalABC.NET 0 28.05.2009 11:05
Матрицы FatalX Помощь студентам 21 17.04.2009 22:50
матрицы Александр НИК-В Паскаль, Turbo Pascal, PascalABC.NET 4 21.12.2008 00:52