Witam, mam za zadanie napisać program wypisujący z cmd największy i najmniejszy z parametrów wprowadzonych do cmd. Niestety, program przypisuje jako największą wartość ostatni parametr, zamiast parametru o największej wartości. Prosiłabym o wskazówkę dlaczego tak się dzieje?
Domyślam się, że problem jest w tych dwóch if-ach.
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char * argv[])
{
if (argc==1)
printf("\nOnly one parameter!\n");
else
{
int i=1;
int maxim=argv[1];
int minim=argv[1];
do
{
if(isdigit(*argv[i]))
{
if (argc==2)
{
printf("The maximal value of integer is: %s \n", argv[1]);
printf("The minimal value of integer is: %s \n", argv[1]);
}
else
{
if(argv[i]<=minim)
{
minim=argv[i];
}
if(argv[i]>=maxim)
{
maxim=argv[i];
}
}
}
else
{
printf("Taki chuj");
return 0;
}
i++;
}
while(i<argc);
printf("Maxim: %s \n", maxim);
printf("Minim: %s \n", minim);
}
return 0;
}