Элементы массива увеличить на значение индекса - 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;   
}

Объяснение кода листинга программы

  1. Объявлены переменные:
    • i, n, a = -44, b = 19;
    • int *mas, sum = 0;
    • mas выделен в динамическую память с помощью calloc(n, sizeof(int));
    • srand(time(NULL));
  2. С помощью цикла for заполняется массив mas случайными числами в диапазоне [a;b] плюс индекс.
  3. Выполняется операция приведения типа (int) для значения sum, которое затем сохраняется в переменную sum.
  4. С помощью цикла for выводятся значения массива mas.
  5. Вычисляется сумма элементов массива, которая сохраняется в переменную sum.
  6. Проверяется условие (sum % 10 == 0), и выводится соответствующее сообщение.
  7. Выполняется операция освобождения памяти для массива mas с помощью функции free(mas).
  8. Возвращается 0, что означает успешное окончание работы программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.2 из 5
Похожие ответы