Количество и сумма положительных чисел массива - 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);

Объяснение кода листинга программы

  1. В этом коде используется два вложенных цикла for для прохода по элементам массива x размером 5х5.
  2. Переменная x[i][j] проверяется на положительность с помощью оператора больше (>).
  3. Если элемент x[i][j] положительный, то к сумме (sum) прибавляется его значение, а переменная count увеличивается на единицу.
  4. После завершения циклов, выводится значение суммы и количества положительных элементов массива x с помощью функции printf.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4 из 5
Похожие ответы