Количество и сумма положительных чисел массива - C (СИ)
Формулировка задачи:
решить то, что на картинке
.
На примере вот такого:Поменять местами строки квадратной матрицы A (N=10), содержащие максимальный и минимальный элементы матрицы.
Будем хранить элементы матрицы A в двумерном массиве a[10][10], а текущие значения максимального и минимального элементов и номера их строк в переменных max, min, m и n соответственно.
Предположим, что максимальный и минимальный элементы массива есть его первый элемент. Далее во вложенных циклах будем сравнивать эти значения с остальными элементами и, когда очередной элемент массива окажется больше или меньше значения max и min соответственно, исправим их на новые значения. Одновременно в переменных m и n будем сохранять номер строки этого элемента. И, наконец, если m не равно n, то переставим местами соответствующие строки матрицы.
# include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int i, j, m = 0, n = 0; float a[4][4], max, min, u; /*Ввод элементов матрицы*/ for(i = 0; i < 10; i++ ) { printf(”\n”); for(j = 0; j < 10; j++) scanf(”%f ”, &a[i][j]); } /*Поиск максимального и минимального элементов матрицы */ /*и номеров их строк */ max = min = a[0][0]; for(i = 0; i < 10; i++) for(j = 0; j < 10; j++) { if (a[i][j] > max) { max = a[i][j]; m = i; } else if (a[i][j] < min) { min = a[i][j]; n = i; } } /*Перестановка местами строк матрицы*/ if (m != n) for (i = 0; i < 10; i++) { u = a[m][i]; a[m][i] = a[n][i]; a[n][i] = u; } /*Вывод элементов новой матрицы*/ for (i = 0; i < 10; i++ ) { printf (”\n”); for (j = 0; j < 10; j++ ) printf(" %6.2f ", a[i][j]); } printf ("\nmax=%f\tmin=%f",max,min); system("PAUSE"); return 0; }
# include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int i, j, n = 0; float x[5][5], pol; for(i = 0; i < 5; i++ ) { printf("\n"); for(j = 0; j < 5; j++) scanf("%f ", &x[i][j]); } pol= x[0][0]; for(i = 0; i < 5; i++) for(j = 0; j < 5; j++) { if (x[i][j]>=0 && x[i][j]<=1) { pol = x[i][j]; n = i; } } printf ("\npol=%.f, \tn=%.f\n",pol,n); system("PAUSE"); return 0; }
И оно не работает...
Помогите пожалуйста
Решение задачи: «Количество и сумма положительных чисел массива»
textual
Листинг программы
for (int i=0; i < 5; ++i) { for (int j=0; j < 5; ++j) { if (x[i][j] > 0) { sum += x[i][j]; ++count; } } } printf("\nsum=%f, \tcount=%d\n", sum, count);
Объяснение кода листинга программы
- В этом коде используется два вложенных цикла for для прохода по элементам массива x размером 5х5.
- Переменная x[i][j] проверяется на положительность с помощью оператора больше (>).
- Если элемент x[i][j] положительный, то к сумме (sum) прибавляется его значение, а переменная count увеличивается на единицу.
- После завершения циклов, выводится значение суммы и количества положительных элементов массива x с помощью функции printf.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д