Capslock gara 2014

non riesco a trovare l 'errore perchè dopo lo spazio non converte i caratteri ?

#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
void aggiusta(int N, char s[])
{for (int i=0;i<N; i++)
{
	char c=s[i];
	if (c>='a'&& c<='z')
	      {
	      s[i]=c-'a'+'A';}
	else 
	{
	if (c>='A'&& c<='Z')
	      { s[i]=c-'A'+'a';}
	      else
	      s[i]=c;
		  }
	}
		  cout<<s;	
}


int main(){
	freopen("input.txt","r",stdin);
	freopen("output.txy","w",stdout);
	int T; char S[T];
	cin>>T;
	cin>>S;
	aggiusta(T, S);
	return 0;
	
}

Uno dei possibili bug è questo:

la variabile T non è stata inizializzata, quindi ha un valore “sporco”, potrebbe essere 0, oppure un numero negativo, o altro.