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

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

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

Добрый день, подскажите пожалуйста, как будет выглядеть данная программа с указателями? Спасибо
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <locale.h>
  4. int main()
  5. {
  6. setlocale(LC_ALL,".1251");
  7. int mass[10];
  8. int i, j, max, n;
  9. max=0;
  10. j=9;
  11.  
  12. for(i=0;i<10;i++)
  13. {
  14. printf("\n ВВедите масив : [%d] ", i+1);
  15. scanf("%d", &mass[i]);
  16. }
  17. for(i=0;i<5;i++)
  18. {
  19. n=mass[i]+mass[j];
  20. printf("\n Сума (%d) елемента i (%d) = %d ", i+1,j+1,n);
  21. if(n>max)
  22. {
  23. max=n;
  24. }
  25. j--;
  26. }
  27. printf("\n");
  28. j=9;
  29. for(i=0; i<5; i++)
  30. {
  31. n=mass[i]+mass[j];
  32. if(max==n)
  33. {
  34. printf("\n Сумма елемента %d i елемента %d найбольшая = %d",i+1, j+1, n);
  35. }
  36. j--;
  37. }
  38. printf("\n");
  39. return 0;
  40. }

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

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <locale.h>
  4.  
  5. int main()
  6. {
  7.     setlocale(LC_ALL,".1251");
  8.     int *mass,*p;
  9.     int i, j, max, n;
  10.     mass=(int*)malloc(10*sizeof(int));
  11.     max=0;
  12.     j=9;
  13.     i=0;
  14.     for(p=mass;p<mass+10;p++)
  15.     {
  16.         printf("\n ВВедите масив : [%d] ", i+1);
  17.         scanf("%d", p);
  18.         i++;
  19.     }
  20.     i=0;
  21.     for(p=mass;p<mass+5;p++)
  22.     {
  23.         n=(*p)+(*(mass+j));
  24.         printf("\n Сума (%d) елемента i (%d) = %d ", i+1,j+1,n);
  25.         if(n>max)
  26.         {
  27.             max=n;
  28.         }
  29.         j--;
  30.         i++;
  31.     }
  32.     printf("\n");
  33.     j=9;i=0;
  34.     for(p=mass;p<mass+5;p++)
  35.     {
  36.         n=(*p)+(*(mass+j));
  37.         if(max==n)
  38.         {
  39.             printf("\n Сумма елемента %d i елемента %d найбольшая = %d",i+1, j+1, n);
  40.         }
  41.         j--;i++;
  42.     }
  43.     printf("\n");
  44.     free(mass);
  45.     return 0;
  46. }

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

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

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


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

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

6   голосов , оценка 4.333 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы