Элементы массива увеличить на значение индекса - C (СИ)
Формулировка задачи:
Дан массив размерности n. Элементы массива заполнить случайными значениями от -44 до 19.
Все его элементы увеличить на значение индекса.
Выяснить, верно ли, что сумма элементов массива есть число, кратное 10.
Помогите пожалуйста написать код на СИ буду благодарен
Решение задачи: «Элементы массива увеличить на значение индекса»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <time.h> int main() { int i, n, a = -44, b = 19; int *mas, sum = 0; printf("n = "); scanf("%d", &n); if(n <= 0) return 1; mas = (int*) calloc(n, sizeof(int));// выделяем память srand(time(NULL)); for(i = 0; i < n; i++) { mas[i] = rand()%(b - a + 1) + a + i;// случайное число в диапозоне [a;b] плюс индекс sum += mas[i]; } printf("Mas : "); for(i = 0; i < n; i++) printf("%d ", mas[i]); printf("\nSum = %d\n", sum); if(!(sum%10)) printf("True: sum%%10 = 0\n"); else printf("False: sum%%10 = %d\n", sum%10); free(mas);// освобождаем память return 0; }
Объяснение кода листинга программы
- Объявлены переменные:
- i, n, a = -44, b = 19;
- int *mas, sum = 0;
- mas выделен в динамическую память с помощью calloc(n, sizeof(int));
- srand(time(NULL));
- С помощью цикла for заполняется массив mas случайными числами в диапазоне [a;b] плюс индекс.
- Выполняется операция приведения типа (int) для значения sum, которое затем сохраняется в переменную sum.
- С помощью цикла for выводятся значения массива mas.
- Вычисляется сумма элементов массива, которая сохраняется в переменную sum.
- Проверяется условие (sum % 10 == 0), и выводится соответствующее сообщение.
- Выполняется операция освобождения памяти для массива mas с помощью функции free(mas).
- Возвращается 0, что означает успешное окончание работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д