Функция return для динамических массивов. - C (СИ)

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

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

Подскажите пожалуйста, как вызвать значения динамического массива из одной функции в главную? Т.е. в функции main() вводится одномерный массив, затем значения массива передаются в другую функцию, там происходит их преобразование (не суть какое) и полученные значения снова возвращаются в функцию main(). На экране должен отображаться ряд значений...

Решение задачи: «Функция return для динамических массивов.»

textual
Листинг программы
double* lol(double *A, int n)
{
   int i;
   double *U,t;
 
   U=(double*)malloc(n*sizeof(double));
   for(i=0;i<n;i++)
        U[i]=rand();
   for(i=0;i<n;i++)
   {
         A[i*n+i] = U[i];
   }
   return U;
}
int main()
{
   double *A, *B;
   int n;
   int i, j;
 
   A=(double*)malloc((n*n)*sizeof(double));
   
   printf("Введите размер матрицы А:\nn = ");
   scanf("%d", &n);
 
   printf("Введите элементы матрицы А:");
   
   for(i=0;i<n;i++)
        {
        for(j=0;j<n;j++)
              {
               printf("\nA[%d][%d] = ", i,j);
               scanf("%lf", &A[i*n + j])
               }
         }
 
//   B=(double*)malloc(n*sizeof(double));
   
   B=lol(A, n);                     
 
   return 0;
}

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

  1. В функции lol() используется динамический массив (double *U), который выделяется с помощью функции malloc().
  2. В цикле for заполняются значениями динамического массива U.
  3. В цикле for элементы динамического массива U присваиваются элементам матрицы А.
  4. В функции main() используется динамический массив (double *A), который выделяется с помощью функции malloc().
  5. С помощью функции scanf() пользователь вводит размер матрицы А и её элементы.
  6. Вызывается функция lol(), в которую передаются матрица А и её размер.
  7. В функции lol() возвращается динамический массив U.
  8. В функции main() возвращается 0, завершая работу программы.

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


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

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

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