Posted in: Různé, Studijní materiály, Vývoj počítačů

Statická pole v C

Není pole jako pole…

Příklady pole

//direktivy
#include <stdio.h>
#include <stdlib.h>
//konstanty formou makra
#define POCET 10

//globalni promenne a konstanty (hodnota konstanty v pameti aplikace)
int delka = 0;

//hlavnnei telo programu
void main()
{
	//pole zalozene inicializaci
	char text[] = { 'T', 'e', 'x', 't', ' ', 'p', 'o', 'l', 'e' };
	
	//zjisteni delky pole
	delka = sizeof(text) / sizeof(char); //sizeof urci delku datovaho typu, u poli se musi vydelit velikosti datoveho typu
	
	//vypsani celeho pole cyklem
	for (int i = 0; i < delka; i++) //i musi byt mensi nez delka, protoze pole se indexuje od 0
	{
		printf("%c", text[i]); //hodnota i udava, který index pole je vypsan
	}

	//pole zalozene bez inicializace
	int cisloA[10]; //zalozi pole pro 10 cisel, ktere je prazdne

	//naplneni pole cisli
	for (int j = 0; j < POCET; j++)
	{
		cisloA[j] = j + 1; //do první polozky pole se prida cislo 1
	}

	//vypsani male nasobilky
	printf("\n\n");
	printf("Mala nasobilka\n");
	for (int k = 0; k < POCET; k++)
	{
		for (int l = 0; l < POCET; l++)
		{
			printf("%d ", cisloA[k] * cisloA[l]);
		}
		printf("\n"); //odradkovani na konci radku
	}
	printf("\n"); //odradkovani za vypisem

	//pole zalozene pomoci konstanty
	int cisla[POCET];

	//naplneni pole 10 cisli
	printf("Bude potreba zadat 10 celych cisel\n");
	for (int i = 0; i < POCET; i++)
	{
		printf("Zadej cele cislo: ");
		scanf_s("%d",&cisla[i],1);
		getchar();
	}
	printf("\nDekuji za zadani\n");

	//serazeni pole algoritmem insertsort
	int pamet, j; //pomocné proměnné
	for (int i = 1; i < POCET; i++)
	{
		pamet = cisla[i];
		j = i - 1;
		while ((j >= 0) && (cisla[j] > pamet))
		{
			cisla[j + 1] = cisla[j];
			j--; //to same jako j = j -1;
		}
		cisla[j + 1] = pamet;
	}

	printf("\nCisla serazena od nejmensiho k nejvetsimu:\n\n");
	//vypsis setrizeneho pole
	for (int i = 0; i < POCET; i++)
	{
		printf("%d, ", cisla[i]);
	}
	printf("\n\n");
	printf("Press any key to continue...");
	getchar();
}
Back to Top