Me ajudem aqui, por que não está funcionando o código assim ?

08/03/2016

2

2. Implementar uma função que receba como parâmetro um vetor de números reais (vet) de tamanho n e retorne quantos números negativos estão armazenados nesse vetor. Essa função deve obedecer ao protótipo:
int negativos (int n, float *vet);

#include "stdafx.h"

int Negativos(int n, float *vet) {	
	for (int i = 0; i < 5; i++) {
		if ((*vet + i) < 0) {
			n++;
		}
	}

	return n;
}


int main()
{
	float vetor[5];
	char Cespecial = 248;

	for (int i = 0; i < 5; i++) {
		printf("\nDigite o %d%c numero do vetor: ", i + 1, Cespecial);
		scanf_s("%f", &vetor[i]);
	}

	printf("\nNumero de negativos no vetor: %d\n\n", Negativos(0, &vetor[0]));

    return 0;
}
Responder

Posts

08/03/2016

Igor Guedes

JA ACHEI A SOLUÇÃO DA SEGUINTE MANEIRA:

// ConsoleApplication1.cpp : Defines the entry point for the console application.
//
/*ALUNO: Igor Nascimento Guedes - FTEC Eng. da Computação

- Programa desenvolvido no VISUAL STUDIO 2015

2.	Implementar uma função que receba como parâmetro um vetor de números reais (vet) 
de tamanho n e retorne quantos números negativos estão armazenados nesse vetor. 
Essa função deve obedecer ao protótipo:

int negativos (int n, float *vet);

*/

#include "stdafx.h"

int Negativos(int n, float *vet) {	
	
	for (int i = 0; i < 5; i++) {
        //Aqui ao invés de usar vet + i, posso tratar vet como tratei o vetor usando vet[i]
		if (vet[i] < 0) {
			n++;
		}
	}

	return n;
}

int main()
{
	float vetor[5];
	char Cespecial = 248;

	for (int i = 0; i < 5; i++) {
		printf("\nDigite o %d%c numero do vetor: ", i + 1, Cespecial);
		scanf_s("%f", &vetor[i]);
	}
        
     //Aqui ao passar o vetor como parametro NÃO precisa do & pois um vetor ja é um ponteiro
	printf("\nNumero de negativos no vetor: %d\n\n", Negativos(0, vetor));

    return 0;
}

Responder