Программа одномерного масива -> указатели - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Добрый день, подскажите пожалуйста, как будет выглядеть данная программа с указателями? Спасибо
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
 
int main()
{
    setlocale(LC_ALL,".1251");
    int mass[10];
    int i, j, max, n;
    max=0;
    j=9;

    for(i=0;i<10;i++)
    {
        printf("\n ВВедите масив : [%d] ", i+1);
        scanf("%d", &mass[i]);
    }
 
    for(i=0;i<5;i++)
    {
        n=mass[i]+mass[j];
        printf("\n Сума (%d) елемента i (%d) = %d ", i+1,j+1,n);
        if(n>max)
        {
            max=n;
        }
        j--;
    }
 printf("\n");
    j=9;
        for(i=0; i<5; i++)
    {
        n=mass[i]+mass[j];
        if(max==n)
        {
            printf("\n Сумма елемента %d i елемента %d найбольшая = %d",i+1, j+1, n);
        }
        j--;
    }
    printf("\n");
    return 0;
}

Решение задачи: «Программа одномерного масива -> указатели»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
 
int main()
{
    setlocale(LC_ALL,".1251");
    int *mass,*p;
    int i, j, max, n;
    mass=(int*)malloc(10*sizeof(int));
    max=0;
    j=9;
    i=0;
    for(p=mass;p<mass+10;p++)
    {
        printf("\n ВВедите масив : [%d] ", i+1);
        scanf("%d", p);
        i++;
    }
    i=0; 
    for(p=mass;p<mass+5;p++)
    {
        n=(*p)+(*(mass+j));
        printf("\n Сума (%d) елемента i (%d) = %d ", i+1,j+1,n);
        if(n>max)
        {
            max=n;
        }
        j--;
        i++;
    }
    printf("\n");
    j=9;i=0;
    for(p=mass;p<mass+5;p++)
    {
        n=(*p)+(*(mass+j));
        if(max==n)
        {
            printf("\n Сумма елемента %d i елемента %d найбольшая = %d",i+1, j+1, n);
        }
        j--;i++;
    }
    printf("\n");
    free(mass);
    return 0;
}

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

В этом коде создается одномерный массив из 10 элементов, на которые с помощью функции scanf() вводятся числа. Затем, в цикле суммируются элементы массива, начиная с первого и до предпоследнего элемента, и проверяется, является ли полученная сумма максимальной. Если да, то выводится сообщение, содержащее индексы элементов, сумма которых является максимальной. Затем, выводится сообщение, содержащее индексы элементов, сумма которых является максимальной. В конце программы используется функция free() для освобождения памяти, выделенной под массив.

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


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

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

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