- •Поэлементная обработка (программа должна содержать 1 цикл). Дан массив a[n], найти в нем
- •Наиболее длинную последовательность подряд идущих символов
- •Void main() {
- •Наиболее длинную возрастающую последовательность
- •Void main() {
- •Void main() {
- •Максимальный элемент меньше X
- •Void main() {
- •Количество элементов больше X
- •Void main() {
- •Количество элементов меньше X
- •Void main() {
- •Число элементов в диапазоне от X до y
- •Void main() {
- •Перебор. Дана матрица a[n][n] найти в ней
- •Подматрицу 2*2 с наибольшей суммой элементов
- •Void main() {
- •Int X, y, z; // X - координата по х, у по у, z - это сумма подматрицы. Сюда пишем ответ.
- •Количество элементов больших, чем все соседние элементы
- •Void main() {
- •Int z; // для текущих расчетов.
- •Количество элементов меньших, чем все соседние элементы
- •Void main() {
- •Int z; // для текущих расчетов.
- •Void main() {
- •Void main() {
- •Void main() {
- •По убыванию
- •Void main() {
- •По возрастанию модулей
- •Void main() {
- •По убыванию модулей
- •Void main() {
- •По возрастанию количества единичных бит в двоичном представлении числа
- •Int bits(int X) {
- •Void main() {
- •Поиск (самым простым способом). Даны массивы a[n] и b[m]. Найти
- •Первое вхождение массива b[m] в a[n]
- •Void main() {
- •Количество вхождений массива b[m] в a[n]
- •Void main() {
- •Последнее вхождение массива b[m] в a[n]
- •Void main() {
Void main() {
// считаем, что номера строк отсчитываются от нуля!!!
int n = 4; // количество элементов
int arr[4][4] = {
{1, 200, 3, 4},
{5, 6, 1, 900},
{6, 3, 2, 5},
{3, 2, 8, 3}
};
int i = 0, j = 0, k = 0; // "счетчики" для циклов. k - искомое количество.
int z; // для текущих расчетов.
for (i=0; i<n; i++) {
for (j=0; j<n; j++) {
if (arr[i][j] == i) k++;
}
}
printf("Iskomoe kolichestvo = %i", k);
}
количество элементов, равных сумме номеру строки и столбца, в которых расположен элемент.
Void main() {
// считаем, что номера строк отсчитываются от нуля!!!
int n = 4; // количество элементов
int arr[4][4] = {
{1, 200, 3, 4},
{5, 6, 1, 900},
{6, 3, 2, 5},
{3, 2, 8, 3}
};
int i = 0, j = 0, k = 0; // "счетчики" для циклов. k - искомое количество.
int z; // для текущих расчетов.
for (i=0; i<n; i++) {
for (j=0; j<n; j++) {
if (arr[i][j] == i + j) k++;
}
}
printf("Iskomoe kolichestvo = %i", k);
}
Сортировка (можно пузырьком). Дан массив a[n], расположить в нем элементы
по возрастанию
Void main() {
int n = 9; // количество элементов
int a[9] = {7, 1, 5, 3, 4, 5, 1, 5, 3};
int i = 0, j = 0, k;
for ( i = 0; i < n; i++ ) {
for ( j = 0; j < n - i - 1; j++ ) {
if ( a[j] > a[j+1] ) {
k = a[j+1];
a[j+1] = a[j];
a[j] = k;
}
}
}
for ( i = 0; i < n; i++ ) {
printf("%i ", a[i]);
}
}
По убыванию
Void main() {
int n = 9; // количество элементов
int a[9] = {7, 1, 5, 3, 4, 5, 1, 5, 3};
int i = 0, j = 0, k;
for ( i = 0; i < n; i++ ) {
for ( j = 0; j < n - i - 1; j++ ) {
if ( a[j] < a[j+1] ) {
k = a[j+1];
a[j+1] = a[j];
a[j] = k;
}
}
}
for ( i = 0; i < n; i++ ) {
printf("%i ", a[i]);
}
}
По возрастанию модулей
Void main() {
int n = 9; // количество элементов
int a[9] = {-7, 1, 5, -3, 4, 5, -1, 5, 3};
int i = 0, j = 0, k;
for ( i = 0; i < n; i++ ) {
for ( j = 0; j < n - i - 1; j++ ) {
if ( abs(a[j]) > abs(a[j+1]) ) {
k = a[j+1];
a[j+1] = a[j];
a[j] = k;
}
}
}
for ( i = 0; i < n; i++ ) {
printf("%i ", a[i]);
}
}