Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Задачи для решения на тему «двумерные массивы»




 

Вариант 1. Дана целочисленная прямоугольная матрица. Определить:

1 количество столбцов, не содержащих ни одного положительного элемента;

2 сумму столбцов, содержащих хотя бы один нулевой элемент.

Вариант 2. Дана целочисленная прямоугольная матрица.

Определить количество столбцов, не содержащих ни одного нулевого элемента.

Переставляя строки заданной матрицы, расположить их в соответствии с ростом суммы ее положительных четных элементов.

Вариант 3. Дана целочисленная прямоугольная матрица. Определить:

1 количество столбцов, содержащих хотя бы один нулевой элемент;

2 номер строки, в которой находится самая длинная серия одинаковых элементов.

Вариант 4. Дана целочисленная квадратная матрица. Определить:

1 произведение элементов в тех строках, которые не содержат отрицательных элементов;

2 максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы.

Вариант 5. Дана целочисленная квадратная матрица. Определить:

1 сумму элементов в тех столбцах, которые не содержат отрицательных элементов;

2 минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы.

Вариант 6. Дана целочисленная прямоугольная матрица. Определить:

1 сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент;

2 номера строк и столбцов всех седловых точек матрицы.

Примечание. Матрица А имеет седловую точку Аs, если Аij является минимальным элементом в i -й строке и максимальным в j -м столбце.

Вариант 7. Дана целочисленная прямоугольная матрица размером 8 на 8

1 найти такие k, что k -я строка матрицы совпадает с k -м столбцом;

2 найти сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент.

Вариант 8. Характеристикой столбца целочисленной матрицы назовем сумму модулей его отрицательных нечетных элементов. Переставляя столбцы заданной матрицы, расположить их в соответствии с ростом характеристик.

Найти сумму элементов в тех столбцах, которые содержат хотя бы один отрицательный элемент.

Вариант 9. Соседями элемента Аij в матрице назовем элементы Аkl с
i-1<=k<=i+1, j-1<=l<=j+1 при (k,l) не равно (i,j). Операция сглаживания матрицы дает новую матрицу того же размера, каждый элемент которой получается как среднее арифметическое имеющихся соседей соответствующего элемента исходной матрицы. Построить результат сглаживания заданной вещественной матрицы размером 10 на 10. В сглаженной матрице найти сумму модулей элементов, расположенных ниже главной диагонали.

Вариант 10. Элемент матрицы называется локальным минимумом, если он строго меньше всех имеющихся у него соседей. Подсчитать количество локальных минимумов заданной матрицы размером 10 на 10.

Найти сумму модулей элементов, расположенных выше главной диагонали.

Вариант 11. Коэффициенты системы линейных уравнений заданы в виде прямоугольной матрицы. С помощью допустимых преобразований привести систему к треугольному виду.

Найти количество строк, среднее арифметическое элементов которых меньше заданной величины.

Вариант 12. Уплотнить заданную матрицу, удаляя из нее строки и столбцы, заполненные нулями.

Найти номер первой из строк, содержащих хотя бы один положительный элемент.

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

Вариант 14. Осуществить циклический сдвиг элементов квадратной матрицы размерности М × N вправо на k элементов таким образом: элементы 1 -й строки сдвигаются в последний столбец сверху вниз, из него = в последнюю строку справа налево, из нее - в первый столбец снизу вверх, из него - в первую строку; для остальных элементов - аналогично.

Вариант 15. Дана целочисленная прямоугольная матрица.

Определить номер первого из столбцов, содержащих хотя бы один нулевой элемент.

Переставляя строки заданной матрицы, расположить их в соответствии с убыванием суммы ее отрицательных четных элементов.

Вариант 16. Дана целочисленная прямоугольная матрица.

Упорядочить строки целочисленной прямоугольной матрицы по возрастанию количества одинаковых элементов в каждой строке.

Найти номер первого из столбцов, не содержащих ни одного отрицательного элемента.

Вариант 17. Путем перестановки элементов квадратной вещественной матрицы добиться того, чтобы ее максимальный элемент находился в левом верхнем углу, следующий по величине - в позиции (2,2), следующий по величине - в позиции (3,3) и т. д., заполнив таким образом всю главную диагональ.

Найти номер первой из строк, не содержащих ни одного положительного элемента.

Вариант 18. Дана целочисленная прямоугольная матрица. Определить:

1 количество строк, содержащих хотя бы один нулевой элемент;

2 номер столбца, в котором находится самая длинная серия одинаковых элементов.

Вариант 19. Дана целочисленная квадратная матрица. Определить:

1 сумму элементов в тех строках, которые не содержат отрицательных элементов;

2 минимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы.

Вариант 20. Дана целочисленная прямоугольная матрица. Определить:

1 количество отрицательных элементов в тех строках, которые содержат хотя бы один нулевой элемент;

2 номера строк и столбцов всех седловых точек матрицы.

Примечание. Матрица А имеет седловую точку Аs, если Аij является минимальным элементом в i -й строке и максимальным в j -м столбце.

 

7.4 Строки

 

Строка представляет собой массив символов, заканчивающийся нуль-символом. Нуль-символ - это символ с кодом, равным 0, что записывается в виде управляющей последовательности '\0'. По положению нуль-символа определяется фактическая длина строки. Строку можно инициализировать строковым литералом:

char str[10] = "Vasia";

// выделено 10 элементов с номерами от 0 до 9

// первые элементы - 'V', 'a', 's', 'i', 'а', '\0'

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

char str[] = "Vasia"; // выделено и заполнено 6 байт

Оператор

char *str = "Vasia"

создает не строковую переменную, а указатель на строковую константу, изменить которую невозможно (к примеру, оператор str[1]='o' не допускается). Знак равенства перед строковым литералом означает инициализацию, а не присваивание. Операция присваивания одной строки другой не определена (поскольку строка является массивом) и может выполняться с помощью цикла или функций стандартной библиотеки.

Пример. Программа запрашивает пароль не более трех раз.

#include <stdio.h>

#include <string.h>

int main(){

char s[80], passw[] = "kuku"; // passw - эталонный пароль.

// Можно описать как *passw = "kuku";

int i, k = 0;

for (i = 0;!k && i<3; i++){

printf("\nвведите пароль:\n");

gets(s); // функция ввода строки

if (strstr(s,passw)) k = 1; // функция сравнения строк

}

if (k) printf("\nпароль принят");

else printf("\nпароль не принят");

return 0;

}

Распространенные ошибки при работе со строками - отсутствие нуль-символа и выход указателя при просмотре строки за ее пределы.

При работе со строками удобно пользоваться функциями стандартной библиотеки C или определенным в С++ классом string, который обеспечивает индексацию, присваивание, сравнение, добавление, объединение строк и поиск подстрок, а также преобразование из С-строк, то есть массивов типа char, в string, и наоборот.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...