Самостоятельная работа по теме Массивы

  • doc
  • 30.04.2020
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала 29. Самостоятельная работа по теме Массивы.doc

Самостоятельная работа №8

Тема: Массивы

Цель: Закрепление навыков применения генератора случайных чисел, массивов строк

Время выполнения: 6 часов

Теоретический материал

Иногда в качестве элементов массива используют случайные числа, которые можно получить с помощью функции Random(), которая генерирует случайное число в диапазоне 0..1.

Перед первым обращением к функции Random() необходимо вызовом процедуры Random инициализировать программный генератор случайных чисел.

Пример ввода одномерного массива A с использованием программного генератора случайных чисел:

static void Main(string[] args)

        {

            int n = 0, N=10;       // Переменные типа int

            Console.WriteLine();

            Random r = new Random();            // Для случайных чисел

            int[] A = new int[N];                       // Массив типа int

            Console.WriteLine("Создан массив A случайных целых чисел");

            Console.WriteLine();

            Console.WriteLine ("Номер n" + " Значение A[n]");

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

            {

               A[n] = r.Next(0, 100);      // Генерация случайного числа в диапазоне от 0 до 99

                Console.WriteLine(" {0} {1,10}", n, A[n] );

            }

            Console.WriteLine();

            Console.WriteLine("Нажмите любую клавишу");

            Console.ReadKey();                 // Пауза

        }

Задания

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

1. Вычислить наименьший элемент Mmin массива M и его порядковый номер Nmin. Размерность массива N=10. В программе элементы массива создаются генератором случайных чисел.

            int n = 0, N = 10, Nmin = 0, Mmin = 0;     

            Console.WriteLine();

            Random r = new Random();            // Для случайных чисел

            int[] M = new int[N];               // Массив типа int

            Console.WriteLine("Создан массив M случайных целых чисел");

            Console.WriteLine();

            Console.Write("Номер n" + " Значение M[n]");

            Console.WriteLine();

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

            {

                M[n] = r.Next(0, 100);    // Генерация случайного числа

                Console.WriteLine(" {0} {1,10}", n, M[n]);

            }

            Mmin = M[0];                      // Предположение

            Nmin = 0;

            for (n = 1; n < N; n++)

            if (M[n] < Mmin)                  // Обнаружение минимума

            {

                Mmin = M[n];

                Nmin = n;

            }

            Console.WriteLine();

            Console.WriteLine("Результаты");

            Console.WriteLine();

            Console.Write("Nmin=");                // Вывод Nin

            Console.WriteLine(Nmin.ToString());

            Console.Write("Mmin=");                // Вывод Mmin

            Console.WriteLine(Mmin.ToString());

            Console.WriteLine();

            Console.WriteLine("Нажмите любую клавишу");

            Console.ReadKey();                     // Пауза

Блок-схема алгоритма решения задачи представлена на рисунке 7.

Рисунок 7 – Блок-схема алгоритма решения задачи

2. Вывести квадратную матрицу X размером RxC в виде таблицы. Найти максимальное значение элемента и его координаты: номер строки  R и номер столбца C.

  {   

int r=0, R=0, Rmax=0, c=0, C=0, Cmax=0, Mmax=0;   

// Переменные типа int

            Console.WriteLine("Введите число строк R и столбцов матрицы");

            Console.Write("Число строк R=");                             // Введите R

            R = Convert.ToInt32(Console.ReadLine());

            Console.Write("Число столбцов C=");                      // Введите C

            C = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine();

            Random rnd = new Random();          // Для случайных чисел

            int[ , ] M = new int[R, C];                   // Матрица M[R,C] типа int

            for (r = 0; r < R; r++)                         // Внешний цикл по строкам

            {

                for (c = 0; c < C; c++)                  // Внутренний цикл по столбцам

                {

                    int Mm = rnd.Next(0, 100);  // Генерация случайного числа от 0 до 99

                    M[r,c] = Mm;

                    if (M[r,c] > Mmax)                     // Обнаружение максимума

                    {

                        Mmax = M[r,c];                     // Значение максимума

                        Rmax = r;                             // Номер строки

                        Cmax = c;                            // Номер столбца

                    }

                }

            }                                               // Вывод матрицы

            Console.WriteLine("Создана матрица M[R,C] случайных целых чисел");

            Console.WriteLine();

            for (r = 0; r < R; r++)

            {

                for (c = 0; c < C; c++)

                {

                    Console.Write(M[r, c].ToString("D2")+"   ");

                }

                Console.WriteLine();

            }

            Console.WriteLine();

            Console.WriteLine("Результаты");

            Console.WriteLine();

            Console.Write("Максимальное значение Mmax=");   // Вывод Mmax

            Console.WriteLine(Mmax.ToString());

            Console.Write("Номер строки Rmax=");                     // Вывод Rmax

            Console.WriteLine(Rmax.ToString());

            Console.Write("Номер столбца Cmax=");                 // Вывод Cmax

            Console.WriteLine(Cmax.ToString());

            Console.ReadKey();                                                  // Пауза

}

3. В заданном строковом массиве заменить одни слова на другие.

string[ ] str = {"Это ","очень ","простой ","тест." };

            Console.WriteLine("Исходный массив: ");

            Console.WriteLine();

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

            Console.Write(str[i] + "  ");         

            Console.WriteLine("\n");  //Вывод на печать через клавишу Tab

            // Изменяем строку

            str[1]="тоже ";

            str[3]="тест, не правда ли?";

            Console.WriteLine("Модифицированный массив: ");

            Console.WriteLine();

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

            Console.Write(str[i]+"  ");

            Console.ReadKey(); // Пауза

4. Ввести массив символов и заменить один из символов, например 'a' на другой, например 'x'. Подсчитать количество замен.

char[] Q = new char[10];

char a, x;          int c=0;  // Количество замен

            Console.WriteLine("Ввод символов в массив Q");

            for (int k = 0; k < 10; k++)

            {

                Console.Write("Введите {0}", k);

                Console.WriteLine(" элемент массива Q");

                Q[k] = Convert.ToChar(Console.ReadLine());

            }

            Console.WriteLine();

            Console.WriteLine("Исходный массив Q: ");

            foreach (char k in (char[])Q)

            Console.Write("{0} ", k); //вывод элементов массива Q

            Console.WriteLine();

            for (int k=0; k < 10; k++)

                 if (Q[k] == 'a')       // символ, который надо найти

                 {

                    Q[k] = 'x';         // символ, на который надо заменить

                    c = c + 1;         // количество замен

                 }

            Console.WriteLine();

            Console.WriteLine("Модифицированный массив Q: ");

            foreach (char k in (char[])Q)

            Console.Write("{0} ", k); //вывод элементов массива S

            Console.WriteLine();

            Console.WriteLine();

            Console.WriteLine("Количество замен ={0} ", c);

            Console.ReadKey(); // Пауза

Блок-схема алгоритма решения задачи представлена на рисунке 8.

Рисунок 8 – Блок-схема алгоритма решения задачи


Скачано с www.znanio.ru

Посмотрите также