Спонсор: Microsoft
Воронежский государственный университет
Опубликован: 04.02.2009 | Доступ: свободный | Студентов: 7568 / 461 | Оценка: 4.14 / 3.78 | Длительность: 19:54:00
Самостоятельная работа 7:

Основы языка C#. Работа с массивами и строками. Интерфейсы и коллекции

< Самостоятельная работа 6 || Самостоятельная работа 7: 123 || Лекция 7 >

Порядок выполнения лабораторной работы

Для изучения приводимых в лабораторной работе примеров необходимо создать в Microsoft Visual Studio проект консольного приложения и описать класс Program, используя приводимый в примерах код.

1.Работа с массивами.

Следующие две программы демонстрируют, каким образом выполняется инициализация и работа с прямоугольными и ломаными массивами в C#.

  1. Прямоугольный массив:
    using System;
    using System.Collections.Generic;
    using System.Text;
    
    namespace HelloWorldDemo
    {
     class Program
     {
      static void Main(string[] args)
      {
       // Прямоугольный многомерный массив
       int[,]multMatr;
       multMatr = new int[10,10];
       
       // Заполнение массива 9 на 9:
       for (int i = 1; i <= 9; i++)
       for (int j = 1; j < 9; j++)
       multMatr[i, j] = i * j;
    
       // Вывод элементов многомерного массива 
       for (int i = 1; i <= 9; i++)
       {
        for (int j = 1; j <= 9; j++)
        {
         Console.Write(multMatr [i, j] + "\t");
        }
        Console.WriteLine();
       }
      }
     }
    }

    В результат выполнения программы получим таблицу умножения следующего вида:


  2. Ломаный массив.
    using System;
    using System.Collections.Generic;
    using System.Text;
    
    namespace HelloWorldDemo
    {
     class Program
     {
      static void Main(string[] args)
      {
       // Ломаный многомерный массив из пяти внутренних массивов разного размера 
       int[][] JagArr = new int[10][];
       
       // Инициализация генератора случайных чисел
       Random rand = new Random();
       
       // Динамическое создание ломаного массив
       for (int i = 0; i < JagArr.Length; i++)
       {  
        JagArr[i] = new int[i + rand.Next(10)];
       } 
      
       // Вывод строк на консоль 
       // Каждый элемент по умолчанию имеет значение, равное  
       for (int i = 0; i < 10; i++)
       {
        // Свойство Length массива возвращает его размер
        Console.Write("Length of row {0} is {1}:\t", i, JagArr[i].Length);
        for (int j = 0; j < JagArr[i].Length; j++)
        {  
         Console.Write(JagArr[i][j] + " ");
        }  
        Console.WriteLine();
       }
      }
     }
    }

    В результат выполнения программы получим таблицу следующего вида:


2.Свойства и методы класса Array.

Следующий пример демонстрирует использование некоторых из приведенных свойств и методов класса Array:

using System;
using System.Collections.Generic;
using System.Text;

namespace HelloWorldDemo
{
 class Program
 {
  static void Main(string[] args)
  {
   // Массив символьных строк
   string[] Brands = new string[]
   {"Audi",
   "BMW",
   "Buick",
   "Chevrolet",
   "Citroen",
   "Dodge",
   "Ferrari",
   "Fiat",
   "Ford",
   "Honda",
   "Hyundai",
   "Cherokee",
   "Cherry",
   "Lada",
   "Lamborghini",
   "Lincoln",
   "Mazda",
   "Mercedes",
   "Mitsubishi",
   "Nissan",
   "Opel",
   "Peugeot",
   "Plymoth",
   "Pontiac",
   "Renault",
   "Rover",
   "Saab",
   "Subaru",
   "Suzuki",
   "Toyota",
   "Volkswagen",
   "Volvo"};
   
   // Вывод марок автомобилей в соответствии с порядком элементов в массиве
   
   Console.WriteLine("Here is the array of car brands:");
   
   for (int i = 0; i < Brands.Length; i++)
   Console.Write(Brands[i] + "\t");
   
   Console.Write("\n\n");
   
   // Сортировка элементов в обратном порядке 
   
   Array.Reverse(Brands);
   
   // Вывод автомарок 
   Console.WriteLine("Here is the list once reversed:");
   for (int i = 0; i < Brands.Length; i++)
   Console.Write(Brands[i] + "\t");
   
   Console.Write("\n\n");
   
   // Остаются только первый и последний
   
   Console.WriteLine("Only two remain: ");
   Array.Clear(Brands, 2, Brands.Length-2);
  
   for (int i = 0; i < Brands.Length; i++)
   {
    Console.Write(Brands[i] + "\t\n");
   }
  } 
 }  
}
13.1.

Результат работы программы:


< Самостоятельная работа 6 || Самостоятельная работа 7: 123 || Лекция 7 >
Михаил Олифиренко
Михаил Олифиренко
Александр Табачук
Александр Табачук

Это только у меня не работает кнопочка "Получить код DreamSpark"? Пишет "временно не доступно..." А когда заработает?

Александр Колпаков
Александр Колпаков
Узбекистан
Berkut Molodoy
Berkut Molodoy
Россия