Летняя практика. Часть 4. Массивы

Содержание

Слайд 2

ПЛАН ЗАНЯТИЯ Строковые массивы (массивы символов) Массив Многомерные массивы Ступенчатые массивы Пример работы с массивами Задания

ПЛАН ЗАНЯТИЯ

Строковые массивы (массивы символов)
Массив
Многомерные массивы
Ступенчатые массивы
Пример работы с массивами
Задания

Слайд 3

Для объявления в программе константной строки вам необходимо заключить содержимое строки

Для объявления в программе константной строки вам необходимо заключить содержимое строки

в двойные кавычки ("My string").
Вы можете делать это практически в любом месте программы: в передаче параметров функции, в инициализации переменных. Мы уже неоднократно применяли строковые константы при выводе данных на экран. 
System.Console.WriteLine("Самые большие мониторы имеют размер: {0}", (int) Screens.SuperLarge); 
Здесь в качестве одного из параметров функции используется строка "Самые большие мониторы имеют размер: {0}". 
string strMessage = "Здравствуй Мир!"; 
В данном случае константная строка «Здравствуй Мир!» инициализирует переменную strMessage. 

СТРОКОВЫЕ КОНСТАНТЫ

Слайд 4

int [ ] к; //к - массив (ссылка на массив) k=new

int [ ] к; //к - массив (ссылка на массив) k=new int [3]; //Определяем массив из 3 целых 
к[0]=-5; //Задаем элементы массива
к[1]=4; 
к[2]=55;  
//Выводим третий элемент массива  Console.WriteLine(к[2] .ToString ()); 
Элементы массива можно задавать сразу при объявлении. Например:  int []

к = {-5, 4, 55} ; 

МАССИВЫ

Слайд 5

int k[]; //Неверно! int k [3]; //Неверно! int [3] к; //Неверно! МАССИВЫ

int k[]; //Неверно!  int k [3]; //Неверно!  int [3] к; //Неверно! 

МАССИВЫ

Слайд 6

Двумерный массив: int [ ] k = new int [2, 3];

Двумерный массив:  int [ ] k = new int [2, 3];  Обратите внимание, что пара квадратных скобок только одна. В

нашем примере у массива 6 (=2*3) элементов (к[0,0] — первый, к[1,2] — последний).  Трехмерный массив:  int [ ] к = new int [10,10,10];  А вот так можно сразу инициализировать многомерные массивы:  int [,]  k = {{ 2, -2 }, { 3, -22 }, { 0, 4 }}; 

МНОГОМЕРНЫЕ МАССИВЫ

Слайд 7

//Объявляем 2-мерный ступенчатый массив int[][] k = new int [2][]; //Объявляем

//Объявляем 2-мерный ступенчатый массив  int[][] k = new int [2][];  //Объявляем 0-й элемент

нашего ступенчатого массива  //Это опять массив и в нем 3 элемента 
k[0]=new int[3];  //Объявляем 1-й элемент нашего ступенчатого массива  //Это опять массив и в нем 8 элементов 
k[1]=new int[8];  k[1][7]=100; //записываем 100 в последний элемент массива  Обратите внимание, что у ступенчатых массивов мы задаем несколько пар квадратных скобок (по размерности массива).   Самая важная и интересная возможность ступенчатых массивов — это их «непрямоугольность». Так, в приведенном выше примере в первой «строке» массива к три целых числа, а во второй — восемь. Часто это оказывается очень кстати. 

СТУПЕНЧАТЫЕ МАССИВЫ

Слайд 8

РАБОТА С ГЕНЕРАТОРОМ ПСЕВДОСЛУЧАЙНЫХ ЧИСЕЛ Random x = new Random(); //активируем

РАБОТА С ГЕНЕРАТОРОМ ПСЕВДОСЛУЧАЙНЫХ ЧИСЕЛ

Random x = new Random(); //активируем генератор

случайных чисел
int t1 = x.Next(); //возвращает неотрицательное случайное число
int t2 = x.Next(30); // возвращает неотрицательное случайное число до 30
int t3 = x.Next(10, 30); //возвращает случайное число от 10 до 30
double t4 = x.NextDouble(); //возвращает вещественное случайное число от 0 до 1
Слайд 9

ПРИМЕР РАБОТЫ С МАССИВАМИ Создать матрицу чисел, случайного размер, заполненного случайными

ПРИМЕР РАБОТЫ С МАССИВАМИ

Создать матрицу чисел, случайного размер, заполненного случайными числами.
Посчитать

сумму элементов по строкам.
Посчитать произведение по столбцам.
Слайд 10

ПРИМЕР РАБОТЫ С МАССИВАМИ using System; using System.Collections.Generic; using System.Linq; using

ПРИМЕР РАБОТЫ С МАССИВАМИ

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class

Program
{
static void Main(string[] args)
{
Random x = new Random();
int t1 = x.Next(1,10); //количество строк
int t2 = x.Next(1,15); // количество столбцов
Слайд 11

ПРИМЕР РАБОТЫ С МАССИВАМИ int i, j; int[,] mas = new

ПРИМЕР РАБОТЫ С МАССИВАМИ

int i, j;
int[,] mas = new

int[t1, t2];
// заполняем массив случайными числами от 0 до 99
for (i = 0; i < t1; i++)
for (j = 0; j < t2; j++)
mas[i, j] = x.Next(99);
//подсчитаем сумму по строкам
int [] row = new int [t1];
for (i = 0; i < t1; i++)
{
row[i] = 0;
for (j = 0; j < t2; j++)
row[i] += mas[i, j];
}
Слайд 12

ПРИМЕР РАБОТЫ С МАССИВАМИ //произведение по столбцам int[] col = new

ПРИМЕР РАБОТЫ С МАССИВАМИ
//произведение по столбцам
int[] col = new

int[t2];
for (j = 0; j < t2; j++)
{
col[j] = 0;
for (i = 0; i < t1; i++)
{
col[j] += mas[i, j];
}
}
Слайд 13

ПРИМЕР РАБОТЫ С МАССИВАМИ // вывод массива с результатом расчетов for

ПРИМЕР РАБОТЫ С МАССИВАМИ

// вывод массива с результатом расчетов
for

(i = 0; i < t1; i++)
{
for (j = 0; j < t2; j++)
{
Console.Write(mas[i, j].ToString() + " ");
}
Console.WriteLine(" | {0}",row[i]);
}
Console.WriteLine("------------------------");
for (i = 0; i < t2; i++)
{
Console.Write(col[i].ToString()+" ");
}
}
}
}
Слайд 14

ЗАДАНИЕ 1. ИНИЦИАЛИЗАЦИЯ МАССИВА И ВЫВОД ЕГО НА ЭКРАН

ЗАДАНИЕ 1. ИНИЦИАЛИЗАЦИЯ МАССИВА И ВЫВОД ЕГО НА ЭКРАН

Слайд 15

ЗАДАНИЕ 2 Определить: а) сумму всех элементов массива; б) произведение всех

ЗАДАНИЕ 2

Определить:
а) сумму всех элементов массива;
б) произведение всех элементов массива;
в) сумму

квадратов всех элементов массива;
г) сумму шести первых элементов массива;
д) сумму элементов массива с k1-го по k2-й (значения k1 и k2 вводятся с клавиатуры; k2 > k1);
е) среднее арифметическое всех элементов массива;
ж) среднее арифметическое элементов массива с s1-го по s2-й (значения s1 и s2 вводятся с клавиатуры; s2 > s1).
Слайд 16

ЗАДАНИЕ 3 В массиве хранится информация о численности книг в каждом

ЗАДАНИЕ 3

В массиве хранится информация о численности книг в каждом из

35 разде-лов библиотеки. Выяснить, верно ли, что общее число книг в библиотеке
есть шестизначное число.
Слайд 17

ЗАДАНИЕ 4 Дан массив целых чисел. Найти: а) сумму нечетных элементов;

ЗАДАНИЕ 4

Дан массив целых чисел. Найти:
а) сумму нечетных элементов;
б) сумму элементов,

кратных заданному числу;
в) сумму элементов массива, кратных a или b.
Выяснить:
а) верно ли, что сумма элементов, которые больше 20, превышает 100;
б) верно ли, что сумма элементов, которые меньше 50, есть четное число.
Найти число пар соседних элементов массива, являющихся четными числами.
Слайд 18

ЗАДАНИЕ 5 В поезде 18 вагонов, в каждом из которых 36

ЗАДАНИЕ 5

В поезде 18 вагонов, в каждом из которых 36 мест.

Информация о продан-ных на поезд билетах хранится в двумерном массиве, номера строк которых соответствуют номерам вагонов, а номера столбцов — номерам мест. Если билет на то или иное место продан, то соответствующий элемент массива имеет значение 1, в противном случае — 0. Составить программу, опреде-ляющую число свободных мест в любом из вагонов поезда.
Слайд 19

ЗАДАНИЕ 6 Дан двумерный массив. Определить: а) номер столбца, в котором

ЗАДАНИЕ 6

Дан двумерный массив. Определить:
а) номер столбца, в котором расположен

минимальный элемент четвертой строки массива. Если элементов с минимальным значением в этой строке не-сколько, то должен быть найден номер столбца самого левого из них;
б) номер строки, в котором расположен максимальный элемент третьего столбца массива. Если элементов с максимальным значением в этом столбце несколько, то должен быть найден номер строки самого нижнего из них.
Слайд 20

ЗАДАНИЕ 7 Дан двумерный массив. Составить программу: а) которая определяет, является

ЗАДАНИЕ 7

Дан двумерный массив. Составить программу:
а) которая определяет, является ли последовательность

элементов некоторой строки массива упорядоченной по неубыванию;
б) которая определяет, является ли последовательность элементов некоторого столбца массива упорядоченной по невозрастанию.
В случае отрицательного ответа в обеих задачах должны быть напечатаны координаты первого элемента, нарушающего указанную упорядоченность.