Why doesn't work it? Where is the mistake? I don't know - C (СИ)
Формулировка задачи:
// 1. Вывести сумму элементов масcива через функцию void input (int *x, int n) { int i; for (i=0; i<n; i++) { *(x+i)=rand ()%10; // *(x+i)= } } int summ (int *x, int n) { int i, sum=0; for (i=0; i<n; i++) { sum=sum+x[i]; } //printf ("\nThe sum elements of array is\n%d", sum); return (sum); } void output (int*x, int n) { int i; for (i=0; i<n; i++) { printf ("%3d", *(x+i)); // *(x+i)= } } int main () { int *a=NULL; int n, i, sum=0; printf ("Enter amount the elements of array\n"); scanf ("%d", &n); a=(int*)malloc(n*sizeof(int)); // Динамическое выделение памяти. input (a, n); output (a,n); summ (a,n); printf ("\nThe sum elements of array is\t%d", sum); free (a); // освобождение выделенной памяти. return(0); }
Решение задачи: «Why doesn't work it? Where is the mistake? I don't know»
textual
Листинг программы
void input(int *x, int n) { int i; for (i = 0; i<n; i++) { *(x + i) = rand() % 10; // *(x+i)= } } int summ(int *x, int n) { int i, sum = 0; for (i = 0; i<n; i++) { sum = sum + x[i]; } //printf ("\nThe sum elements of array is\n%d", sum); return (sum); } void output(int*x, int n) { int i; for (i = 0; i<n; i++) { printf("%3d", *(x + i)); // *(x+i)= } } int main() { int *a = NULL; int n, sum = 0; printf("Enter amount the elements of array\n"); scanf_s("%d", &n); a = (int*)malloc(n * sizeof(int)); // Динамическое выделение памяти. input(a, n); output(a, n); sum = summ(a, n); printf("\nThe sum elements of array is\t%d", sum); free(a); // освобождение выделенной памяти. return(0); }
Объяснение кода листинга программы
- В функции
input
происходит инициализация массиваx
случайными числами от 0 до 9. - В функции
summ
вычисляется сумма всех элементов массиваx
. - В функции
output
происходит вывод всех элементов массиваx
через пробел. - В функции
main
пользователю предлагается ввести количество элементов массива. - Выделяется динамическая память под массив
a
заданного размера. - Функция
input
инициализирует массивa
случайными числами. - Функция
output
выводит массивa
на экран. - Функция
summ
вычисляет сумму всех элементов массиваa
. - Выводится сообщение о сумме элементов массива.
- Выделенная память освобождается функцией
free
. - Возвращается 0, заканчивая работу программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д