Типовые задачи. Переформировать матрицу таким образом, чтобы ее строки располагались по возрастанию их первых элементов

Страницы работы

Содержание работы

Министерство образования и науки РФ

ГОУВПО «Комсомольский-на-Амуре государственный технический университет»

Кафедра МОП ЭВМ

Лабораторная работа №4

«Типовые задачи.»

                                                               Выполнил: Рогозин В.А.

Группа: 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]<<"  ";

}

}

}

  

Литература:

Не использовалась

Похожие материалы

Информация о работе

Тип:
Отчеты по лабораторным работам
Размер файла:
60 Kb
Скачали:
0