Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Звіт.docx
Скачиваний:
4
Добавлен:
13.09.2019
Размер:
653.29 Кб
Скачать

1. Блок-схема алгоритму, яка була використана для вирішення поставленої задачі (рис. 7.1):

Рисунок 7.1 – Блок-схема алгоритму

2. Лістинг 7.1:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.IO;

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("Введiть шлях до файлу з текстом:");

string FileName = Console.ReadLine();

if (!File.Exists(FileName))

Console.WriteLine("Файл {0} не iснує", FileName);

else

{

Console.WriteLine("Результат:");

string Line = "";

using (StreamReader sr = File.OpenText(FileName))

{

while ((Line = sr.ReadLine()) != null)

{

string NewLine = Line[0].ToString();

int i = 1;

while (i < Line.Length)

{

if (Line[i - 1] != ' ' || Line[i] != ' ')

NewLine = NewLine + Line[i];

i++;

}

Console.WriteLine(NewLine);

}

sr.Close();

}

}

Console.ReadLine();

}

}

}

3.Приклад роботи програми (рис 7.2-7.3):

Рисунок 7.2 – Приклад вхідного файлу

Рисунок 7.3 – Результат роботи програми

ЗАВДАННЯ 8

Варіант 5.66. Використовуючи тільки символьне введення, ввести задане дійсне число із знаком, записане у форматі з фіксованою крапкою, за яким знаходиться символ '?'. Присвоїти його дійсній змінній x.

Розв’язання:

1. Блок-схема алгоритму, яка була використана для вирішення поставленої задачі (рис 8.1):

Рисунок 8.1 – Блок-схема алгоритму програми

2. Лістинг 8.1:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.IO;

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("Введiть дійсне число:");

string NumStr = Console.ReadLine();

double Num = 0.0;

int i = 0;

while (i < NumStr.Length && NumStr[i].Equals(',') == false)

{

Num *= 10;

Num += (int)NumStr[i] - 48;

i++;

}

i++;

double d = 1.0;

while (i < NumStr.Length)

{

d /= 10;

Num += d * ((int)NumStr[i] - 48);

i++;

}

Console.WriteLine("Num = {0}", Num);

Console.ReadLine();

}

}

}

3. Приклад роботи програми (рис 8.2):

Рисунок 8.2 – Результат роботи програми

ЗАВДАННЯ 9

Варіант 8.1. Дано вектор a з n цілих компонент. Знайти зростаючу підпослідовність компонентів вектора найбільшої довжини.

Розв’язання:

1. Блок-схема алгоритму, яка була використана для вирішення поставленої задачі (рис 9.1):

Рисунок 9.1 – Блок-схема алгоритму програми

2. Лістинг 9.1:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("Введiть кiлькiсть елементiв вектора:");

int n = int.Parse(Console.ReadLine());

double[] Vector = new double[n];

for (int i = 0; i < n; i++)

{

Console.WriteLine("Введiть {0}-ту координату вектора:", i + 1);

Vector[i] = double.Parse(Console.ReadLine());

}

int maxId = 0;

int maxLen = 1;

for (int i = 0; i < n - 1; i++)

{

int curLen = 1;

for (int j = i + 1; j < n; j++)

if (Vector[i] < Vector[j])

curLen++;

else

break;

if (curLen > maxLen)

{

maxLen = curLen;

maxId = i;

}

}

Console.WriteLine("Найдовша зростаюча послiдовнiсть:");

for (int i = maxId; i < maxId + maxLen; i++)

Console.WriteLine(Vector[i] + " ");

Console.ReadKey();

}

}

}