Задание №4.
Описание элементов синтаксиса языка, используемых в задаче:
.ToLower() − возвращает копию этой строки, переведенную в нижний регистр.
.Split() – возвращает строковый массив, содержащий подстроки данного экземпляра, разделенные элементами заданного массива знаков Юникода.
.Equals() – определяет, равен ли заданный объект Object текущему объекту Object.
Дано предложение. В нем только два слова одинаковые. Найти эти слова. Если слов одинаковых нет, то вывести сообщение об этом. Если одинаковых слов больше, то так же вывести сообщение.
Входные данные:
text - предложение, тип string.
Выходные данные:
Сообщение о наличии повторяющихся слов с выводом этого слова, или их отсутствии, или о превышении повтора более одного слова, тип string.
Блок-схема алгоритма:
Листинг программы:
Console.WriteLine("Введите любое предложение");
string text = Console.ReadLine();
text = text.ToLower();
char[] val = new char[] { ',', '.', '-', ' ' };
string[] array = text.Split(val);
Console.WriteLine("__________________________");
int i = 0;
bool t5 = false;
int k = 0;
while (i <= array.Length - 1)
{
{
for (int j = i + 1; j <= array.Length - 1; j++)
{
t5 = string.Equals(array[i],array[j]);
if (t5 == true)
{
Console.WriteLine("Существует повторяющееся слово
в предложении {0}", array[i]);
k++;
}
}
}
i++;
}
if (k > 1)
{
Console.WriteLine("В данном предложении более одного
повторяющиегося слова");
}
if (k == 0)
{
Console.WriteLine("Повторяющиеся слова в предложении
отсутсвуют");
}
Console.ReadKey();
Контрольные примеры:
Дано: text = «Мы пошли в поход». Ожидаемое сообщение на выходе: «Повторяющиеся слова в предложении отсутствуют».
Рисунок 9 – Контрольный пример №1
Дано: text = «Они приехали рано, но те приехали раньше нас». Ожидаемое сообщение на выходе: «Существует повторяющиеся слово в предложении приехали».
Рисунок 10 – Контрольный пример №2
Дано: text = «Мы ели, мы пили, в общем жили хорошо». Ожидаемое сообщение на выходе: «В данном предложении более одного повторяющегося слова».
Рисунок 11 – Контрольный пример №3
Задание №5.
Описание элементов синтаксиса языка, используемых в задаче:
StringBuilder op = new StringBuilder() − создаем экземпляр класса.
Дано предложение. В нем только два слова одинаковые. Найти эти слова. Если слов одинаковых нет, то вывести сообщение об этом. Если одинаковых слов больше, то так же вывести сообщение.
Входные данные:
op - предложение, тип StringBuilder.
Выходные данные:
Сообщение о наличии повторяющихся слов с выводом этого слова, или их отсутствии, или о превышении повтора более одного слова, тип string.
Блок-схема алгоритма:
Листинг программы:
Console.WriteLine("Введите любое предложение");
StringBuilder op = new StringBuilder(Console.ReadLine());
int j = 0;
int p = 0;
for (int k = 0; k <= op.Length - 1; k++)
{
if (op[k] == '-' || op[k] == '.' || op[k] == ',')
{
op.Remove(k, 1);
}
if (op[k] == ' ')
{
p++;
}
}
int n = 0;
String[] slovo = new string[p + 1];
for (j = 0; j <= op.Length - 1; j++)
{
if (op[j] != ' ')
{
slovo[n] = slovo[n] + op[j];
}
else
{
n++;
}
}
int[] kn = new int[n];
string[] dublmass = new string[n];
int i1 = -1;
int j2 = 0;
for (int i = 0; i <= n; i++)
{
i1++;
if (slovo[i] != null)
{
string dubl = slovo[i];
for (int j1 = i + 1; j1 <= n; j1++)
{
if (dubl == slovo[j1] && slovo[j1] != null)
{
dublmass[i1] = slovo[j1];
slovo[j1] = null;
kn[i1]++;
}
}
}
}
int isym = 0;
foreach (int i in kn)
isym = isym + i;
if (isym == 0) Console.WriteLine("В предложении нет одинаковых
слов");
if (isym == 1) Console.WriteLine("В предложении есть два
повторяющихся слова: {0}", dublmass[0]);
if (isym > 1) Console.WriteLine("В предложении более двух
повторяющихся слов");
Console.ReadKey();
Контрольные примеры:
Дано: text = «Мы люди». Ожидаемое сообщение на выходе: «В предложении нет одинаковых слов».
Рисунок 12 – Контрольный пример №1
Дано: text = «Мы люди, они тоже люди». Ожидаемое сообщение на выходе: «В предложении есть два повторяющихся слова люди».
Рисунок 13 – Контрольный пример №2
Дано: text = «Сдали все: и я, и они, и мы». Ожидаемое сообщение на выходе: «В предложении более двух повторяющихся слов».
Рисунок 14 – Контрольный пример №3