Вычислить суммы положительных элементов массивов - C (СИ) (75574)
Формулировка задачи:
Вычислить суммы положительных элементов массивов Х(60), Y(60), Z(70). Вычисление суммы оформить в виде функции.
Пожалуйста, помогите мне доделать эту программу, или переделать.
//Главный файл
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
#include "C:\Documents and Settings\Admin\Рабочий стол\onee.h"
#define n 10
int main (void)
{int x[n];
int y[n];
int z[n];
int i, sum=0;
for(i=0;i<n;i++)
{x[i]=rand()%100 - 49;
y[i]=rand()%100 - 51;
z[i]=rand()%100 - 50;}
massiv();
_getch();
return 0;
}//Заголовочный файл с функцией
extern int sum;
void massiv(void)
{ int i;
int x[n],y[n],z[n];
for(i=0;i<10;i++)
if(x[i]>0)
sum+=x[i];
for(i=0;i<10;i++)
if(y[i]>0)
sum+=y[i];
for(i=0;i<10;i++)
if(z[i]>0)
sum+=z[i];
printf("%d", sum);
}Решение задачи: «Вычислить суммы положительных элементов массивов»
textual
Листинг программы
void generator(int vec[], const int size) {
for(int i=0; i<size; i++) {
vec[i] = 5 - rand()%10;
printf("%3d", vec[i]);
}
}
Объяснение кода листинга программы
В данном коде реализована функция generator, которая принимает два аргумента:
- int vec[] - массив целых чисел, в котором будут храниться результаты
- const int size - размер массива vec Внутри функции происходит следующий процесс:
- Инициализируется цикл for, который будет выполняться от 0 до size-1 (то есть для каждого элемента массива vec)
- Внутри цикла выполняется операция vec[i] = 5 - rand()%10;, которая генерирует случайное число от 0 до 9 и вычитает его из 5. Результат записывается в элемент массива vec с индексом i.
- После выполнения операции записи, с помощью функции printf происходит вывод значения элемента массива vec на экран. Формат вывода %3d означает, что выводимое число должно быть дополнено слева тремя пробелами (для выравнивания по левому краю).
- После завершения цикла for, функция generator завершается и управление передается вызывающей функции. Пример вызова функции generator: int main() { int arr[10]; generator(arr, 10); return 0; }