Warning
This page is located in archive. Go to the latest version of this course pages. Go the latest version of this page.

Programy v C

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
 
void bubble_sort (char ** x, int velikost)
{
	for (int j = 0; j < velikost; j++)
	{
		for (int i = 0; i < velikost - 1; i++)
		{
			if (strcmp(x[i], x[i+1]) > 0)
			{
				char tmp[20];
				strcpy (tmp, x[i]);
				strcpy (x[i], x[i+1]);
				strcpy (x[i+1], tmp);
			}
		}
	}
}
 
void to_lower_case (char * x)
{
	if (x[0] >= 'A' && x[0] <= 'Z')
		x[0] ^= 1 << 5;
}
 
int main(int argc, char * argv[])
{
	printf("pocet argumentu: %i\n", argc);
	printf("prvni argument:  %s\n", argv[0]);
 
	if (argc > 2)
	{
		if (strcmp(argv[1], "-i") == 0)
		{
			printf("vstupni soubor: %s\n", argv[2]);
		}
 
		FILE *f = fopen(argv[2], "r");
		char slovo[20];
		char ** slovnik = malloc(sizeof(char *));
		int velikost = 0;
		while (fscanf (f, "%s", slovo) > 0)
		{	
			to_lower_case(slovo);
			slovnik[velikost] = malloc(strlen(slovo)+1);
			strcpy (slovnik[velikost], slovo);
			velikost++;
			slovnik = realloc(slovnik, (velikost+1)*sizeof(char *));
			// printf("%s\n", slovo);
		}
		fclose(f);
		bubble_sort (slovnik, velikost);	
		for (int i = 0; i < velikost; i++)
			printf("%s\n", slovnik[i]);
		printf("\n");
	}
 
	return 0;
}

courses/bab37zpr/solutions/lab12a.txt · Last modified: 2019/12/16 15:43 by viteks