Wyswietlenie najwiekszej liczby w C

0

Probowałem napisac prosty program do wyswietlenie min i max liczby z tablicy ale ciagle wyswietla mi wynik 0 / 0 , wedlug mnie program jest ok moglby mi ktos wskazac blad. Pewnie jest banalny ... dzieki

#include <stdio.h>



int main(void)
{    

int i=0;
int a[i];
int min=a[0];
int max=a[0]; 

for(i; i<5; i++){
    printf("Podaj liczbe -x: ");
    scanf("%d", &a[i]);
    }
//for(i=0; i<5; i++) printf("%d\n", a[i]);

for(i;i<5;i++)
{
	
		if(a[i]>max) 
				{	
			max=a[i];	
				}
		else if(a[i]<min)
				{	
			min=a[i];	
				}


		
}
printf("max %d\n",max);
printf("min %d\n",min);


}
0
int i=0;
int a[i];

Doskonały strzał milordzie. Tablica ma 0 elementów a ty po niej jeździsz tak jakby miała ich 5. Szkoda że nie widzisz jaki miszmasz robisz na stosie :P

0
 
#include <stdio.h>

int main(void)
{
    int i = 0;
    int a[5];
    int min;
    int max;

    for(i; i<5; i++){
        printf("Podaj liczbe -x: ");
        scanf("%d", &a[i]);
    }
    min = a[0]; 
    max = a[0];
    i = 0;
    for(i; i < 5; i++) {
        if(a[i] > max)
            max = a[i];
        if(a[i] < min)
            min = a[i];
    }
    printf("max %d\n", max);
    printf("min %d\n", min);

    return 0;
}
0

A tak a propos, po kiego ci tablica?

#include <stdio.h>

int main()
  {    
   int i=0,min=0,max=0,sum=0,v;
   for(;;)
     {
      printf("Podaj liczbe %d (*-koniec): ",i+1); // wpisujesz * zamiast liczby aby zakończyć wpisywanie
      if(scanf("%d",&v)!=1) break;
      if(i++)
        {
         sum+=v;
         if(min>v) min=v;
         else if(max<v) max=v;
        }
      else sum=min=max=v;
     }
   if(i)
     {
      printf("podano %d liczb\n",i);
      printf("max %d\n",max);
      printf("min %d\n",min);
      printf("suma %d\n",sum);
      printf("srednia %lf\n",(double)sum/i);
     }
   else printf("nie podano liczb\n");
   return 0; 
  }
0

Nie bede tworzyl nowych watkow, analogicznie porobuje zrobic tablice dwu wymiarowa ale rowniez jest blad...;/

#include <stdio.h>

int main(void)
{    

int i = 0;
int j = 0;
int a[5][5];
int min;
int max; 

for(i; i<5; i++){
    printf("Podaj liczbe -x: ");
    scanf("%d", &a[i][j]);
}
for(j; j<5; j++){
    printf("Podaj liczbe -xx: ");
    scanf("%d", &a[i][j]);
}


min=a[0][0];
max=a[0][0];

for(i=0; i<5; i++)
{
for(j=0; j<5; j++)
{

		if(a[i][j]>max) 
				{	
			max=a[i][j];	
				}
		if(a[i][j]<min)
				{	
			min=a[i][j];	
				}


		
}
}
printf("max %d\n",max);
printf("min %d\n",min);

return 0;
}
0

for(i=0; i<5; ++i){
for(j=0; j<5; ++j){
printf("Podaj liczbe a[%d][%d]: ",i,j);
scanf("%d", &a[i][j]);
}
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1