Министерство образования и науки РФ
ГОУВПО «Комсомольский-на-Амуре государственный технический университет»
Кафедра МОП ЭВМ
«Типовые задачи.»
Выполнил: Рогозин В.А.
Группа: 4ВС-1
Проверил: Могильников
Вариант 18
Комсомольск-на-Амуре
2006
Задание: Переформировать матрицу таким образом, чтобы ее строки располагались по возрастанию их первых элементов.
Алгоритм:
С помощью 2-х циклов и функции rand формируем матрицу, затем выводим её на экран воспользовавшись функцией vivod() которая построчно выводит элементы матрицы.
Затем организуем 2 цикла, 1-й для перепроверки первых элементов строки, второй для перебора строк, внутри этих циклов идёт проверка на условие, что текущий элемент больше предыдущего, если это так, то строки меняются местами, иначе переход к следующей строке.
Блок-схема:
main() vivod()
Да
#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
void vivod(); // протатип функции вывода матрицы
int i,j,m[5][5]; // глобальные переменные
void main(void)
{
clrscr();
int tmp,k;
// заполнение матрицы случайными числами
randomize();
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
m[i][j]=(rand()%20);
}
}
vivod();
// проверка условия старшинства и перемещение строк
for(k=0;k<4;k++)
{
for(i=0;i<4;i++)
{
if(m[i][0]>m[i+1][0])
{
for(j=0;j<5;j++)
{
tmp=m[i][j];
m[i][j]=m[i+1][j];
m[i+1][j]=tmp;
}
}
}
}
vivod();
getch();
}
void vivod() // функция вывода матрицы
{
cout<<endl;
for(i=0;i<5;i++)
{
cout<<endl;
for(j=0;j<5;j++)
{
cout<<m[i][j]<<" ";
}
}
}
Литература:
Не использовалась
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.