Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
техпро лр3.doc
Скачиваний:
2
Добавлен:
25.09.2019
Размер:
122.88 Кб
Скачать

Задание №3

Задачи на обработку одномерных целочисленных массивов . Условие вида "дан массив" означает, что пользователем вводится величина размерности и все элементы массива с клавиатуры. Осуществить ввод необходимых данных, выполнить реализацию алгоритма, обеспечить вывод полученных результатов. Для решения задачи предварительно составляется блок-схема. Если по ходу решения задачи требуется создание дополнительных массивов, размерность которых изначально неизвестна, необходимо выполнить предварительную обработку исходного массива, для выяснения размерности вновь создаваемого. Не допускается использование операторов, прерывающих ход программы (breakgoto). Ввод массивов, обработка и вывод результатов реализуется отдельными методами .

1. Дан одномерный целочисленный массив из n элементов. Найти количество различных чисел среди элементов этого массива. Например, если задан массив, состоящий из чисел 10,13,10,18,5,10,5, то ответ будет 4, поскольку различные числа это 10,13,18,5. Рекомендуется использовать ещё один массив для хранения различных чисел.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace Lab3_zadanie_3

{

class Program

{

static void KRC(Int32[] A, Int32 N)

{

Int32[] B = new Int32[N];

Int32 i, j = 0, k, y = 0;

string s;

for (i = 0; i < N; i++)

{

Console.Write("A[{0}]=", i + 1);

s = Console.ReadLine();

A[i] = Convert.ToInt32(s);

for (k = 0; k < j; k++)

{

if (A[i] == B[k])

{

y = 1;

k = j;

}

}

if (y != 1)

{

B[j] = A[i];

j++;

}

else

y = 0;

}

Console.Write("\nКоличество разных элементов {0}", j);

}

static void Main(string[] args)

{

Int32 N;

string s;

Console.Write("Введите N\n");

s = Console.ReadLine();

N = Convert.ToInt32(s);

if (N <= +0)

{

Console.Write("Ошибка");

return;

}

Int32[] A = new Int32[N];

KRC(A, N);

Console.ReadKey();

}

}

}

Задание №4

Задачи на обработку строк . Условие вида "дана строка" означает, что пользователем вводится строка с клавиатуры. Осуществить ввод необходимых данных, выполнить реализацию алгоритма, обеспечить вывод полученных результатов. Для решения задачи предварительно составляется блок-схема. Не допускается использование операторов, прерывающих ход программы (breakgoto). Ввод строк, обработка и вывод результатов реализуется отдельными методами .

1. Даны строки s и s0. Проверить, содержится ли строка s0 в строке s. Не использовать стандартные средства для поиска подстрок.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace Lab3_zadanie_4

{

class Program

{

static void Luk(string S, string S0)

{

Int32 i, j, k = 0;

if ((S == "") || (S0 == ""))

{

Console.Write("Пустая строка");

return;

}

if (S.Length < S0.Length)

{

Console.Write("S0>S");

return;

}

for (i = 0; i < S.Length - S0.Length + 1; i++)

{

for (j = 0; j < S0.Length; j++)

if (S[i + j] == S0[j])

{

Console.Write("Содержится");

return;

}

k = 0;

}

Console.Write("Не содержится");

}

static void Main(string[] args)

{

string S, S0;

S = Console.ReadLine();

S0 = Console.ReadLine();

Luk(S, S0);

Console.ReadKey();

}

}

}