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