Problema interviu C++

Salutare,

Am fost ieri la un interviu la o multinationala in TM si am avut niste exercitii de C/C++ printre care 2 exercitii care necesau dezvoltarea a doua functii.

Ex1. - dezvoltati o functie cu 3 parametrii cu numere aleatorii care sa reprezinte unghiurile unui triunghi.

Daca cele 3 numere formeaza unghiurile unui triunghi atunci functia va returna 1 , iar daca nu formeaza unghiurile unui triunghi sa returneze 0.

Ex2 - dezvolta o functie care sa reprezinta un sir de numere intregi. Sa se calculeze media aritmetica a numerelor negative din functie si sa se returneze rezultatul (aici am fost foarte confuz si cred ca mai trebuie inca o conditie dar nu imi aduc aminte).

Imi puteti da un mic ajutor in caz ca mai prind astfel de intrebari la interviuri pe viitor.

Ma intereseaza mai mult cum creez functia respectiva - partea logica.

Multumesc

Simplu:

Ex1.

int verificaTriunghi(int a, int b, int c)
{
if(a <= 0 || b <= 0 || c <= 0)
return 0;
return (a+b+c==180);
}

Ex2.

int SumaNegative(int[] vector)
{
int cnt =0;
int suma = 0;
int size = sizeof vector // nu mai stiu cum se ia sizeul
for(int i=0;i<size;i++)
{
if(vector[i] < 0)
{
suma+=vector[i];
cnt++;
}
}
return suma/cnt;
}

Bafta!
Dc sunt greseli sa ma corectati.

Dacă tot e vorba de C++, băgaţi şi voi elemente de C++ :slight_smile:

#include <iostream>

int media_aritmetica(const std::initializer_list<int> &numere)
{
	int rezultat = 0, suma = 0, n = 0;
	
	for(auto numar : numere)
	{
		if(0 > numar)
		{
			n++;
			suma += numar;
		}
	}
	
	if(0 < n)
		rezultat = suma / n;
	
	return rezultat;
}


int main()
{
	std::cout << media_aritmetica({-1, -2, -3, 4, 5, 6, 7}) << std::endl;
	return 0;
}

http://cpp.sh/95fd4

4 Likes