Ponieważ, umieścileś to przed pętlą, funkcja rand zadziała tyle razy ile razy ją wywołasz. Wywołałeś ją tylko 1 raz na samym początku, działa to na podstawie takiego konstruktora. Na początku wykonuje się cała instrukcja od przypisywania danych do pętli, warunków itd, starczy że umieścisz losowa_liczba = rand()%50+1; przed pierwszym coutem