Как расчитать удвоенную сумму положительных элементов массива? - C (СИ)
Формулировка задачи:
Где моя ошибка?( Объясните, пожалуйста.
Хотела попробовать так, однако программа все равно ругается(
#include <stdio.h> #include <malloc.h> #include <math.h> void main (void) { int n,i; printf ("input size mass n= "); scanf ("%d", &n); int **A=(int**)malloc(n*sizeof(int*)); for (i=0; i<n; i++) { A[i] = (int*) malloc (n*sizeof(int)); printf ("\nA [%d]= ", i); scanf ("\n%d", &A[i]); } for (i=0; i<n; i++) { if (A[i] > 0) { A[i]=2*A[i]; } printf ("\nNew mas %d", A[i]); } for (i = 0; i < n; i++) { free(A[i]); } free(A); getchar (); getchar (); }
#include <stdio.h> #include <malloc.h> #include <math.h> void main (void) { int n,i; printf ("input size mass n= "); scanf ("%d", &n); int **A=(int**)malloc(n*sizeof(int*)); for (i=0; i<n; i++) { A[i] = (int*) malloc (n*sizeof(int)); printf ("\nA [%d]= ", i); scanf ("\n%d", &A[i]); } for (i=0; i<n; i++) { if (A[i] > 0) { A[i]=2*A[i]; } printf ("\nNew mas %d", A[i]); } for (i = 0; i < n; i++) { free(A[i]); } free(A); getchar (); getchar (); }
for (i=0; i<n; i++) { if (A[i] > 0) { s=s + A[i]; s=s*2; } printf ("\nNew mas %d", A[i]);
Решение задачи: «Как расчитать удвоенную сумму положительных элементов массива?»
textual
Листинг программы
#include <stdio.h> #include <malloc.h> #include <math.h> int main (int atgc, char** argv) { int n,i; int s=0; printf ("input size mass n= "); scanf ("%d", &n); int **A=(int**)malloc(n*sizeof(int*)); for (i=0; i<n; i++) { A[i] = (int*) malloc (n*sizeof(int)); printf ("\nA [%d]= ", i); scanf ("\n%d", &A[i]); } for (i=0; i<n; i++) { if (A[i] > 0) { s = s + A[i]; s = s*2; } printf ("\nNew mas %d", A[i]); } for (i = 0; i < n; i++) { free(A[i]); } free(A); getchar (); getchar (); }
Объяснение кода листинга программы
В этом коде:
- Объявлены переменные:
- n (размер массива)
- i (счетчик для циклов)
- s (сумма элементов массива)
- Пользователю предлагается ввести размер массива.
- Массив динамически выделяется с помощью malloc.
- Пользователю предлагается ввести элементы массива.
- Производится проверка каждого элемента массива на положительность.
- Если элемент положительный, то он прибавляется к переменной s.
- Значение переменной s удваивается.
- Выводится новое значение переменной s.
- После завершения работы с массивом, он освобождается с помощью функции free.
- Ввод и вывод данных осуществляется с помощью функции printf и scanf соответственно.
- Код ожидает ввода двух символов для завершения работы программы.
- Код завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д