Функции и массивы на C#
Автор работы: Пользователь скрыл имя, 09 Декабря 2014 в 10:34, практическая работа
Описание работы
Задание 1) Получение практических навыков при работe с одномерными, многомерными и рваными массивами. 2) Получение практических навыков при работe с функциями, передаче данных в функции различными способами, получение результатов из функций различными способами. 3) Получение практических навыков при создании диалоговых консольных приложений.
Файлы: 1 файл
}
}
} while (!ok);
return answer;
}
static void isPrintOne(int[] mas)
{
Console.WriteLine("_______________________");
Console.WriteLine("<ОДНОМЕРНЫЙ МАССИВ>");
if (mas == null)
{
Console.WriteLine("Массив пуст");
}
else
{
for (int i = 0; i < mas.Length; i++)
{
Console.Write(mas[i] + " ");
}
}
Console.WriteLine();
Console.WriteLine("_______________________");
}
static void isPrintTwo(int[,] mas)
{
Console.WriteLine("_______________________");
Console.WriteLine("<ДВУМЕРНЫЙ МАССИВ>");
if (mas == null)
{
Console.WriteLine("Массив пуст");
}
else
{
for (int i = 0; i < mas.GetLength(0); i++)
{
for (int j = 0; j < mas.GetLength(1); j++)
Console.Write(mas[i, j] + " ");
Console.WriteLine();
}
}
Console.WriteLine();
Console.WriteLine("_______________________");
}
static void isPrintRagged(int[][] mas)
{
Console.WriteLine("_______________________");
Console.WriteLine("<РВАНЫЙ МАССИВ>");
if (mas == null)
{
Console.WriteLine("Массив пуст");
}
else
{
for (int i = 0; i < mas.Length; i++)
{
for (int j = 0; j < mas[i].Length; j++)
Console.Write(mas[i][j] + " ");
Console.WriteLine();
}
}
Console.WriteLine();
Console.WriteLine("_______________________");
}
static void Menu(int ans)
{
if (ans == 1)
{
minMenuFirst();
}
if (ans == 2)
{
minMenuSecond();
}
if (ans == 3)
{
minMenuThird();
}
else if (ans == 4)
{
Console.WriteLine("Спасибо за использование
программы! :)");
return;
}
}
static int Choise()
{
Console.WriteLine("________________ГЛАВНОЕ
МЕНЮ________________");
Console.WriteLine("
1 - одномерный массив");
Console.WriteLine("
2 - двумерный массив");
Console.WriteLine("
3 - рваный массив");
Console.WriteLine("
4 - выход");
Console.WriteLine("____________________________________________");
int answer = 0;
bool ok = false;
do
{
try
{
Console.Write("Ваш выбор > ");
answer = Convert.ToInt32(Console.ReadLine());
Console.WriteLine();
ok = true;
}
catch (FormatException)
{
Console.WriteLine("Ошибка! Вы ввели
некоректное число! Введите заново!");
ok = false;
}
} while (!ok);
return answer;
}
static void minMenuFirst()
{
int size1 = 0;
int[] mas1 = null;
int command = 0;
bool ok = false;
bool isAlreadyPut = false;
bool isEmpty = false;
do
{
Console.WriteLine();
Console.WriteLine("________________РАБОТА
С ОДНОМЕРНЫМ МАССИВОМ________________");
Console.WriteLine(" 1 - Создать
массив");
Console.WriteLine(" 2 - Выполнить
задание с массивом");
Console.WriteLine(" 3 - Печать");
Console.WriteLine(" 4 - Назад");
Console.WriteLine("____________________________________________________________");
command = 0;
ok = false;
do
{
try
{
Console.Write("Ваш выбор > ");
command = Convert.ToInt32(Console.ReadLine());
Console.WriteLine();
ok = true;
}
catch (FormatException)
{
Console.WriteLine("Ошибка! Вы ввели
некоректное число! Введите заново!");
ok = false;
}
if (ok)
{
if ((command <= 0) || (command >= 5))
{
Console.WriteLine("Ошибка! Такой команды
не существует. Попробуйте снова!");
ok = false;
}
}
} while (!ok);
if (command == 1)
{
Console.WriteLine("<Одномерный массив
создан. Теперь его нужно заполнить.>");
//mas1 = new int[size1];
int How = 0;
How = HowWrite();
if (How == 1)
{
mas1 = CreateOneMasOut();
}
else if (How == 2)
{
size1 = WhatSize();
if (size1 != 0)
{
mas1 = CreateOneMasRand(size1);
isEmpty = false;
}
else
{
Console.WriteLine("Создан пустой массив.");
isEmpty = true;
}
}
//minMenuFirst();
isAlreadyPut = true;
}
if (command == 2)
{
if ((isAlreadyPut == true) && (isEmpty == false))
{
Console.WriteLine();
Console.WriteLine("Добавим после каждого
четного числа 0");
int[] mas12 = null;
int size12 = 0;
int counter = 0;
for (int i = 0; i < mas1.Length; i++)
{
if (mas1[i] % 2 == 0)
counter++;
}
size12 = size1 + counter;
mas12 = Task1(mas1);
mas1 = mas12;
size1 = size12;
if (counter != 0)
{
Console.WriteLine("Задание выполнено
успешно");
}
else
{
Console.WriteLine("Задание выполнено
неуспешно");
}
}
else
{
Console.WriteLine("Вы еще не создали
массив, или он пуст!");
}
//minMenuFirst();
}
if (command == 3)
{
Console.WriteLine();
if ((isAlreadyPut == true) && (isEmpty == false))
{
isPrintOne(mas1);
Console.WriteLine();
}
else
{
Console.WriteLine("Нечего печатать.");
}
//minMenuFirst();
}
} while (command != 4);
}
static void minMenuSecond()
{
int size2 = 0;
int[,] mas2 = null;
int command = 0;
bool ok = false;
bool isAlreadyPut = false;
bool isEmpty = false;
do
{
Console.WriteLine();
Console.WriteLine("_________________РАБОТА
С ДВУМЕРНЫМ МАССИВОМ_________________");
Console.WriteLine(" 1 - Создать
массив");
Console.WriteLine(" 2 - Выполнить
задание с массивом");
Console.WriteLine(" 3 - Печать");
Console.WriteLine(" 4 - Назад");
Console.WriteLine("_____________________________________________________________");
command = 0;
ok = false;
do
{
try
{
Console.Write("Ваш выбор > ");
command = Convert.ToInt32(Console.ReadLine());
Console.WriteLine();
ok = true;
}
catch (FormatException)
{
Console.WriteLine("Ошибка! Вы ввели
некоректное число! Введите заново!");
ok = false;
}
if (ok)
{
if ((command <= 0) || (command >= 5))
{
Console.WriteLine("Ошибка! Такой команды
не существует. Попробуйте снова!");
ok = false;
}
}
} while (!ok);
if (command == 1)
{
Console.WriteLine("<Двумерный массив
создан. Теперь его надо заполнить.>");
size2 = WhatSize();
if (size2 != 0)
{
//mas1 = new int[size1];
mas2 = createTwoMasRand(size2);
Console.WriteLine("Массив создан успешно.");
isEmpty = false;
}
else
{
Console.WriteLine("Создан пустой массив.");
isEmpty = true;
}
isAlreadyPut = true;
//minMenuFirst();
}
if (command == 2)
{
if ((isAlreadyPut == true) && (isEmpty == false))
{
Console.WriteLine();
Console.WriteLine("Удалим все строки,
в которых есть хотя бы один 0 элемент");
int[,] mas22 = null;
int counter = 0;
for (int i = 0; i < size2; i++)
{
for (int j = 0; j < mas2.GetLength(1); j++)
{
if (mas2[i, j] == 0)
{
counter++;
}
}
}
mas22 = Task2(mas2);
mas2 = mas22;
//size2 = counter;
if (counter != 0)
{
Console.WriteLine("Задание выполнено
успешно");
}
else
{
Console.WriteLine("Задание выполнено
неуспешно");
}
}
else
{
Console.WriteLine("Вы еще не создали
массив или он пуст!");
}
//minMenuFirst();
}
if (command == 3)
{
Console.WriteLine();
if ((isAlreadyPut == true) && (isEmpty == false))
{
isPrintTwo(mas2);
Console.WriteLine();
}
else
{
Console.WriteLine("Нечего печатать.");
}
//minMenuFirst();
}
} while (command != 4);
}
static void minMenuThird()
{
int size3 = 0;
int[][] mas3 = null;
int command = 0;
bool ok = false;
bool isAlreadyPut = false;
bool isEmpty = false;
do
{
Console.WriteLine();
Console.WriteLine("___________________РАБОТА
С РВАНЫМ МАССИВОМ__________________");
Console.WriteLine(" 1 - Создать
массив");
Console.WriteLine(" 2 - Выполнить
задание с массивом");
Console.WriteLine(" 3 - Печать");
Console.WriteLine(" 4 - Назад");
Console.WriteLine("_____________________________________________________________");
Информация о работе Функции и массивы на C#