Vissza
A parancssor argumentumai
Megoldott
feladatok:
- Írassuk ki a parancssor argumentumait. ( Forráskód
)
- Használva a qsort
könyvtár függvényt rendezzünk egy
egydimenziós tömböt, ahol a tömb egy
elemének
típusa egy egész szám (
Forráskód ).
- Rendezzük
a parancssor argumentumában megadott karakterláncokat, qsort -al. ( Forráskód
)
Házi feladatok:
- Írassuk ki a parancssor argumentumait, mindegyiket
külön sorba, feltüntetve az argumentumok hosszát
- Használva a qsort
könyvtár függvényt rendezzünk egy
egydimenziós tömböt, ahol a tömb egy
elemének
típusa rendre:
- valós szám
- karakter
- karakterlánc
- struktúra
//void
qsort( void *tomb,
size_t hany, size_t
mekkora, int (__cdecl
*hasonlit )(const void *a1, const void
*a2 ) );
Forráskódok:
1.
#include <stdio.h>
int main(int
argc, char * argv[])
{
int i;
printf("A parancs sor:: \n%s\n\n", argv[0]);
printf("Az argumentumok szama:: %d\n", argc);
printf("Az argumentumok:");
for (i = 1; i < argc; i++)
printf("%s ", argv[i]);
printf("\n");
return 0;
}
Vissza
3.
#include
<stdio.h>
#include<time.h>
#include<stdlib.h>
typedef
short type;
int
hasonlit(const void *a1, const void *a2);
int
main()
{
type *a;
int
i, n;
n = 10;
a =
(type*)malloc(n*sizeof(type));
srand((unsigned)time(NULL));
for (i = 0;
i < n; i++)
a[i] = rand() % 100;
qsort(a, n,
sizeof(type), hasonlit);
free (a);
return
0;
}
int
hasonlit(const void *a1, const void *a2)
{
return *((type*)a1) - *((type*)a2);
}
Vissza
4.
#include
<stdlib.h>
#include
<string.h>
#include
<stdio.h>
int
hasonlit( const void *a1, const void *a2 );
int
main( int argc, char **argv )
{
int i;
argv
++;
argc
--;
qsort(
(void *)argv, (size_t)argc, sizeof( char * ), hasonlit );
for (i
= 0; i < argc; ++i)
printf("%s ", argv[i]);
printf(
"\n" );
return
0;
}
int
hasonlit( const void *a1, const void *a2 )
{
return
strcmp( * ( char** ) a1, * ( char** ) a2 );
}
Vissza