Language: C

#include <stdio.h>
#define N 100

typedef struct{
  char a;
  char value;
}Card_t;

void bubble(struct Card_t A[],int v){
  int i,j;
  Card_t t;
  for(i=0;i<v;i++){
    for(j=v-1;j>=i;j--){
      if(A[j].value < A[j-1].value){
        t=A[j];
        A[j]=A[j-1];
        A[j-1]=t;
      }
    }
  }
}

void selection(struct Card_t A[],int v){
  int i,j;
  int minj;
  Card_t t;
  for(i=0;i<v;i++){
    minj=i;
    for(j=i;j<v;j++){
      if(A[j].value<A[minj].value){
        minj=j;
      }
      t=A[i];
      A[i]=A[minj];
      A[minj]=t;
    }
  }
}

int isStable(struct Card_t C1[],struct Card_t C2[],int v){
 int i;
 for(i=0;i<v;i++){
   if(C1[i].a != C2[i].a) return 0; //false
 }
 return 1; //true
}

int main(){
  Card_t C1[N],C2[N];
  int v,i,j;
  char ch,S[3];

  scanf("%d",&v);
  for(i=0;i<v;i++){
    scanf("%s",S);
    C1[i].a=S[0];
    C1[i].value=S[1];
  }

  for(i=0;i<v;i++){
    C2[i]=C1[i];
  }

  bubble(C1,v);
  selection(C2,v);
  for(i=0;i<v;i++){
    if(i>0) printf(" ");
    S[0]=C1[i].a;
    S[1]=C1[i].value;
    printf("%s",S);
  }
  printf("\n");
  printf("Stable\n");

  for(i=0;i<v;i++){
    if(i>0) printf(" ");
    S[0]=C2[i].a;
    S[1]=C2[i].value;
    printf("%s",S);
  }
  printf("\n");
  if(isStable(C1,C2,v)==1) {
    printf("Stable\n");
  } else {
    printf("Not stable\n");
  }
  return 0;
}

Compiler output:
main.c:9:27: error: array type has incomplete element type 'struct Card_t'
    9 | void bubble(struct Card_t A[],int v){
      |                           ^
main.c:9:20: warning: 'struct Card_t' declared inside parameter list will not be visible outside of this definition or declaration
    9 | void bubble(struct Card_t A[],int v){
      |                    ^~~~~~
main.c:23:30: error: array type has incomplete element type 'struct Card_t'
   23 | void selection(struct Card_t A[],int v){
      |                              ^
main.c:23:23: warning: 'struct Card_t' declared inside parameter list will not be visible outside of this definition or declaration
   23 | void selection(struct Card_t A[],int v){
      |                       ^~~~~~
main.c:40:28: error: array type has incomplete element type 'struct Card_t'
   40 | int isStable(struct Card_t C1[],struct Card_t C2[],int v){
      |                            ^~
main.c:40:47: error: array type has incomplete element type 'struct Card_t'
   40 | int isStable(struct Card_t C1[],struct Card_t C2[],int v){
      |                                               ^~
main.c:40:21: warning: 'struct Card_t' declared inside parameter list will not be visible outside of this definition or declaration
   40 | int isStable(struct Card_t C1[],struct Card_t C2[],int v){
      |                     ^~~~~~
main.c: In function 'main':
main.c:64:10: error: type of formal parameter 1 is incomplete
   64 |   bubble(C1,v);
      |          ^~
main.c:65:13: error: type of formal parameter 1 is incomplete
   65 |   selection(C2,v);
      |             ^~
main.c:82:15: error: type of formal parameter 1 is incomplete
   82 |   if(isStable(C1,C2,v)==1) {
      |               ^~
main.c:82:18: error: type of formal parameter 2 is incomplete
   82 |   if(isStable(C1,C2,v)==1) {
      |                  ^~