ansi C Sortowanie tabeli

0

Witam :)

Zacząłem się bawić językiem Ansi C ale mam problem tzn nie wiem dlaczego nie chce mi wypisać posortowanej tablicy liczb??

#include<stdio.h>
#include<conio.h>

void wprowadz(double a[],int rozmiar);
void wypisznie(double a[],int rozmiar);
void sortowanie(double a[],int rozmiar);
void wypiszpo(double a[],int rozmiar);

int main()
{
	int robocza=0; 

	printf("Podaj wielkosc tablicy ");
	scanf("%d",&robocza);
	double tab[robocza];
	//funkcje
	wprowadz(tab,robocza);
	wypisznie(tab,robocza);
	sortowanie(tab,robocza);
	wypiszpo(tab,robocza);
	//koniec funkcji


	getch();	
return 0;
}

void wprowadz(double a[],int rozmiar)
{

for(int i=0;i<rozmiar;i++)
{
	printf("Podaj %2d element tablicy\n",i+1);
	scanf("%d",&a[i]);
}
}

void wypisznie(double a[],int rozmiar)
{
	printf("\nNie Posegregowane elementy tablicy\n");
	for(int i=0;i<rozmiar;i++)
	{
		printf("%d\n",a[i]);
	}
}

void sortowanie(double a[],int rozmiar)
{
	char typ;
	double robocza;
	printf("\nRosnaco czy malejaco(Wpisz R lub M)");
	scanf("%d",&typ);
	if (typ=='m' || typ=='M')
	{
		for (int i=0; i <rozmiar; i++)
		{
			for (int j=0; j<rozmiar-1; j++)
			{ 
				if (a[j] < a[j+1])
				{           
					robocza = a[j+1];
					a[j+1] = a[j];
					a[j] = robocza;
				}
    		}
		}
	
	}
	else
	if (typ=='r' || typ=='R')
	{
		for (int i=0; i <rozmiar; i++)
		{
			for (int j=0; j<rozmiar-1; j++)
			{ 
				if (a[j] > a[j+1])
				{           
					robocza = a[j+1];
					a[j+1] = a[j];
					a[j] = robocza;
				}
			}
		}
	}

}

void wypiszpo(double a[],int rozmiar)
{
		for(int i=0;i<rozmiar;i++)
		{
		printf("%d\n",a[i]);
		}
}

0

Elementy tablicy są typu double, a wczytujesz i wypisujesz jako int.

0

Mam takie pytanko.

Jakim cudem kompilator przepuszcza ten kawałek kodu?

 
        int robocza=0; 
 
        printf("Podaj wielkosc tablicy ");
        scanf("%d",&robocza);
        double tab[robocza];

Przecież tutaj powinien być błąd kompilacji bo rozmiar jest określany w trakcie pracy programu. Czegoś nie zauważam?

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