- •Поэлементная обработка (программа должна содержать 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() {
Максимальный элемент меньше X
Void main() {
int n = 12; // количество элементов
int a[12] = {0, 3, 7, 12, 18 , 42, 46, 75, 96, 99, 100500, 100501};
int x = 19;
int i = 0, k = 0;
int b = 0, c = n - 1;
while ( b != c && b != c - 1 ) {
i = ( b + c ) >> 1;
k = a[i];
if ( k > x ) {
c = i;
} else {
b = i;
}
}
if (b == c - 1) {
printf("Iskomoe chislo = %i", a[b]);
}
}
Количество элементов больше X
Void main() {
int n = 12; // количество элементов
int a[12] = {0, 3, 7, 12, 18 , 42, 46, 75, 96, 99, 100500, 100501};
int x = 19;
int i = 0, k = 0;
int b = 0, c = n - 1;
while ( b != c && b != c - 1 ) {
i = ( b + c ) >> 1;
k = a[i];
if ( k > x ) {
c = i;
} else {
b = i;
}
}
if (b == c - 1) {
printf("Iskomoe chislo = %i", n - c);
}
}
Количество элементов меньше X
Void main() {
int n = 12; // количество элементов
int a[12] = {0, 3, 7, 12, 18 , 42, 46, 75, 96, 99, 100500, 100501};
int x = 19;
int i = 0, k = 0;
int b = 0, c = n - 1;
while ( b != c && b != c - 1 ) {
i = ( b + c ) >> 1;
k = a[i];
if ( k > x ) {
c = i;
} else {
b = i;
}
}
if (b == c - 1) {
printf("Iskomoe chislo = %i", b + 1);
}
}
Число элементов в диапазоне от X до y
Void main() {
int n = 12; // количество элементов
int a[12] = {0, 3, 7, 12, 18 , 42, 46, 75, 96, 99, 100500, 100501};
int x = 19;
int y = 100;
int i = 0, k = 0;
int b = 0, c = n - 1, b1, c1;
while ( b != c && b != c - 1 ) {
i = ( b + c ) >> 1;
k = a[i];
if ( k > x ) {
c = i;
} else {
b = i;
}
}
b1 = b;
c1 = c;
b = 0;
c = n - 1;
while ( b != c && b != c - 1 ) {
i = ( b + c ) >> 1;
k = a[i];
if ( k > y ) {
c = i;
} else {
b = i;
}
}
if (b == c - 1) {
printf("Iskomoe chislo = %i", c - c1);
}
}