Программа считает сумму элементов в каждой строке и выдаёт номер строки с наименьшей
суммой элементов: 1 строка.
Решение:
Console.Write(«Введите размерность m массива: «);
int m = Convert.ToInt32(Console.ReadLine());
Console.Write(«Введите размерность n массива: «);
int n = Convert.ToInt32(Console.ReadLine());
int[,] randomArray = new int[m,n];
void mas(int m, int n)
int i,j;
Random rand = new Random();
for (i = 0; i < m; i++)
for (j = 0; j < n; j++)
randomArray[i,j] = rand.Next(1,9);
>
>
>
void printm(int[,] array)
int i,j;
for (i = 0; i < array.GetLength(0); i++)
Console.WriteLine();
for (j = 0; j < array.GetLength(1); j++)
Console.Write($» «);
>
Console.WriteLine();
>
>
mas(m,n);
Console.WriteLine(«nИсходный массив: «);
printm(randomArray);
// Функция, считающая сумму элементов в строке
Уроки C++ / #8 урок — Двумерные массивы
int SumLine(int[,] array, int i)
int sum = array[i,0];
for (int j = 1; j < array.GetLength(1); j++)
sum += array[i,j];
>
return sum;
>
int minSum = 1;
int sum = SumLine(randomArray, 0);
for (int i = 1; i < randomArray.GetLength(0); i++)
if (sum > SumLine(randomArray, i))
sum = SumLine(randomArray, i);
minSum = i+1;
>
>
Console.WriteLine($»nСтрока c наименьшей суммой элементов: »);
Пояснение:
Решение надо просто разбить на функцию — SumLine, которая считает сумму элементов в одной стоке и цикл For, который перебирает все строки и находит номер строки, где наименьшая сумма элементов.
Источник: blablacode.ru
Лаб9
Цель работы: Сформировать понятие двумерного массива числового типа. Овладеть умениями обращения к элементам двумерного массива, ввода и вывода массива, составления алгоритмов обработки массивов.
Задание 1
Загрузите программу из прошлой лабораторной работы, которая запрашивает размеры двумерного массива, значения его элементов и выводит на очищенный экран получившийся массив.
Дополните предыдущую программу так:
- обнулялись все максимальные элементы в массиве;
- удваивались все максимальные элементы в массиве;
- все максимальные элементы в массиве уменьшались в два раза;
- все минимальные элементы в массиве заменялись на среднее арифметическое;
- вычислялось количество минимальных элементов;
- все минимальные элементы в массиве заменялись на противоположные;
- все максимальные элементы в массиве заменялись противоположные.
Задание 2
- суммы элементов выше главной диагонали;
- количества 0 ниже главной диагонали;
- произведения ненулевых элементов ниже побочной диагонали;
- произведения положительных элементов выше побочной диагонали;
- максимального элемента выше побочной диагонали;
- минимального элемента ниже побочной диагонали;
- суммы положительных элементов выше главной диагонали;
- количества отрицательных элементов ниже главной диагонали.
Задание 3
- Задача C. Состязания — 1
- Задача D. Состязания — 2
- Задача E. Состязания — 3
- Задача F. Состязания — 4
- Задача G. Состязания — 5
Задание 4
Составьте программу для нахождения количества: 4.1 строк, где все элементы одинаковы; 4.2 столбцов, где все элементы положительны; 4.3 строк, где знаки элементов чередуются; 4.4 столбцов, совпадающих с первым; 4.5 нулевых строк; 4.6 столбцов, где все элементы одинаковы; 4.7 строк, совпадающих с последней; 4.8 нулевых столбцов.
Двумерный динамический массив c++ пример. Создание, заполнение, удаление. Динамические массивы. #56
Задание 5
- Определить, есть ли в массиве одинаковые строки;
- Определить сколько в массиве столбцов, где все элементы различны;
- Определить, верно ли, что все строки упорядочены по убыванию;
- Определить, верно ли, что максимальные элементы всех строк находятся в разных столбцах;
- Определить, верно ли, что минимальные элементы всех столбцов находятся в разных строках;
- Определить, является ли массив магическим квадратом, т.е. совпадает ли в нем сумма каждой строки, каждого столбца и двух диагоналей;
- Найти минимальное число К, для которого хотя бы в одной строке все элементы меньше или равны К;
- Найти максимальное число К, для которого в каждой строке есть хотя бы один элемент, больший или равный К.
Дополнительные задачи.
- На двух прозрачных листах бумаги в клетку размерами 20х20 нарисовано по одной фигуре, состоящей из закрашенных клеток. Составьте программу, которая отвечает на вопрос: конгруентны ли эти фигуры? (1 балл).
- N спортсменов уходят со старта в моменты времени t11 балл).
- Назовем таблицу «хорошей», если сумма чисел, записанных в клетках любого пути из A[1,1] в A[m,n] одинакова. Составить программу проверки, является ли данная таблица «хорошей» (1 балл).
- В квадратной матрице размерами MxN элементы каждой строки и каждого столбца упорядочены по возрастанию. Опишите, обоснуйте и реализуйте эффективный алгоритм (трудоемкости M+N) определения, встречается ли данное число в таблице (1 балл)).
- Назовем путем из одного угла прямоугольной таблицы в противоположный любую последовательность клеток таблицы, которая начинается в одном углу, заканчивается в другом, любые две соседние клетки имеют общую сторону и при этом количество клеток последовательности минимально. Составьте программу для нахождения в прямоугольной таблице, в каждой клетке которой записаны некие числа, пути из одного угла в противоположный с максимальной суммой чисел, записанных в клетках пути. (1 балл).
- Составить программу для нахождения пути из одного угла в противоположный в лабиринте размерами MxN, состоящем из свободных и закрашенных клеток (1 балл).
- Даны два поля шахматной доски. Найти минимальное число ходов, которые нужны шахматному коню для перехода с первого поля на второе. (2 балла).
Источник: studfile.net
Конспект урока программирование обработки двумерных массивов 10 класс семакин
Формы организации: фронтальная работа, индивидуальная работа.
Оборудование: задания для работы в классе (индивидуальные карточки, задание на компьютере), записи на доске.
Ход урока:
1. Организационный момент .
Приветствие.
Сообщается тема.
Ставиться цель урока и задачи.
2. Актуализация полученных знаний
Устно проговариваются основные моменты предыдущей темы: “Одномерные массивы”. Фронтальный мини опрос по основным определениям.
3. Целеполагание, постановка задач:
4. Лекция
Двумерным массивом называется совокупность данных, каждое значение которых зависит от двух чисел, которые можно рассматривать как индекс столбца в матрице.
: array [н_индекс_1..в_индекс_1, н_индекс_2 ..в_индекс_2] of
A: array[1..n,1..m] of integer;
Для того чтобы использовать элемент массива, надо указать имя массива и индекс элемента. Первый индекс соответствует номеру строки, второй – номеру столбца. Например:
for i:=1 to n do
for j:=1 to n do
a[i,j]:= random (100);
При инициализации двумерных массивов каждая строка заключается в дополнительную пару круглых скобок:
Аналогом массивов языка Паскаль в математике являются матрицы. Матрица, у которой число строк равно числу столбцов, называется квадратной. A(n,n) – квадратная матрица
Основные свойства квадратных матриц:
1. Квадратные матрицы имеют главную и побочные диагонали. Например, для матрицы А на главной диагонали лежат элементы 1,5 и 9, а на побочной – 3, 5 и 7.
i=j – элементы расположены на главной диагонали;
i> j – элементы расположены ниже главной диагонали;
i n+1– элементы расположены под побочной диагональю;
2. Квадратная матрица, у которой все элементы, исключая элементы главной диагонали, равны нулю, называется диагональной матрицей
3. Диагональная матрица, у которой все элементы, стоящие на главной диагонали, равны 1 , называется единичной матрицей
4. Если в матрице A (m,n) поменять местами строки и столбцы, то получится матрица A t (m,n), которая называется транспонированной матрицей.
-
суммировать;
- находить разность;
- произведение матрицы на некоторое число;
- произведение двух матриц.
for i:= 1 to n do
begin
for j:= 1 to m do
write (a[i,j]:4);
writeln
end;
randomize;
for i:=1 to m do
begin
for j:=1 to n do
begin
a[i,j]:=random(100)-10;
write(a[i,j]:4);
end;
writeln;
end;
for i:= 1 to n do
for j:= 1 to m do
if j>m then write (a[i,j]:4)
else writeln (a[i,j]:4);
for i:= 1 to n do
begin
for j:= 1 to m do
c[i,j]:=a[i,j]+ b[i,j]
end;
5. Первичный контроль
“Контурная карта” 2 варианта
Var
A= array[1..n,1..m] of integer;
… … двумерных массивов каждая строка заключается в дополнительную пару круглых скобок:
Основные действия, которые можно выполнять над матрицами: суммирование, произведение двух матриц,….,….
Матрица, у которой число строк равно числу столбцов, называется …. ….. .
for i:= 1 to n do
begin
for j:= 1 to m do
c[i,j]:=a[i,j]+ a[i,j]
end;
Какую типовую задачу выполняет алгоритм?
…… называется совокупность данных, каждое значение которых зависит от двух чисел, которые можно рассматривать как индекс столбца в матрице.
Диагональная матрица, у которой все элементы, стоящие на главной диагонали, равны … , называется единичной матрицей
Квадратная матрица, у которой все элементы, исключая элементы главной диагонали, равны нулю, называется … … .
randomize;
for i:=1 to m do
begin
for j:=1 to n do
begin
a[i,j]:=random(100)-10;
end;
end;
Какую типовую задачу выполняет алгоритм?
А теперь сверимся: Приложение 1
program sred_n;
const m=3;
n= 4;
var
a: array[1..m,1..n] of integer;
i,j,n_pos_el:integer;
sred:real;
begin
for i:=1 to m do
for j:=1 to n do read(a[i,j]);
sred:=0;
for i:=1 to m do begin
n_pos_el:=0;
for j:=1 to n do begin
sred:=sred+a[i,j];
if a[i,j]>0 then inc(n_pos_el);
end;
writeln(‘V’,i,’-oi stroke’,n_pos_el,’polozitelnix elementov’);
end;
sred:=sred/m/n;
writeln(‘Srednee arifmeticheskoe:’,sred:6:2);
end.
program num_posit;
const m=3;
n=4;
var
a: array[1..m,1..n] of integer;
i,j,num:integer;
all_posit:boolean;
begin
randomize;
for i:=1 to m do
begin
for j:=1 to n do
begin
a[i,j]:=random(100)-10;
write(a[i,j]:4);
end;
writeln;
end;
num:=0;
for j:=1 to n do begin
all_posit:=true;
for i:=1 to m do
if a[i,j] 1.04.2008
- Для учеников 1-11 классов и дошкольников
- Бесплатные сертификаты учителям и участникам
Образовательная: познакомить учащихся с понятием двумерного массива данных, со способом описания двумерных массивов на ТР; обращения к элементам двумерных массивов; формировать навыки и умения составлять программы с использованием двумерных массивов.
Развивающая: учить анализировать и сравнивать, задавать вопросы.
Воспитательная: воспитывать аккуратность, внимательность, вежливость и дисциплинированность, бережное отношение к вычислительной технике.
Здоровьесберегающая: соблюдение санитарных норм при работе с компьютером, соблюдение правил техники безопасности, оптимальное сочетание форм и методов, применяемых на уроке.
Используемые на уроке средства ИКТ :
(ПК) учителя, мультимедийный проектор, интерактивная доска; ПК учащихся; презентация к уроку; карточки с практическим заданием.
Актуализация опорных знаний.
Изучение нового материала.
Подведение итогов урока.
Проверка готовности учащихся к уроку;
Объявление темы урока, цели и плана его проведения.
Актуализация опорных знаний (фронтальный опрос).
Давайте повторим основные понятия:
Что такое массив?
(ряд ячеек памяти, отведенных для хранения индексированной переменной или совокупность данных одного типа с общим для всех элементов именем).
Какие массивы вы знаете?
(одномерные, двумерные, трех мерные, четырехмерные)
Какие способы описания массива вы знаете?
(var ИмяМассива: array [НижняяГраница.. ВерхняяГраница] of Тип Элементов;или как типизированную константу const x : array [1..5] of integer =( l ,3,5,7,9);)
Какие способы формирования (заполнения) массивов вы знаете?
( с клавиатуры,присваиванием заданных значений, датчиком случайных чисел, помощью вычисления элементов)
Как обратиться к элементу массива?
(имя массив [ индекс элемента ] )
Что такое типы данных?
Какие типы данных вы знаете?
Как использовать команды цикла?
Какие циклы вы знаете?
Изучение нового материала
В практической деятельности человека часто используются таблицы и списки.
Список учеников в журнале;
Список среднесуточной температуры месяца;
Элементы списков и номера строк и столбцов всегда нумеруются.
В языках программирования подобные типы данных описываются с помощью массивов.
Массив — это набор однотипных данных, к которым можно обратиться с помощью единственного имени.
Каждое значение в массиве называется элементом.
Номер элемента в списке называется индексом.
Элементы представляют собой символьные или числовые значения, которые можно использовать в выражениях ЯП ПАСКАЛЬ.
Чтобы представить себе двумерный массив, вспомните зрительный зал кинотеатра.
Название кинотеатра – имя массива.
Ряд, место — индексы.
Для того, чтобы использовать массив в программе, его нужно описать в разделе описаний:
(Запись в тетради)
Двумерным массивом называется массив, элементы котрого расположенны в виде прямоугольной таблицы .
Строка, столбец
Элемент массива обозначается по имени массива , с указанием № строки и № столбца .
Размерность определяется как количеством индексов в строке и столце. ( N M )
Var имя_массива : array [размер ] of тип_элементов;
Имя массива выбираем по основным правилам имен идентификаторов.
Размер: [начальный_индекс . . конечный_индекс ]
[нач_индекс . . конечн_индекс , нач_индекс . . конечн_индекс ]
Name: array [1..30] of string;
Temperature : array [1..31] of real;
Kino : array [1..25, 1..40] of string;
Обращение к конкретному элементу массива осуществляется путем указания имени массива и индекса этого элемента в [ ]
Name [15], Temperature [10], Kino [5,6]
Элементы массивов используются в выражениях также, как и обычные переменные:
В качестве индексов массивов можно использовать переменные целого типа:
Name[i], Temperature[k], Kino[i,j]
Это свойство дает возможность обрабатывать массивы в циклах, в которых индекс массива является одновременно и счетчиком цикла.
Три этапа работы с массивами (запись в тетради):
1. Заполнение массива данными
2. Преобразование массива
(действия с элементами массива)
3. Вывод массива или
отдельных данных на экран
Рассмотреть ввод элементов массива.
Ввод элементов массива
writeln (‘Ввод эл-в массива A ’);
вод и вывод двумерного массива, как и одномерного, производится поэлементно, т.е. используем – цикл, но формирование двумерного немного усложняется что необходимо испоьзовать вложенные циклы (один цикл для номера строки, другой – номер столюца)
И так еще один фрагмент на котором мы остановимся – это вывод элементов массива.
Вывод элементов массива
writeln (‘Вывод эл-в массива A ’);
Обратите внимание, для вывода элементов массива в виде таблицы, между вложенными циклами вставляем оператор, которы в данный момент будет формировать строчки, а пробел в апострофах – формирует столбцы.
Практическая работа. ТБ.
Практическая работа №7
Цель работы: сформировать понятие двумерного массива числового типа; владеть умениями обращения к элементам двумерного массива, ввода и вывода массива, составления алгоритмов обработки массивов; систематизировать и развить навыки решения типовых задач с использованием двумерных массивов.
Задание 1.
Составьте программу, которая запрашивает размеры двумерного массива, значения его элементов и выводит на очищенный экран получившийся массив.
Задание 2.
Дополните предыдущую программу так, чтобы вычислялось и выводилось на экран значение:
Цель: Получить общее представление о двумерном массиве и способе его формирования.
Развивать логику мышления, умения и навыки в программировании простых задач, познавательный интерес, навыки работы на компьютере, самоконтроль, умения конспектировать.
Воспитывать информационную культуру учащихся, внимательность, аккуратность, дисциплинированность, усидчивость.
Знать: Понятие двумерный массив, размерность, индекс, описание массива, ввод и вывод массива.
Уметь: Формировать массив, решать задачи на обработку массива.
Оборудование: Презентация с заданиями, демонстрационная презентация, модуль.
- Для учеников 1-11 классов и дошкольников
- Бесплатные сертификаты учителям и участникам
Выберите документ из архива для просмотра:
Алгоритмизация и программирование 10 класс
Тема: Двумерные числовые массивы. Заполнение двумерных массивов по правилу.
образовательные; отработать навыки работы с элементами двумерного массива, научиться заполнять двумерные массивы по заданному правилу, научиться выводить зависимость между номером строки и номером столбца;
развивающие: создать условия для развития умений работать за ограниченный промежуток времени, развития навыков коллективной работы, развития навыков работы с текстом программы.
воспитательные: содействовать созданию на уроке психологического комфорта для работы, воспитанию собранности, ответственного отношения к своему труду, повышения мотивации к учебной деятельности.
Тип урока : комбинированный.
Методы обучения: беседа, самостоятельная работа.
Формы организации: фронтальная работа, групповая работа, индивидуальная работа.
Оборудование: ПК, интерактивная доска, индивидуальные карточки с заданиями.
Актуализация знаний (Слайд 2)
Массивы, положение элементов в которых описывается двумя индексами, называются двумерными. Структура такого массива может быть представлена прямоугольной матрицей. Каждый элемент матрицы однозначно определяется указанием номера строки и столбца, номер строки – i, номер столбца – j.
Рассмотрим матрицу А размером 4 * 6 :
Каждый элемент имеет свой номер, который состоит из двух чисел – номера строки, в которой находится элемент, и номера столбца. Например, а[2,3] – это элемент, стоящий во второй строке и в третьем столбце.
Двумерный массив на языке Паскаль можно описать по-разному. Чтобы описать двумерный массив, надо определить какого типа его элементы, и каким образом они пронумерованы (какого типа его индекс).
Type имя типа >= array [1..maxN, 1..maxM] of тип элементов >;
Const N=4; M=6;
Type Mass2= array [1..N, 1..M] of integer;
Формирование двумерного массива можно осуществлять четырьмя способами:
ввод с клавиатуры,
через генератор случайных чисел,
по заданному правилу,
с помощью файла.
1) Формирование двумерного массива при помощи ввода с клавиатуры и алгоритм построчного вывода элементов матрицы.
Const N=10;M=10;
Type mass2= array [1..N,1..M] of integer;
Var A:Tmas; i,j:integer;
Begin
For i:=1 to 4 do
For j:=1 to 6 do
Read(A[i,j]);
For i:=1 to 4 do
2) Фрагмент программы формирования двумерного массива через генератор случайных чисел.
Постановка цели. Изучение нового материала
Какой способ заполнения массивов мы с вами еще не знаем?
Рассмотрим несколько задач на заполнение двумерного массива по некоторому закону. Учащиеся вместе с учителем обсуждают слайд презентации (3), после чего разбираются в уже имеющейся программе на Паскале.
- Соотнесение числа и количества цифра 1 конспект
- Жанровые особенности драмы конспект
- Основные причины возникновения и распространения пожаров в зданиях конспект
- Пропорции фигуры и прически конспект
- Одновременный двухшажный ход план конспект
Источник: obrazovanie-gid.ru