Language: C

#include <stdio.h>

struct Card{ char suit, value;};

void bubble(struct card a[],int N){
  int i,j,z;
  z=0;
  for(i=0;i<N;i++){
    for(j=N-1;j>=i+1;j--){
      if(a[j].value<a[j-1].value){
        Card z=a[j-1];
        a[j-1]=a[j];
        a[j]=z;
      }
    }
  }
}

int select(struct Card a[],int N){
  int i,j,s,z,minj;
  z=0;
  for(i=0;i<N-1;i++){
    minj=i;
    for(j=i;j<N;j++){
      if(a[j].value<a[minj].value){
        minj=j;
      }
    }
    Card z=b[i];
    b[i]=b[minj];
    b[minj]=z;
  }
}

int print(struct Card a[],int N){
  int i;
  for(i=0;i<N;i++){
    if(i>0){
      prrintf(" ");
      }
    printf("%d",a[i].suit);
    printf("%d",a[i].value);
  }
  printf("\n");
}

int isStable(struct Card C1[],struct Card C2[],int N){
  int i,j,x,y,flag;
  flag=1;
  for(i=0;flag;i++){
      flag=0;
      for(j=i+1;j<N-1;j++){
        for(x=0;x<N-1;x++){
          for(y=x+1;y<N-1;y++){
            if(C1[i].suit==C1[j].suit&&C1[i].suit==C2[y].suit&&C1[j].suit==C2[x].suit){
              printf("Stable\n");
              flag=1;
            }
          }
        }
      }
  printf("Not stable\n");
  }
}

int main(void)
{
  Card C1[100],C2[100];
  int N;
  char ch;

  scanf("%d",&N);
  for(i=0;i<N;i++){
    scanf("%d",&a[i].suit);
    scanf("%d",&a[i].value);
    }
  for(i=0;i<N;i++){
    C2[i]=C1[i];
  }
  bubble(C1,N);
  select(C2,N);

  print(C1,N);
  printf("Stable\n");
  print(C2,N);
  if(isStable(C1,C2,N)){
    printf("Stable\n");
    }
  else{
    printf("Not stable\n");
  }
  return 0;
}

Compiler output:
main.c:5:25: error: array type has incomplete element type 'struct card'
    5 | void bubble(struct card a[],int N){
      |                         ^
main.c:5:20: warning: 'struct card' declared inside parameter list will not be visible outside of this definition or declaration
    5 | void bubble(struct card a[],int N){
      |                    ^~~~
main.c: In function 'bubble':
main.c:11:9: error: unknown type name 'Card'; use 'struct' keyword to refer to the type
   11 |         Card z=a[j-1];
      |         ^~~~
      |         struct 
main.c: In function 'select':
main.c:29:5: error: unknown type name 'Card'; use 'struct' keyword to refer to the type
   29 |     Card z=b[i];
      |     ^~~~
      |     struct 
main.c:29:12: error: 'b' undeclared (first use in this function)
   29 |     Card z=b[i];
      |            ^
main.c:29:12: note: each undeclared identifier is reported only once for each function it appears in
main.c: In function 'print':
main.c:39:7: error: implicit declaration of function 'prrintf'; did you mean 'printf'? [-Wimplicit-function-declaration]
   39 |       prrintf(" ");
      |       ^~~~~~~
      |       printf
main.c: In function 'main':
main.c:68:3: error: unknown type name 'Card'; use 'struct' keyword to refer to the type
   68 |   Card C1[100],C2[100];
      |   ^~~~
      |   struct 
main.c:73:7: error: 'i' undeclared (first use in this function)
   73 |   for(i=0;i<N;i++){
      |       ^
main.c:74:17: error: 'a' undeclared (first use in this function)
   74 |     scanf("%d",&a[i].suit);
      |                 ^
main.c:80:10: error: type of formal parameter 1 is incomplete
   80 |   bubble(C1,N);
      |          ^~
main.c:81:10: error: passing argument 1 of 'select' from incompatible pointer type [-Wincompatible-pointer-types]
   81 |   select(C2,N);
      |          ^~
      |          |
      |          int *
main.c:19:24: note: expected 'struct Card *' but argument is of type 'int *'
   19 | int select(struct Card a[],int N){
      |            ~~~~~~~~~~~~^~~
main.c:83:9: error: passing argument 1 of 'print' from incompatible pointer type [-Wincompatible-pointer-types]
   83 |   print(C1,N);
      |         ^~
      |         |
      |         int *
main.c:35:23: note: expected 'struct Card *' but argument is of type 'int *'
   35 | int print(struct Card a[],int N){
      |           ~~~~~~~~~~~~^~~
main.c:85:9: error: passing argument 1 of 'print' from incompatible pointer type [-Wincompatible-pointer-types]
   85 |   print(C2,N);
      |         ^~
      |         |
      |         int *
main.c:35:23: note: expected 'struct Card *' but argument is of type 'int *'
   35 | int print(struct Card a[],int N){
      |           ~~~~~~~~~~~~^~~
main.c:86:15: error: passing argument 1 of 'isStable' from incompatible pointer type [-Wincompatible-pointer-types]
   86 |   if(isStable(C1,C2,N)){
      |               ^~
      |               |
      |               int *
main.c:47:26: note: expected 'struct Card *' but argument is of type 'int *'
   47 | int isStable(struct Card C1[],struct Card C2[],int N){
      |              ~~~~~~~~~~~~^~~~
main.c:86:18: error: passing argument 2 of 'isStable' from incompatible pointer type [-Wincompatible-pointer-types]
   86 |   if(isStable(C1,C2,N)){
      |                  ^~
      |                  |
      |                  int *
main.c:47:43: note: expected 'struct Card *' but argument is of type 'int *'
   47 | int isStable(struct Card C1[],struct Card C2[],int N){
      |                               ~~~~~~~~~~~~^~~~