
- •Переменные
- •Вычисляет значение функции .
- •Стандартный ввод/вывод
- •Основные понятия темы:
- •Задачи по теме:
- •Вычисления объема куба.
- •Вычисления объема цилиндра.
- •Условный оператор
- •Основные понятия темы:
- •Задачи по теме:
- •Основные понятия темы:
- •Задачи по теме:
- •Массивы
- •Основные понятия темы:
- •Задачи по теме:
- •Функции
- •Основные понятия темы:
- •Задачи по теме:
- •Перегрузка функций
- •Основные понятия темы:
- •Задачи по теме:
Массивы
Основные понятия темы:
Массив. Одномерный массив. Матрица. Многомерный массив. Алгоритмы на массивах. Сортировка массива. Поиск в массиве. Преобразование массивов.
Задачи по теме:
Для самостоятельной работы:
Найти в одномерном массиве из 10 целых чисел элемент с наименьшим/наибольшим значением.
Найти в одномерном массиве из 10 целых чисел сумму положительных/отрицательных элементов.
Найти в одномерном массиве количество положительных/отрицательных/нулевых элементов.
Сжать одномерный массив, исключив из него все отрицательные/положительные элементы.
Отобразить элементы массива симметрично относительно середины.
Найти среднее значение элементов одномерного массива.
Одномерные массивы:
Условие.
Дан одномерный массив из n целых элементов, значения элементов массива на отрезке [a,b]. (n<20, -100<a,b<100, размерность, концы отрезка и значения элементов заданы случайным образом)
Вывести массив на экран (в одну строку, равномерно на экране, чтобы вся строка была заполнена)
Выполнить над элементами массива преобразования (см. соответствующий таблице пункт ниже)
Вывести на экран полученный массив (формат вывода, как в п.1)
Задания к пункту 2.
Найти максимальный элемент массива и, если находятся еще элементы с таким значением – их количество. Заменить элементы, с максимальным значением на значение их количества.
Например, 2 7 3 7 1– 2 2 3 2 1
Найти среднее арифметическое значений всей элементов массива и заменить элементы, значение которых больше, чем среднее арифметическое на найденное значение.
Например, 2 7 3 7 1 – 2 4 3 4 1
Найти количество повторяющихся элементов массива и заменить первый элемент на полученное значение.
Например, 2 7 3 7 1 – 1 7 3 7 1
Поменять местами элементы, номера которых кратны 3, начиная с первого.
Например, 2 7 3 7 1 2 3 4 8 5 – 2 7 3 3 1 2 5 4 8 7
Отобразить элементы массива относительно середины.
Например, 2 7 3 7 1 2 – 2 1 7 3 7 2
Отобразить элементы массива, относительно минимального (в случае, если элементов со значением минимального несколько, в качестве оси выбираем с наименьшим номером).
Например, 2 7 3 7 1 2 – 2 7 3 2 1 7
Отобразить элементы массива, относительно максимального(в случае, если элементов со значением максимального несколько, в качестве оси выбираем с наименьшим номером).
Например, 1 2 7 3 7 1 4 – 7 3 7 2 1 1 4
Найти сумму отрицательных элементов и их количество, и все отрицательные элементы заменить на их среднее арифметическое.
Например, 1 2 -4 5 0 -1 - 1 2 -2 5 0 -2
Найти сумму положительных элементов и их количество, и все положительные элементы заменить на их среднее арифметическое.
Например, 1 2 -4 5 0 -1 - 2 2 -4 2 0 -1
Найти количество нулевых элементов и заменить их на найденное значение.
Например, 1 2 0 4 5 7 0 – 1 2 2 4 5 7 2
Заменить все элементы кратные 3 на частное от деления значения элемента на 3.
Например, 1 8 3 4 5 6 – 1 8 1 4 5 2
Заменить все элементы кратные 2 или 3 на частное от деления значения элемента на 2 или 3, соответственно.(если делится на 2 и на 3 заменяется на кратное 6)
Например, 1 8 3 4 5 6 – 1 4 1 2 5 1
Поменять местами элементы в парах 1 и 2, 3 и 4, 5 и 6, … и т.д.
Например, 1 8 3 4 0 6 – 8 1 4 3 6 0
Поменять местами элементы в парах 1 и 3, 2 и 4, 5 и 7, … и т.д.
Например, 1 8 3 4 0 6 – 3 4 1 8 0 6
Заменить все возможные элементы, находящиеся справа от максимального элемента, на все возможные элементы, находящиеся слева от минимального элемента, в случае если минимальный элемент стоит левее максимального, и наоборот, в противном случае.
Например, 1 8 3 4 0 6 – 6 8 3 4 0 1
Выполнить сравнения и, если предыдущий больше следующего, замены по следующей схеме:
1 и 2, 3 и 4, 5 и 6, …
1 и 3, 2 и 4, 5 и 7, …
1 и 4, 2 и 5, 3 и 6, 7 и 10, …
1 и 5, 2 и 6, 3 и 7, 4 и 8, 9 и 13, …
и т.д.
Сортировка одномерных массивов:
Дан одномерный массив из 20 целых чисел (задан случайным образом).
Отсортировать массив:
Методом «Пузырька» (см. конспект)
Методом «Выбора минимального» (см. конспект)
Методом «Вставки» (см. конспект)
Бинарный поиск:
В отсортированном массиве осуществить бинарный поиск.
Матрицы:
Задание 1.
Сформировать двумерный массив целых чисел размерности nxm, где n,m<10 – вводятся с клавиатуры.
Вывести на экран массив.
Найти сумму элементов каждой строки матрицы.
Найти минимальный элемент каждого столбца матрицы.
Обнулить строку с максимальным элементом.
Решение.
//подключить необходимые библиотеки
…
void main(){
int A[10][10];
//ввод значения n,m и проверка
int n,m;
do {
printf(“Input n,m”);
scanf(“%d %d\n”,&n,&m);
while((n<1) || (n>9) || (m<1) || (m>9));
//ввод элементов матрицы
int I,j;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{
printf(“A[%d,%d]=”,I,j);
scanf(“%d”,A[i][j]);
}
//вывод матрицы + сумма по строкам
int s=0;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{printf(“%6d”,A[i][j]);
s+=A[i][j];
}
printf(“%d /n”,s);
s=0;
}
…
//остальное самостоятельно
}
Задание 2.
Дана прямоугольная матрица nxm целых чисел (n,m <10 – ввод с клавиатуры, значения элементов массива в диапазоне [-99,99] – вводятся случайным образом).
вывести на экран исходную матрицу;
выполнить преобразования, согласно варианту (см.таблицу и задание ниже);
вывести на экран преобразованную матрицу.
Варианты к пункту 2:
Поменять местами столбец с минимальной суммой со столбцом с максимальной суммой.
Поменять местами строку с максимальной суммой со строкой с минимальной суммой.
Поменять местами в квадратной матрице главную диагональ со строкой, содержащей максимальный элемент.
Поменять местами в квадратной матрице главную диагональ со столбцом, содержащим минимальный элемент.
Поменять местами в квадратной матрице строку со столбцом, содержащие максимальный элемент.
Поменять местами строку и столбец, содержащие минимальный элемент, со строкой и столбцом соответственно, содержащими максимальный элемент.
Отсортировать построчно матрицу по возрастанию.
Отсортировать каждый столбец матрицы по убыванию.
Отсортировать столбцы матрицы по возрастанию их первых элементов.
Отсортировать строки матрицы по убыванию их последних элементов.
Отсортировать по возрастанию главную диагональ квадратной матрицы.
Отобразить элементы квадратной относительно главной диагонали.
Отобразить элементы квадратной матрицы, расположенные между диагоналями, в верхней части матрицы на нижнюю часть (элементы [1,1] – [n,1], [1,2] – [n,2],…, [2,2] – [n-1, 2],… )
В начало
Указатели
Основные понятия темы:
Указатель. Операции над указателями. Указатель на char. Указатель на указатель.
Задачи по теме:
Организовать работу с одномерным массивом посредством указателей, найти максимальный и минимальный элемент массива.
Организовать работу с двумерным массивом, как с одномерным массивом указателей на одномерные массивы.
В начало
Строки
Основные понятия темы:
Си-строка. Работа со строками. Стандартная библиотека string.
Задачи по теме:
Определить сколько раз первая строка встречается во второй (строки задаются с клавиатуры).
Определить частоту встречаемости символов в строке.
Определить является ли вторая строка подстрокой первой.
Определить сколько одинаковых символов находится в двух строках.
Удалить из строки все повторяющиеся идущие подряд символы.
Вывести на экран строку, состоящую из пяти первых символов трех строк.
Построить аббревиатуры к введенным словам в строке, если учесть, что слова из одной буквы, включаются в аббревиатуру в первоначальном виде.
Определить значение логического выражения введенного в виде строки без скобок.
Определите значение арифметического выражения, в котором могут быть числа, переменные(не более одного символа) и скобки, определяющие приоритет операций.
Вставьте в середину строки другую пару символов(первый и последний).
Удалите из строки все знаки препинания.
Вставьте в строке после каждой буквы А, букву а.
Определите есть ли в строке гласные буквы.
Исключите из строки все заглавные символы.
Написать программу, которая запрашивает фамилию, имя и отчество пользователя. С помощью пользовательской функции создать строку с фамилией и инициалами. (например, Петров А.А.)
С помощью функции преобразовать введенный текст, отобразив его симметрично середины (например, Кто там? - ?мат отК)
С помощью функции зашифровать введенный текст, сложив каждую букву с последующей. Написать функцию расшифровки.
Написать программу для поиска минимального слова в тексте.
Написать программу, которая заменяет букву после точки на заглавную (если необходимо).
Написать программу, которая считает количество слов в тексте, если слова разделяются знаками препинания или пробелом.
Написать программу, которая выдает количество ошибок в тексте. Ошибкой считается отсутствие пробела после знака препинания.
Написать программу, которая выдает количество ошибок в тексте. Ошибкой считается дублирование знаков препинания и пробела.
Написать программу, которая удаляет начальные пробелы из введенной с клавиатуры строки.
Написать программу, которая проверяет, является ли введенная с клавиатуры строка целым числом.
Написать программу, которая проверяет, является ли введенная с клавиатуры строка двоичным числом.
Написать программу, которая проверяет, является ли введенная с клавиатуры строка дробным числом.
Написать программу, которая переводит введенное 10-е число в любую систему счисления.
Написать программу, которая вычисляет значение выражения, состоящего из чисел и знаков простейших арифметических действий (+,-).
В начало