Найти минимальное значение во всей матрице и по строкам матрицы
#include <limits.h>
#include <locale.h>
#define R 3
#define C 4
int main() {
setlocale(LC_ALL, "RUS");
int m[R][C] = {
{5, 2, 9, 4},
{1, 7, 6, 3},
{8, 0, 10, 12}
};
int min = INT_MAX;
printf("Минимальное значение в матрице по строкам:\n");
for (int i = 0; i < R; i++) {
int rmin = INT_MAX;
for (int j = 0; j < C; j++) {
if (m[i][j] < rmin) rmin = m[i][j];
if (m[i][j] < min) min = m[i][j];
}
printf("Строка %d: %d\n", i, rmin);
}
printf("Минимальное значение во всей матрицы: %d\n", min);
return 0;
}
Найти ближайшее к среднему геометрическому, среднему арифметическому в матрице (дз)
Найти минимальное и максимальное число и их номера (массив)
#include <stdio.h>
#include <locale.h>
Int main() {
setlocale(LC_ALL, "Rus");
int a[] = { 4, 7, 2, 9, 1, 5, 8 };
int n = sizeof(a) / sizeof(a[0]);
int min = a[0], max = a[0];
int min_i = 0, max_i = 0;
for (int i = 1; i < n; i++) {
if (a[i] < min) {
min = a[i];
min_i = i;
}
if (a[i] > max) {
max = a[i];
max_i = i;
}
}
printf("Минимум: %d (индекс %d)\n", min, min_i);
printf("Максимум: %d (индекс %d)\n", max, max_i);
return 0;
}
Найти количество четных и нечетных чисел
Найти количество чисел, совпадающим с минимальным и максимальным(массив)
#include <stdio.h>
#include <locale.h>
Int main() {
setlocale(LC_ALL, "Rus");
int a[] = { 5, 3, 9, 3, 9, 3, 7 };
int n = sizeof(a) / sizeof(a[0]);
int min = a[0], max = a[0], cmin = 0, cmax = 0;
for (int i = 1; i < n; i++) {
if (a[i] < min) min = a[i];
if (a[i] > max) max = a[i];
}
for (int i = 0; i < n; i++) {
if (a[i] == min) cmin++;
if (a[i] == max) cmax++;
}
printf("Минимум: %d, количество: %d\n", min, cmin);
printf("Максимум: %d, количество: %d\n", max, cmax);
printf("Общее количество совпадений с минимумом и максимумом: %d\n",
(min == max) ? cmin : (cmin + cmax));
return 0;
}
Заданы два массива - разбить каждый на два других, в один положительные элементы, в другой отрицательные ( в каждом массиве свой счетчик)
#include <stdio.h>
#include <locale.h>
#define N 6 // Размер исходных массивов
Int main() {
setlocale(LC_ALL, "Rus");
int a1[N] = { 1, -2, 3, -4, 5, -6 };
int a2[N] = { -1, 2, -3, 4, -5, 6 };
int pos1[N], neg1[N], p1 = 0, n1 = 0;
int pos2[N], neg2[N], p2 = 0, n2 = 0;
for (int i = 0; i < N; i++) {
if (a1[i] > 0) pos1[p1++] = a1[i];
else if (a1[i] < 0) neg1[n1++] = a1[i];
if (a2[i] > 0) pos2[p2++] = a2[i];
else if (a2[i] < 0) neg2[n2++] = a2[i];
}
// Вывод результатов
printf("a1 положительные: ");
for (int i = 0; i < p1; i++) printf("%d ", pos1[i]);
printf("\na1 отрицательные: ");
for (int i = 0; i < n1; i++) printf("%d ", neg1[i]);
printf("\n\na2 положительные: ");
for (int i = 0; i < p2; i++) printf("%d ", pos2[i]);
printf("\na2 отрицательные: ");
for (int i = 0; i < n2; i++) printf("%d ", neg2[i]);
return 0;
}
#include <stdio.h>
#define N 5
// Сортировка по возрастанию
void sort_asc(int a[], int n) {
for (int i = 0; i < n - 1; i++)
for (int j = 0; j < n - i - 1; j++)
if (a[j] > a[j + 1]) {
int t = a[j]; a[j] = a[j + 1]; a[j + 1] = t;
}
}
// Сортировка по убыванию
void sort_desc(int a[], int n) {
for (int i = 0; i < n - 1; i++)
for (int j = 0; j < n - i - 1; j++)
if (a[j] < a[j + 1]) {
int t = a[j]; a[j] = a[j + 1]; a[j + 1] = t;
}
}
// Печать массива
void print_array(const char* label, int a[], int n) {
printf("%s: ", label);
printf("\n");
}
