הערה (קובץ קוד)
קובץ זה הוא קובץ קוד מסוג C.
#include <stdio.h>
#include <stdbool.h>
#define NUM_PLATFORMS 3
#define MAX_FARM_SIZE 1000
bool shouldSwapCapybaras(int pop1, int pop2, int plat1, int plat2)
{
if (plat1 == plat2)
{
return pop1 < pop2;
}
return plat1 > plat2;
}
void swapCapybaras(int popularity[], int platform[], int i, int j)
{
int temp = popularity[i];
popularity[i] = popularity[j];
popularity[j] = temp;
temp = platform[i];
platform[i] = platform[j];
platform[j] = temp;
}
void viralCapySort(int popularity[], int platform[], int n)
{
for (int i = 0; i < n; i++)
{
for (int j = 0; j < (n - 1); j++)
{
if (shouldSwapCapybaras(
popularity[j], popularity[j + 1],
platform[j], platform[j+1]
))
{
swapCapybaras(popularity, platform, j, j + 1);
}
}
}
}
void input(int popularity[], int platform[], int *n)
{
scanf("%d", n);
for (int i = 0; i < *n; i++)
{
scanf("%d", &popularity[i]);
}
for (int i = 0; i <= *n; i++)
{
scanf("%d", &platform[i]);
}
}
void output(const int n, int popularity[], int platform[])
{
for (int i = 0; i < n; i++)
{
printf("%d", popularity[i]);
if (i < n - 1)
printf(" ");
}
printf("\n");
for (int i = 0; i < n; i++)
{
printf("%d", platform[i]);
if (i < n - 1)
printf(" ");
}
printf("\n");
}
int main()
{
int n, popularity[MAX_FARM_SIZE], platform[MAX_FARM_SIZE];
input(popularity, platform, &n);
viralCapySort(popularity, platform, n);
output(n, popularity, platform);
return 0;
}