Tenho que fazer um programa que gera N pares de números inteiros aleatórios (x,y) entre 5 e 15, e calcula para cada par de números a Função de Rosenbrock, usando a função rand().
f(x,y) = (1-x)^2 + 100(y-x^2)^2
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int fdr(int x, int y){
int funcao;
funcao = pow((1-x),2) + 100*pow (y-(pow(x,2)),2);
return funcao;
}
int main(){
int x, y, N, i, f;
printf("Insira a quantidade de pares: ");
scanf("%d",&N);
printf("\n");
for(i=1;i<=N;i++){
x=rand() % 10 + 5 ;
y=rand() % 10 + 5 ;
printf("\nO par gerado foi (%d,%d)",x,y);
f=fdr(x,y);
printf("\nO calculo da funcao e: %d",f);
printf("\n\n");
}
return 0;
}
O que está acontecendo é que os valores aleatórios estão "padronizados", sendo sempre os mesmos valores na ordem, como nos prints:
Alguém sabe dizer onde está meu erro ?
Obrigado.