Количество и сумма положительных чисел массива - 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д