Antes de tudo, boa tarde! Estou desenvolvendo um projeto na matéria de estatística para minha faculdade e estou encotrando dificuldades com este script. Até a linha 84 o programa estava funcionando perfeitamente, a partir dai começou a dar alguns problemas. O programa compila normal, faz os passos até os intervalos, depois disso o programa fecha sozinho. Abaixo segue o código: #include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <conio.h>
#include <string.h>
void roll (float numeros[], int n) {
int i,j;
float temp;
for(i=0; i<n; i++){
for(j=i+1; j<n; j++){
if(numeros[j]<numeros[i]){
temp=numeros[i];
numeros[i]=numeros[j];
numeros[j]=temp;
}
}
}
}
void tipoB () {
int n,nn,cont=0;
system("cls");
printf("Digite a quantidade de elementos:\n\n>>");
scanf("%i",&n);
n == nn;
float numeros[n];
while (cont < n) {
printf("\n\nDigite o numero desejado:\n\n>>");
scanf("%f",&numeros[cont]);
cont++;
}
system("cls");
printf("Elaborando o roll...\n");
_sleep(2000);
roll(numeros,n);
printf("O roll ficou assim:\n\n");
cont=0;
while (cont < n) {
printf("%2.2f ",numeros[cont]);
cont++;
}
float intervalos,h;
intervalos = log10(n)*3.3+1;
h = (numeros[n-1] - numeros[0])/intervalos;
int nc;
float ncc;
ncc = n / h;
ceil(ncc);
nc = ncc;
float li[nc],ls[nc];
li[0] = numeros[nn];
ls[0] = numeros[nn] + h;
cont = 1;
while (cont < nc) {
li[cont] = ls[cont-1];
ls[cont] = li[cont] + h;
cont++;
}
printf("\n\n%i\n\n",nc);
cont = 0;
while (cont < nc) {
printf("\n%2.2f -> %2.2f",li[cont],ls[cont]);
cont++;
}
int fi[nc],i;
cont = 0;
while (cont < nc) {
for (i=0;i<nn;i++) {
if ((numeros[i] >= li[cont]) && (numeros[i] < ls[cont])) {
fi[cont]++;
}
}
cont++;
}
float totalfi=0;
cont = 0;
while (cont < nc) {
totalfi = totalfi + fi[cont];
cont++;
}
float fr[nc];
cont = 0;
while (cont < nc) {
fr[cont] = fi[cont] / totalfi;
cont++;
}
float frp[nc];
cont = 0;
while (cont < nc) {
frp[cont] == fr[cont] * 100;
cont++;
}
float fac[nc];
cont = 1;
fac[0] = fi[1];
while (cont < nc) {
fac[cont] = fac[cont-1] + fi[cont];
cont++;
}
float facp[nc];
cont = 0;
while (cont < nc) {
facp[cont] = fac[cont] * 100;
cont++;
}
float fal[nc];
fal[0] = 100;
cont = 1;
while (cont < nc) {
fal[cont] = fal[cont-1] - fi[cont-1];
cont++;
}
float falp[nc];
cont = 0;
while (cont < nc) {
falp[cont] = fal[cont] * 100;
cont++;
}
printf("\n\n-----------------------------------------------------------------\n");
printf(" XI | FI | FR | FR% | FAC | FAC | FAL | FAL \n");
printf("-----------------------------------------------------------------\n");
cont = 0;
while (cont < nc) {
printf ("%2.2f l-> %2.2f | %2.2f | %2.2f | %2.2f | %2.2f | %2.2f | %2.2f \n",li[cont],ls[cont],fi[cont],fr[cont],frp[cont],fac[cont],facp[cont],fal[cont],falp[cont]);
cont++;
}
system("pause");
}
int main () {
char escolha1;
printf("1 - Tabela tipo B\n");
printf("2 - Sair\n\n>> ");
scanf("%c",&escolha1);
if (escolha1 == '1') {
tipoB();
}
else {
system("pause");
}
return 0;
} Enfim, obrigado pela atenção e caso alguém possa me ajudar eu agradeço.