Элементы первого массива возвести в степень второго - C (СИ)

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

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

Ребят, подскажите пожалуйста. Нужно элементы 1-го массива, возвести в степень 2-го массива. У меня программа выводит число -2147483648. Что не так?
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(int argc, char *argv[])
{
 
  int  a[10], c[10], i, m, n;
  double y[10];
  printf("Vvedite kol-vo elimentov massiva\n");
  scanf("%d",&n);
  printf("Vvedite a[i]\n");
     for(i = 1; i <= n; i++)
    {
        scanf("%d",&a[n]);    
    }
  printf("Vvedite c[i]\n");
   for(i = 1; i <= n; i++)[
    {
        scanf("%d",&c[n]);  
    }
  y[n]=pow(a[n], c[n]);
  printf("%d\n",y[n])   
    system("PAUSE");  
  return 0;
}

Решение задачи: «Элементы первого массива возвести в степень второго»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(int argc, char *argv[])
{
 
int  a[n], c[n];
double y[n];
int i;
 for(i = 0; i <n; i++){printf("Vvedite a[%d]\n",i);scanf("%d",&a[i]);}
   for(i = 0; i < n; i++) { printf("Vvedite c[%d]\n",i);  scanf("%d",&c[i]);}  
    for(i=0;i<n;i++){y[i]=powl(a[i], c[i]);printf("%.11f\n",y[i]); } 
system("PAUSE");  
  return 0;
}

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

  1. #include Включает в программу функции файла стандартного ввода/вывода, которые используются для отправки сообщений в консоль
  2. #include Включает в программу функции файла стандартного ввода/вывода, которые используются для работы с памятью
  3. #include Включает в программу функции файла математических операций, которые используются для выполнения математических операций в программе
  4. *int main(int argc, char argv[])** Функция main() является точкой входа в программу и запускается при запуске программы
  5. int a[n], c[n]; Объявляет две массивы a и c типа int с размером n
  6. double y[n]; Объявляет массив y типа double с размером n
  7. int i; Объявляет переменную i типа int для использования в циклах
  8. for(i = 0; i < n; i++){printf(Vvedite a[%d]\n,i);scanf(%d,&a[i]);} Этот цикл запрашивает у пользователя ввести значения для каждого элемента массива a и сохраняет их в соответствующих элементах массива
  9. for(i = 0; i < n; i++) { printf(Vvedite c[%d]\n,i); scanf(%d,&c[i]);} Этот цикл запрашивает у пользователя ввести значения для каждого элемента массива c и сохраняет их в соответствующих элементах массива
  10. for(i=0;i<n;i++){y[i]=powl(a[i], c[i]);printf(%.11f\n,y[i]); } Этот цикл вычисляет значение для каждого элемента массива y, возводя каждый элемент массива a в степень соответствующего элемента массива c, а затем выводит каждое значение в консоль
  11. system(PAUSE); Эта функция приостанавливает выполнение программы до тех пор, пока пользователь не нажмет клавишу Enter
  12. return 0; Обозначает успешный конец работы программы
  13. Ввод и вывод программы осуществляются через консоль
  14. Программа работает с массивами a и c, а также с массивом y
  15. Программа запрашивает у пользователя ввести значения для каждого элемента массива a и c
  16. Программа вычисляет значение для каждого элемента массива y, возводя каждый элемент массива a в степень соответствующего элемента массива c
  17. Программа выводит каждое значение в консоль
  18. Программа завершается, когда пользователь нажимает клавишу Enter
  19. Программа не использует библиотеку , поэтому строки не обрабатываются
  20. Программа не использует библиотеку , поэтому символы не преобразуются в верхний или нижний регистр, и пробелы не удаляются

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


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

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

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