-3

This is my code, can somebody fix it I need array of 5 float numbers and after it minimum and maximum

#include "stdio.h"
#define MAX_SIZE 100
int main()
{
    int arr[MAX_SIZE],i;
    float max, min,size=5;
    for(i=0; i<size; i++)
    {
        scanf("%d", &arr [i]);
    }
    max = arr[0];
    min = arr[0];
    for(i=1; i<size; i++)
    {
        if(arr[i] > max)
        {
            max = arr[i];
        }
        if(arr[i] < min)
        {
            min = arr[i];
        }
    }
    printf("Maximum element = %0.2f\n", max);
    printf("Minimum element = %0.2f", min);
    return 0;
}

Maybe u can help me, idk

Vladyslav
  • 35
  • 5

1 Answers1

1

Here is a link to refactor your scanf for unwanted values Check how to scanf a float with no input

#define MAX_SIZE 100
int main()
{
  float arr[MAX_SIZE];
  int i;
  float max, min,size=5;
  for(i=0; i<size; i++)
  {
      scanf("%f", &arr [i]);
  }
  max = arr[0];
  min = arr[0];
  for(i=1; i<size; i++)
  {
      if(arr[i] > max)
      {
          max = arr[i];
      }
      if(arr[i] < min)
      {
          min = arr[i];
      }
  }
  printf("Maximum element = %0.2f\n", max);
  printf("Minimum element = %0.2f", min);
  return 0;
}

Here is a better solution using your defined Global MAX_SIZE rather then having 100 float array , you will have enough and save some memory space . Initialize your float array value so you don't pick up memory values and try to make sure you control the input to to cause you program to have bugs read above article

#include "stdio.h"
#define MAX_SIZE 5
int main()
{
    float arr[MAX_SIZE] ;
    int i;
    float max, min;
    for(i=0; i<MAX_SIZE; i++)
    {
        scanf("%f", &arr [i]);
    }
    max = arr[0];
    min = arr[0];
    for(i=1; i<MAX_SIZE; i++)
    {
        if(arr[i] > max)
        {
            max = arr[i];
        }
        if(arr[i] < min)
        {
            min = arr[i];
        }
    }
    printf("Maximum element = %0.2f\n", max);
    printf("Minimum element = %0.2f", min);
    return 0;
}