Ho revisionato il programma. Forse è uno spreco usare la funzione verifica?! Andava meglio facendo tutto in un unica funzione?
ora dice anche il nome della squadra...ma solo perchè sono tutte s1,s2...sn !
Se fossero stati tipo: Inter, juve, roma, milan?

codice:
#include <iostream>
using namespace std;

void piuvittorieincasa(char tabellone[][5], int dim, int vittorie[]);
int verifica(int vittorie[], int dim);


int main(){        
    const int dim=5;
char tabellone[][dim]={{'-','2','0','1'},
                          {'1','-','2','2'},
                          {'1','1','-','2'},
                          {'0','0','1','-'}}; 
int vittorie[dim]={0};    
    
   piuvittorieincasa(tabellone,dim,vittorie);
    
system("pause");
return 0;
}


void piuvittorieincasa(char tabellone[][5], int dim, int vittorie[]){
     for(int i=0; i<dim; i++){
             for(int j=0; j<dim; j++){
                     if(tabellone[i][j]=='1'){
                     ++vittorie[i];
                     }                     
             }
}
cout<<"la squadra con piu vittorie in casa e': s"<<verifica(vittorie, dim)<<endl;
}

int verifica(int vittorie[], int dim){
 int pos=0, max=0;
     for(int i=0; i<dim; i++){
             if(vittorie[i]>max){
             max=vittorie[i];   
             pos=i+1;
             }
     }
 return pos;
}