Tenho que fazer o seguinte exercício, mas tenho muita dificuldade em declarar funções
Escreva uma função em linguagem C que receba um número inteiro, e que retorne 1 se o número for triangular ou 0 se não for triangular, além de um vetor de inteiros (por referência) contendo: a sequência numérica caso o número inteiro recebido seja triangular, ou zeros em caso contrário: int verifica_triangular(int n, int vetor[]); 2)Escreva uma função em linguagem C que preencha um vetor de números inteiros, com dimensão 200, sem números repetidos; void preenche_vetor(int vetor[], int tamanho); 3)Com as duas funções acima, crie um programa em linguagem C que, a partir do vetor preenchido utilizando a função escrita no item 2), mostre um relatório, como o descrito abaixo, para cada número deste vetor que for triangular: Exemplo para um vetor 0 54 2 24 236 288 120 106 38 196 210 280 6 Saída de tela 24 é o produto de 2 * 3 * 4 120 é o produto de 4 * 5 * 6 210 é o produto de 5 * 6 * 7 6 é o produto de 1 * 2 * 3
Fiz o seguinte programa:
#include <stdio.h>
#define Q 200
int verifica_triagular (int, int []);
void preencher_vetor(int [], int);
int main()
{
int vetor[4], n, numero;
preencher_vetor(vetor, 200);
if (verifica_triangular (n, Q)){
printf("%d e' o produto %d*%d*%d\n", numero, n, n+1, n+2);
}else
return 0;
}
int verifica_triangular(int n, int vetor[]){
int a= 0, b=1, c=12;
do
{
if (a*b*c < n)
{
a++;
b++;
c++;
}
}while (a*b*c <n);
if (a*b*c ==n)
{
vetor [0]=a;
vetor [1]=b;
vetor [2]=c;
return 1;
}else{
vetor [0]=0;
vetor [1]=0;
vetor [2]=0;
return 0;
}
}
void preencher_vetor(int v[], int q)
{
srand(time(NULL));
int x, i, j, n;
i = 0;
while (i <= Q){
x = rand()/10;
n = 0;
for(j = 0; j < i; j++)
if (v[j] == x){
n = 1;
j = i + 1;
}
if (n == 0) {
v[i] = x;
i++;
}
}
}
Ele executa, mas na compilação não apresenta nada. Alguém poderia me ajudar?