Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
Вінницький національний технічний університет
Факультет інформаційних технологій та комп’ютерної інженерії
Кафедра комп’ютерних наук
Лабораторна робота № 1
З дисципліни: “Теорія алгоритмів”
Мета роботи: “Реалізувати dequeue, стек, очередь.
Завдання для виконання
Вариант 1
Реализовать dequeue с помощью массива
Реализовать стек с помощью массива
Реализовать очередь с помощью массива
Стрелки часов движутся с постоянными угловыми скоростями и показывают h часов m минут. Требуется написать программу, которая найдет число полных минут до ближайшего момента, в который стрелки совпадут. Входные данные числа h и m (на клавиатуре). Выходные данные Единственное целое число — найденное число полных минут.
Хід роботи
Завдання 1
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Deque
{
public class Deque
{
public int[] deque=new int[0];
public void Write_deque()
{
for(int i=0;i<deque.Count();i++)
{
Console.Write(deque[i] + " ");
}
}
public void Push_front(int value)
{
int[] res = new int[deque.Count() + 1];
for (int i = 1; i < deque.Count() + 1; i++)
{
res[i] = deque[i - 1];
}
res[0] = value;
deque = res;
}
public void Push_back(int value)
{
int[] res = new int[deque.Count() + 1];
for (int i = 0; i < deque.Count(); i++)
{
res[i] = deque[i];
}
res[deque.Count()] = value;
deque = res;
}
public void Pop_back()
{
int[] res = new int[deque.Count() - 1];
for (int i = 0; i < deque.Count() - 1; i++)
{
res[i] = deque[i];
}
deque=res;
}
public void Pop_front()
{
int[] res = new int[deque.Count() - 1];
for (int i = 1; i < deque.Count(); i++)
{
res[i - 1] = deque[i];
}
deque = res;
}
}
class Program
{
static void Main(string[] args)
{
Deque maam = new Deque();
maam.Push_front(5);
maam.Push_back(2);
maam.Write_deque();
Console.ReadKey();
}
}
}
}
Завдання 2
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Stack
{
class Stack
{
public int[] stack = new int[0];
public void Write()
{
for (int i = 0; i < stack.Count(); i++)
{
Console.Write(stack[i] + " ");
}
}
public void Push(int value)
{
int[] res = new int[stack.Count() + 1];
for (int i = 1; i < stack.Count() + 1; i++)
{
res[i] = stack[i - 1];
}
res[0] = value;
stack = res;
}
public void Pop()
{
int[] res = new int[stack.Count() - 1];
for (int i = 1; i < stack.Count(); i++)
{
res[i - 1] = stack[i];
}
stack = res;
}
public void Clear()
{
int[] res=new int[0];
stack = res;
}
public bool Contain(int value)
{
bool res=new bool();
for (int i = 0; i < stack.Count(); i++)
{
if (stack[i] == value)
{
res = true;
break;
}
else res = false;
}
return res;
}
}
class Program
{
static void Main(string[] args)
{
Stack Group = new Stack();
Group.Push(4);
}
}
}
Завдання 3
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Queue
{
class Queue
{
public int [] queue = new int[0];
public void Write()
{
for (int i = 0; i < queue.Count(); i++)
{
Console.WriteLine(queue[i]);
}
}
public void Enqueue (int value)
{
int[] res = new int[queue.Count() + 1];
for (int i = 0; i < queue.Count(); i++)
{
res[i] = queue[i];
}
res[queue.Count()] = value;
queue = res;
}
public int Dequeue()
{
int[] res = new int[queue.Count() - 1];
int return_value = queue[0];
for (int i = 1; i < queue.Count(); i++)
{
res[i - 1] = queue[i];
}
queue = res;
return return_value;
}
public int Peek()
{
int return_value = queue[0];
return return_value;
}
}
class Program
{
static void Main(string[] args)
{
Queue group = new Queue();
group.Enqueue(4);
group.Enqueue(1);
group.Enqueue(3);
group.Enqueue(6);
group.Enqueue(7);
int ret_val = group.Peek();
Console.WriteLine("ret_val:" + group.Dequeue());
group.Write();
Console.ReadKey();
}
}
Завдання 4
#include<iostream>
using namespace std;
int main()
{
int m, n, x,T;
cout << "VVedite godunu ";
cin >> m;
cout << endl;
cout << "Vvedite hvelunu ";
cin >> n;
cout << endl;
if (0 <= m <= 11 || 0 <= n <= 59)
{
T = m * 60 + n;
n = T / (720 / 11);
x = ((720 / 11) * (n + 1)) - T;
cout << x;
}
else
{
cout << "you make mistake";
}
system("pause");
return 0;
}
Висновок
Під час виконання лабораторної роботи було реалізовано dequeue, стек, очередь за допомогою масива в середовищі Visual Studio 2013 мовою C++ та мовою С#.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!