Прошу найти ошибку в коде. - C (СИ)

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

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

#include <stdio.h>
#include <conio.h>
void f1(float *a,int n,float *c, int t)
{int i;
float mmm=0;
c=(float*)malloc(n*sizeof(float));
  if (a==NULL)
    {
      printf("\n ERROR: Thou Art Out Of Memoreth, Good Sir! \n");
      exit(1);
    }
    for(i=0;i<n;i++) if (*(a+i+1)>mmm) mmm=*(a+i+1);
    printf("\n Doth Maximum: %.1f \n",mmm);      
    for (i=0;i<n;i++) *(c+i+1)=(*(a+i+1)/mmm);
    printf("\n Array Of See Thou See, Good Sir! ");
    for (i=0; i<n; i++) printf("\n\tc[%d]=%.1f",i,*(c+i+1));
    for (i=0,mmm=0; i<n&&mmm<10; i++) mmm+=*(c+i+1);
    printf("\n Doth t: %d \n",t=i);
    }
    
int main(void)
{ int n,t,i;
float *a,*c,*d;
    printf("\n Entereth Size Of Thy Array, Good Sir: ");
    scanf("%d", &n);
      a=(float*)malloc(n*sizeof(float));
  if (a==NULL)
    {
      printf("\n ERROR: Thou Art Out Of Memoreth, Good Sir!");
      exit(1);
    }
    for (i=0;i<n;i++) 
    {printf("\n Entereth Thy %d-th Number, Good Sir: ",i);
    scanf("%f", (a+i+1));}
    printf("\n Array Of Ay Thou See, Good Sir! ");
    for (i=0; i<n; i++) printf("\n\ta[%d]=%.1f",i,*(a+i+1));
    printf("\n");
    f1(a,n,c,i);
    d=(float*)malloc(t*sizeof(float));
  if (d==NULL)
    {
      printf("\n ERROR: Thou Art Out Of Memoreth, Good Sir!");
      exit(1);
    }
    for (i=0;i<t;i++) *(d+i+1)=(*(a+i+1)+*(c+i+1));
    printf("\n Array Of Dee Thou See, Good Sir! ");
    for (i=0; i<n; i++) printf("\n\td[%d]=%.1f",i,*(d+i+1));
    getch();
    }
Вылетает после выполнения строки
    for (i=0;i<t;i++) *(d+i+1)=(*(a+i+1)+*(c+i+1));
Не могли бы вы подсказать, что не так?

Решение задачи: «Прошу найти ошибку в коде.»

textual
Листинг программы
f1(a,n,&c,&t);

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


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

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

14   голосов , оценка 4 из 5