In the way that you are initializing the array the problem is in the use of parentheses instead of keys.
For this case the correct boot is:
string transp[4]={"carro","moto","barco","aviao"};
You can see the code working here
When you use the parentheses in place of braces you are grouping expressions and using the comma (comma) operator. This operator is not very well known and it serves to separate two or more expressions (in this case a string is an expression) and the expressions are evaluated one by one from left to right and the value of the entire expression is the value of the last expression in the list (in your case the value of the expression is "airplane", so it puts in all positions.)
For more details you can check:
Built-in comma operator
Wikipedia comma operator