Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
387.doc
Скачиваний:
11
Добавлен:
30.04.2022
Размер:
3.51 Mб
Скачать

Примеры решения задачи

Пример программы, которая считает максимальное количество пробелов между словами в тексте, вводимом с клавиатуры. Размер текста не более 1000 символов.

using System;

using System.Collections.Generic;

using System.Text;

using System.IO;

namespace ConsoleApplication1

static void Main(string[] args)

{

Console.WriteLine("Введите текст :");

//Получение стандартного потока ввода

Stream stream = Console.OpenStandardInput();

byte [] bytes = new byte[1000];

//Считывание байт из потока (макс. количество 1000)

int length = stream.Read(bytes, 0, 1000);

//Декодирование полученных байт в текст

char [] chars = Encoding.UTF7.GetChars(bytes, 0, length);

string Text = new string(chars);

//Удаление последних двух

//символов (перевода каретки, и конца строки

Text = Text.Remove(Text.Length - 2, 2);

int max = 0; int space = 0;

//Поиск максимального кол-ва пробелов

for(int i = 0; i < Text.Length; i++)

{

if(Text[i] == ' ') space++;

else space = 0;

if(space > max) max = space;

}

Console.WriteLine("Максимальное кол-во пробелов : {0}", max);

Console.ReadLine();

}

Текст состоит из предложений, разделенных точкой. Текст вводится с клавиатуры, его длина не превышает 1000 символов. Определить слова, у которых первая и последняя буквы совпадают. Слова разделены пробелами и знаками препинания.

static void Main(string[] args) {

Console.WriteLine("Введите текст :");

// Получение стандартного потока ввода

Stream stream = Console.OpenStandardInput();

// Объявляем массив байт, в который запишем поток

byte[] bytes = new byte[1000];

/ Считывание байт из потока (макс. количество 1000)

int length = stream.Read(bytes, 0, 1000);

// Декодирование полученных байт в текст, 866 - кодовая страница консоли в windows

string str = Encoding.GetEncoding(866).GetString(bytes,0, length);

// Инициализируем массив разделителей строки

char[] stringSeparators = new char[] { '.', ':', ' ', ';' ,',', '?', '!', '\n','\r'};

//Инициализируем массив строк на подстроки по разделителям

string[] result = str.Split(stringSeparators);

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

// Рабочая переменная; true: если найдены подстроки, удовлетворяющие заданию

// false: такие подстроки не найдены

bool isres = false;

for (int i = 0; i < result.Length; i++)

{

if (result[i] != " " && result[i] != "")

{

int lengthStr = result[i].Length;

if (result[i][0] == result[i][lengthStr - 1])

{

isres = true; Console.Write(result[i] + "; ");

}

}

}

if (isres) Console.WriteLine();

else Console.WriteLine("нет");

}

Контрольная работа № 6 проектирование классов. Составление программ с использованием ооп

Целью выполнения лабораторной работы является получение навыков построения диаграммы классов и овладение технологией объектно-ориентированного программирования (ООП).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]