Функции и массивы на C#

Автор работы: Пользователь скрыл имя, 09 Декабря 2014 в 10:34, практическая работа

Описание работы

Задание
1) Получение практических навыков при работe с одномерными, многомерными и рваными массивами.
2) Получение практических навыков при работe с функциями, передаче данных в функции различными способами, получение результатов из функций различными способами.
3) Получение практических навыков при создании диалоговых консольных приложений.

Файлы: 1 файл

Отчет по ЛР1.docx

— 49.03 Кб (Скачать файл)

                    }

                }

 

            } 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#