
Двумерные массивы
Для того, чтобы заполнить двумерный массив случайным образом, необходимо:
// организовать двумерный массив
Int [,] r = new int [10,10];
// завести объект класса Random
Random rnd= new Random();
//заполнить случайным образом имеющийся массив
for (int i=0; i<9; i++)
{
for (int j=0; j<9; j++)
{
//массив заполняется случайным числами в диапазоне [0;2)
r[i,j]= rnd.Next(0,2);
// вывод на экран элемента массива (курсор остается на той же строке)
Console.Write( r[i, j] + “ ”);
}
Console.WriteLine(); // перенос курсора
} Вид экрана:
Заполнить двумерные массивы следующим образом:
Для задач 3.2.2. – 3.2.8. использовать двумерный массив размерностью nm, заполненный случайными числами в диапазоне от 100 до 999
3.2.2. Найти сумму, произведение, количество, значения и индексы, среднее арифметическое:
элементов, равных своим индексам;
элементов, больших своих индексов;
элементов, меньших своих индексов;
элементов, кратных своему индексу;
положительных элементов;
отрицательных элементов;
элементов, больших по значению заданного числа k, где k – вводится с экрана;
элементов, меньших по значению заданного числа k, где k – вводится с экрана;
четных элементов;
нечетных элементов;
элементов, кратных заданному числу k, где k – вводится с экрана.
элементов, принадлежащих заданному интервалу (1;k), где 1 и k – вводятся с экрана.
элементов, принадлежащих заданному отрезку [1;k], где 1 и k – вводятся с экрана.
элементов, не принадлежащих заданному интервалу (1;k), где 1 и k – вводятся с экрана.
элементов, не принадлежащих заданному отрезку [1;k], где 1 и k – вводятся с экрана.
3.2.3. Заполнить двумерный массив размерностью nm случайными числами в диапазоне от 100 до 999. Найти:
номер строки, с максимальной суммой элементов;
номер строки, с минимальной суммой элементов;
номер столбца, с максимальной суммой элементов;
номер столбца, с минимальной суммой элементов;
сумму максимальных элементов каждой строки;
сумму минимальных элементов каждого столбца;
сумму максимальных элементов каждого столбца;
сумму минимальных элементов каждой строки.
3.2.4. Поменять местами:
наибольший и наименьший элемент в каждой строке.
наибольший и наименьший элемент в каждом столбце.
наибольший и наименьший элемент в каждой диагонали.
элементы, симметричные относительно главной диагонали.
строки и столбцы с одинаковыми номерами;
строки, содержащие наибольший и наименьший элемент;
столбцы, содержащие наибольший и наименьший элемент.
3.2.5. Расположить:
элементы каждой строки по возрастанию;
элементы каждой строки по убыванию;
элементы каждого столбца по возрастанию;
элементы каждого столбца по убыванию.
3.2.6. Удалить из матрицы (т.е. создать матрицу из элементов данной матрицы, исключив те элементы, которые требуется удалить):
строку с максимальным элементом матрицы;
столбец с максимальным элементом матрицы;
строку с минимальным элементом матрицы;
столбец с минимальным элементом матрицы;
строки, в которых нет отрицательных элементов;
столбцы, в которых нет отрицательных элементов;
строки, в которых есть более 4 отрицательных элементов;
строки, в которых нет положительных элементов;
столбцы, в которых нет положительных элементов;
строки, в которых есть элементы равные сумме своих индексов;
столбцы, в которых есть элементы равные сумме своих индексов;
Из элементов исходного массива создать одномерный массив:
из максимальных элементов каждого столбца исходной матрицы;
из минимальных элементов каждого столбца исходной матрицы;
из максимальных элементов каждой строки исходной матрицы;
из минимальных элементов каждой строки исходной матрицы;
из элементов исходной матрицы, значения которых принадлежат данному интервалу;
из элементов исходной матрицы, значения которых не принадлежат данному интервалу;
из элементов исходной матрицы, значения которых больше каждого из собственных индексов;
из элементов исходной матрицы, значения которых меньше каждого из собственных индексов;
из элементов исходной матрицы, расположенных на главной диагонали;
из элементов исходной матрицы, которые являются простыми числами;
из элементов исходной матрицы, которые кратны наибольшему значению матрицы;
из элементов исходной матрицы, которые кратны наименьшему значению матрицы;
В исходной матрице поменять местами:
наибольший и наименьший элемент в каждой диагонали;
элементы, симметричные относительно главной диагонали;
строки и столбцы с одинаковыми номерами;
Дана квадратная матрица А. Построить:
из четных столбцов матрицы A матрицу B, так что четные столбцы матрицы A, будут строками матрицы B.
из нечетных столбцов матрицы A матрицу B, так что нечетные столбцы матрицы A, будут строками матрицы B.
из четных строк матрицы A матрицу B, так что четные строки матрицы A, будут столбцами матрицы B.
из нечетных строк матрицы A матрицу B, так что нечетные строки матрицы A, будут столбцами матрицы B.
матрицу B, так что последний элемент строки матрицы A будет первым элементом столбца матрицы B, предпоследний элемент строки матрицы A будет вторым элементом столбца матрицы B, и т.д. нулевой элемент строки матрицы A будет последним элементом столбца матрицы B.
матрицу B, симметричную A относительно последнего столбца. Поменять местами строку с индексом 0 со столбцом 0.
матрицу B, симметричную A относительно нулевого столбца. Поменять местами строки и столбцы с одинаковыми номерами.
матрицу B, симметричную A относительно последней строки. Поменять местами строки с четным индексом с четными столбцами.
матрицу B, симметричную A относительно нулевой строки. Поменять местами строки с нечетным индексом с нечетными столбцами.
Для массива [n, n] определить, является ли он симметричным относительно своей главной диагонали.
Найти сумму двух произвольных матриц.
Найти разность двух произвольных матриц.
Умножить все элементы матрицы на число.
Транспонировать произвольную матрицу.
Даны квадратные матрицы A, B, C. Найти:
A+B*3
(A+B)*6
(A+B)*(A+C)
3*B+5*C
A-B*6
(A-B)*8
Даны матрицы A, B, C (произвольной размерности) найти:
(A+B+C)^2
A-B+C^2
(A-B)*(A-C)
A^2 – B^2
(A+B)*(B-C)
(A-B)*C^2
A^3+B+C
A-B+(A-B)^2
Даны целые числа
. Получить целочисленную матрицу
для которой
. Значение i, j меняются от 1 до 3.
Даны действительные числа
. Получить действительную матрицу
для которой
.
Дано натуральное число n. Выяснить, сколько положительных элементов содержит матрица
если
. Значение i, j меняются от 1 до n.
Дана действительная матрица размера m*n. Найти сумму наибольших значений элементов ее строк.
Даны натуральное число n, действительная матрица
. Получить последовательность элементов главной диагонали
. Значение i, j меняются от 1 до n.
Дана действительная матрица размера n*m, все элементы которой различны. В каждой строке выбирается элемент с наименьшим значением, затем среди этих чисел выбирается наибольшее. Указать индексы найденного элемента.
Дана действительная квадратная матрица порядка n. Рассмотрим те элементы, которые расположены в строках, начинающихся с отрицательного элемента. Найти суммы тех из них, которые расположены соответственно ниже, выше и на главной диагонали.
Таблица футбольного чемпионата задана квадратной матрицей порядка n, в которой все элементы, принадлежащей главной диагонали, равны нулю, а каждый элемент, не принадлежащий главной диагонали, равен 2, 1 или 0 (числу очков, набранных в игре: 2 — выигрыш, 1 — ничья, 0 — проигрыш). Найти число команд, имеющих больше побед, чем поражений.
Таблица футбольного чемпионата задана квадратной матрицей порядка n, в которой все элементы, принадлежащей главной диагонали, равны нулю, а каждый элемент, не принадлежащий главной диагонали, равен 2, 1 или 0 (числу очков, набранных в игре: 2 — выигрыш, 1 — ничья, 0 — проигрыш). Определить номера команд, прошедших чемпионат без поражений.
Дана квадратная матрица порядка 10. Заменить на «1» все ее элементы, расположенные выше диагонали.
В данной матрице размерности n*m. Упорядочить:
строки по возрастанию их первых элементов.
элементы главной диагонали (по неубыванию).
столбцы по возрастанию их первых элементов.
строки по убыванию сумм элементов строк.
строки по возрастанию их первых элементов.
Задан двухмерный массив вещественных чисел. Найти максимальную сумму абсолютных значений элементов по столбцам и номер столбца с такой суммой.
В двухмерном массиве целых чисел поменять местами элементы, симметричные относительно главной диагонали.
В массиве записаны целые числа. Верно ли, что сумма элементов побочной диагонали массива оканчивается цифрой 0.
В поезде 18 вагонов, в каждом из которых 36 мест. Информация о проданных на поезд билетах хранится в двухмерном массиве, номера строк которого соответствуют номерам выгонов, а номера столбцов — номерам мест. Если билет на то или иное место продан, то соответствующий элемент массива имеет значение 1, в противном случае — 0. Составить программу, определяющую число свободных мест в любом из вагонов поезда.
Фирма имеет 10 магазинов. Информация о доходе каждого магазина за каждый месяц года хранится в двухмерном массиве (первого магазина — в первой строке, второго — во второй и т.д.). Составить программу для расчета среднемесячного дохода любого магазина.
Сформировать квадратную матрицу порядка n×n по заданному образцу (n — четное):
1)
2)
3)
Дана целочисленная квадратная матрица. Найти в каждой строке наибольший элемент и поменять его местами с элементом главной диагонали.
Определить, имеются ли в двухмерном массиве два одинаковых элемента.
Дан двухмерный массив. Составить программу, которая меняет местами две любые строки.
Найти координаты (индексы) элемента, наиболее близкого к среднему значению всех элементов двухмерного массива.
Двумерный массив nxn содержит нолики и единички. 1 = стенка, 0 = пустое пространство.
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
Создать генератор стенок. Стенка начинается в случайном месте двумерного массива, ей задаётся случайное направление (dx, dy), случайная длина.
Вывести получившийся лабиринт на экран
Выбрать случайным образом точки A, B на свободном пространстве (не в стенках)
Проверить, существует ли путь из точки A в точку B.
Построить магический квадрат (магический квадрат - это матрица у которой суммы элементов по строкам, столбцам и диагоналям равны).
Построить треугольник Паскаля .
Места, в которых нет чисел, заменить 0.
Сохранить элементы в квадратном массиве.
Вывести элементы массива в виде треугольника.
|
|
|||||||||||||||||||||||||||||||||
|
|
|
|
1 |
|
|
|
|
|
|||||||||||||||||||||||||
|
|
|
1 |
|
1 |
|
|
|
|
|||||||||||||||||||||||||
|
|
1 |
|
2 |
|
1 |
|
|
|
|||||||||||||||||||||||||
|
1 |
|
3 |
|
3 |
|
1 |
|
|
|||||||||||||||||||||||||
1 |
|
4 |
|
6 |
|
4 |
|
1 |
|
Написать программу для выполнения арифметических операций (сложение, вычитание, умножение, деление) двух чисел, количество цифр в каждом из которых может достигать 100.
Например, для умножения вида:
8969345897569875*570578237007969.
Строки
В C# нет возможности изменять значения переменной типа string. Поэтому самое простое решение этой задачи — «собрать» в другой переменной типа string нужные нам символы.
string S; // исходная строка
string S1; // новая строка
S = Console.ReadLine(); // чтение исходной строки
for (int i = 0; i < S.Length; i++)
{
if (S[i] != ‘*’) S1 += S[i];
// в новую строку мы не будем добавлять «*».
}
Console.WriteLine(S1);
Удалить в строке, введенной пользователем с клавиатуры:
повторяющиеся подряд слова, оставив единственное слово;
все лишние пробелы (не одинарные)4
слова, состоящие из одной буквы;
слова, начинающиеся на заданную букву;
слова, у которых первая и последняя буква одинаковые;
слова, заканчивающиеся на заданную пользователем букву;
слова, не содержащие удвоенных букв;
слова, содержащие удвоенные буквы;
слова, не содержащие заданную букву;
слова количество, букв в которых больше 6;
слова, состоящие из двух букв;
слова, содержащие одну и ту же букву;
слова, состоящие из трех букв;
слова, не содержащие одинаковых букв;
одинаковые слова, идущие подряд;
все слова с нечетными порядковыми номерами;
Заменить в строке, введенной пользователем с клавиатуры:
слова "он" на "она".
слова "она" на "он".
пробелы на двойное подчеркивание: __.
точки на троеточии.
последнюю букву a в слове на [a].
текст, расположенный в скобках, на *.
Найти, сколько раз в строке, введенной пользователем, встречается заданное слово.
В строке, введенной пользователем с клавиатуры найти и вывести на форму:
слова, начинающиеся на одну букву;
слова, заканчивающиеся одинаковыми буквами;
все группы анаграмм (слов, составленных из одних и тех же букв, например: в строке 123 3214 145 1234 123456 231 781 две группы анаграмм: 123, 231 и 3214, 1234);
слова, содержащие букву B, первая буква A, длина слова 5 букв.
слова, не содержащие удвоенных букв;
слова, содержащие удвоенные буквы;
слова, начинающиеся на заданную букву;
слова, содержащие заданную букву;
слова, количество букв в которых меньше 5;
слова, не содержащие заданную букву;
слова, у которых первая и последняя буква одинаковые;
слова, состоящие из одной буквы;
слова, одинаковой длины;
слова, заданной длины;
наибольшее количество цифр, идущих подряд;
наибольшее количество заданных символов, идущих подряд;
длину самого длинного слова;
длину самого короткого слова;
самое короткое слово;
самое длинное слово;
наибольшее количество пробелов, идущих подряд
символ, который встречается в строке наибольшее количество раз.
одинаковые слова в строке.
В строке, введенной пользователем с клавиатуры подсчитать:
количество слов;
количество цифр;
количество слогов в слове;
сколько раз заданный символ входит в строку;
количество знаков препинания;
количество слов, состоящих из одной буквы;
количество гласных букв;
количество согласных букв;
Проверить, является ли строка палиндромом (т.е. читается справа налево и с лева направо одинаково, например «шалаш»).
Посчитать количество слов палиндромов в данной строке.
Повернуть введенную строку (Например, исходная строка 1234 будет 4321).
Добавить после каждой буквы в данной строке символ *.
Переставить последнее слово в строке в начало.
Записать все числа в строке в квадратных скобках.
Записать каждую цифру строки в квадратных скобках.
Написать все цифры (цифры от 1до 10) в строке прописью.
Вывести все символы, используемые в строке.
Вывести текст, заключенный в скобках.
Вывести первое слово каждого предложения из данной строки.
Вывести строку текста, удалив из нее текст, расположенный в скобках.
Проверить правильность расстановки скобок в строке (для каждой открывающей есть закрывающая). У каждой открывающей скобки есть парная закрывающая, и ни одна закрывающая не предшествует открывающей. Если скобки расставлены неверно, то исправить.
В строке расположить слова в алфавитном порядке.
В строке расположить слова по длине (на первом месте - самое короткое слово).
В каждом слове строки переставить буквы в алфавитном порядке.
В первом слове строки переставить буквы в алфавитном порядке.
Написать код для шифрования текста и расшифровки: слова пишутся справа налево, порядок слов правильный (пить сок >> ьтип кос).
Даны две строки:
сравните их и выведите результат.
сложите их и выведите результат.
Преобразовать введенную строчку, заменив в ней все восклицательные знаки на тире.
По представленной на иллюстрации блок-схеме сформулировать условие задачи и написать программу на языке программирования C#.
Ввести строку с клавиатуры и распечатать все слова с определённым корнем (слова, содержащие определённую последовательность символов).
Ввести строку с клавиатуры и вывести частоту встреченных символов. Вывести наиболее популярный символ (если наиболее популярных символов несколько – вывести все символы).
Ввести строку с клавиатуры и задать слово для поиска. Распечатать все предложения (последовательность символов, разделённая точкой “.”) в которых встречается слово.
Дана строка, содержащая английский текст. Найти количество слов, начинающихся с буквы b.
Дана строка символов, среди которых есть двоеточие. Определить, сколько символов ему предшествует.
Дана строка. Найти в ней те слова, которые начинаются и оканчиваются одной и той же буквой.
В записке слова зашифрованы — каждое из них записано наоборот. Расшифровать сообщение.
Строка содержит произвольный русский текст. Проверить каких букв в нем больше: гласных или согласных.
Двухмерный массив n×m содержит некоторые буквы русского алфавита, расположенные в произвольном порядке. Написать программу, проверяющую, можно ли из этих букв составить данное слово S. Каждая буква массива используется не более одного раза.
В слове имеются только две одинаковые буквы. Найти их.
Даны два слова. Для каждой буквы первого слова определить, входит ли она во второе слово. Повторяющиеся буквы первого слова рассматривать только один раз. Например, если заданные слова «процессор» и «информация», то для букв первого из них ответом должно быть: «п: нет, р: да, о: да, ц: да, е: нет, с: нет».
Дано слово. Переставить его s-ю букву на место k-й (s > k). При этом k-ю, (k + 1)-ю, …, (s - 1)-ю буквы сдвинуть вправо на одну позицию.
Проверить, является ли «перевертышем» (палиндромом) следующая символьная строка после удаления из нее всех пробелов: а) «АРГЕНТИНА МАНИТ НЕГРА», б) «А РОЗА УПАЛА НА ЛАПУ АЗОРА». При удалении пробела оставшиеся символы строки сдвигать на одну позицию влево.