close

Вход

Забыли?

вход по аккаунту

?

Отчет(2)

код для вставкиСкачать
Министерство науки и образования Украины
Днепропетровский национальный университет железнодорожного транспорта имени акад. Лазаряна
Кафедра КИТ
Лабораторная работа № 4
Тема: "Подпрограммы. Методы передачи параметров"
Выполнил:
студент группы №912 Тронько В.А.
Проверила: ас. Коваленко Н.В.
Днепропетровск 2013
1. Краткие теоретические сведения
2. Содержание задания: ввести с клавиатуры числа, занести их в динамический массив и отсортировать его разными способами(обменом, шейкером и )
3. Блок-схема программы
Функция первой сортировки:
Для i = 0 , length min = array[i]
imin = i
Для j = i + 1, length
Array[j] < min
Да imin = j
min = array[j]
array[imin] = array[i]
array[i] = min
Функция второй сортировки:
Для i = 0, length
Для j = i + 1, length
array[i] > array[j]
Да
temp = array[i]
array[i] = array[j]
array[j] = temp
4. Текст программы
Файл main.cpp
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include "func.h"
using namespace std;
int main()
{
int len, choice, method;
void menu();
void length(int &);
void enter(int *, int);
void out(int *, int);
void sort1(int *, int);
void sort2(int *, int);
do
{
menu();
cin >> choice;
switch(choice)
{
int *array;
case 1:
{
length(len);
array = new int[len];
enter(array, len);
break;
}
case 2:
{
cout << "Kakim metodom sortirovki vospolzovatsya?\n1.Obmen.\n2.Shaker\n";
cin >> method;
switch(method)
{
case 1: {sort1(array,len); break;}
case 2: {sort2(array,len); break;}
}
out(array, len);
break;
}
}
}
while(choice!=3);
getch();
return 0;
}
Файл func.h
#ifndef FUNC_H
#define FUNC_H
#endif // FUNC_H
#include <iostream>
using namespace std;
void menu()
{
printf("1. Vvod chisel\n2. Podschet i vivod na ekran\n3. Exit\n");
}
void length(int &len)
{
cout << "Vvedite dlinu massiva: ";
cin >> len;
}
void enter(int *array, int length)
{
for(int i = 0; i < length; i++)
{
cout << i << " element: ";
cin >> array[i];
}
}
void out(int *array, int length)
{
cout << "[ ";
for(int i = 0; i < length; i++)
printf("%i ", array[i]);
cout << "]\n";
}
void sort1(int *array, int length)
{
int i, j, min, minN, temp;
for(i = 0; i < length; i++)
{
min = array[i];
minN = i;
for(j = i + 1; j < length; j++)
if(array[j] < min)
{
min = array[j];
minN = j;
}
temp = array[minN];
array[minN] = array[i];
array[i] = temp;
}
}
void sort2(int *array, int length)
{
for(int i = 0; i < length;i++)
for(int j = i + 1; j < length; j++)
if(array[i]>array[j])
{
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
5. Результат работы программы
6. Выводы
Документ
Категория
Рефераты
Просмотров
7
Размер файла
35 Кб
Теги
отчет
1/--страниц
Пожаловаться на содержимое документа