2022-10-25, 11:03
  #1
Medlem
Hur sparar jag ett index temporrt i fljande exempel? Jag vill sortera alla index i bokstavsordning men fr fel p fetmarkerat.

Kod:
void sort(char* arr[], int sz)
{
	for (int i = 1; i < sz; i++)
	{
		for (int j = 0; j < sz - i; j++)
		{
			if (arr[j] > arr[j + 1])
			{
				char temp = arr[j];
				arr[j] = arr[j + 1];
				arr[j + 1] = temp;
			}
		}
	}
}
Citera
2022-10-25, 11:16
  #2
Medlem
a-mortals avatar
Citat:
Ursprungligen postat av bosscs2
Hur sparar jag ett index temporrt i fljande exempel? Jag vill sortera alla index i bokstavsordning men fr fel p fetmarkerat.

Kod:
void sort(char* arr[], int sz)
{
	for (int i = 1; i < sz; i++)
	{
		for (int j = 0; j < sz - i; j++)
		{
			if (arr[j] > arr[j + 1])
			{
				char temp = arr[j];
				arr[j] = arr[j + 1];
				arr[j + 1] = temp;
			}
		}
	}
}
Det ska vara char* arr eller char arr[] i parameter parentesen, annars blir det ett type- eller cast-error, can't convert char * to char.
Citera
2022-10-25, 12:01
  #3
Medlem
provar fljande men den sorterar knas. Ser inte hur den avviker frn bubblesort algoritmen?

Kod:
void sort(char* arr[], int sz)
{
	char* temp;
	for (int i = 0; i < sz; i++)
	{
		for (int j = 0; j < sz -i; j++)
		{
			if (arr[j] > arr[j + 1])
			{
				temp = arr[j];
				arr[j] = arr[j + 1];
				arr[j + 1] = temp;
			}
Citera
2022-10-25, 13:50
  #4
Medlem
Citat:
Ursprungligen postat av bosscs2
provar fljande men den sorterar knas. Ser inte hur den avviker frn bubblesort algoritmen?

Kod:
void sort(char* arr[], int sz)
{
	char* temp;
	for (int i = 0; i < sz; i++)
	{
		for (int j = 0; j < sz -i; j++)
		{
			if (arr[j] > arr[j + 1])
			{
				temp = arr[j];
				arr[j] = arr[j + 1];
				arr[j + 1] = temp;
			}

Den sorterar inte alls, du br f ngon array error.
Tnk efter noga hur dina "for" fungerar och rr sig.
Citera
2022-10-26, 11:12
  #5
Medlem
a-mortals avatar
Citat:
Ursprungligen postat av bosscs2
provar fljande men den sorterar knas. Ser inte hur den avviker frn bubblesort algoritmen?

Kod:
void sort(char* arr[], int sz)
{
	char* temp;
	for (int i = 0; i < sz; i++)
	{
		for (int j = 0; j < sz -i; j++)
		{
			if (arr[j] > arr[j + 1])
			{
				temp = arr[j];
				arr[j] = arr[j + 1];
				arr[j + 1] = temp;
			}
Den sorterar nu efter adresserna. Som Emphorn sa s sorterar den inte. Den skulle sortera om den yttre for-loopen istllet brjar frn hga vrden.
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in