No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de C++ Básico

Curso de C++ Básico

Diana Martínez

Diana Martínez

Qué son las funciones

16/18
Recursos

Aportes 9

Preguntas 1

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

Venga un tema súper importante, de aquí se desprenden las estructuras de datos, la recursividad,etc. Siento que falto mucho por detallar que pasa cuando una función no devuelve un valor pero bueno también esta la parte de ser autodidactas.

Les dejo mi código:

#include <iostream>

using namespace std;

int sum(int x, int y = 2) { return x + y; }
int res(int x, int y = 2) { return x - y; }
int mul(int x, int y = 2) { return x * y; }

int main() {
  cout << sum(3, 3) << endl;
  cout << res(3, 3) << endl;
  cout << mul(3, 3) << endl;
}

Algoritmo de búsqueda binaria.

Decidí poner en práctica las funciones en C++ haciendo el algoritmo de búsqueda binaria.

#include <iostream>

using namespace std;


/**
 * Find the index of a number into an sorted array.
 *
 * Time complexity: O(log n) where n is the size of the given collection.
 * Space complexity: O(1)
 *
 * @param target Number to search.
 * @param source Collection of numbers sorted.
 * @param length size of the collection.
 * @returns index Index of the number, returns -1 if the number was not found.
 */
int binary_search(int target, int source[], int length) {
    if (length <= 0) {
        return -1;
    }

    int middle;
    int left_pointer = 0;
    int right_pointer = length;

    while (left_pointer <= right_pointer) {
        middle = (left_pointer + right_pointer) / 2;

        if (source[middle] == target) { 
            return middle;
        }

        if (target < source[middle]) {
            right_pointer = middle - 1;
        } else if (target > source[middle]) {
            left_pointer = middle + 1;
        }
    }

    return -1;
}

int main() {
    int data[7] = {1, 2, 3, 4, 5, 6, 7};
    const int length = (sizeof(data) / sizeof(data[0])) - 1;

    cout << binary_search(4, data, length) << endl;  // 3

    return 0;
}

aqui esta mi codigo para obtener areas y volumenes de cubos, y de cilindros. les reto a completar la parte de un prisma y de una esfera.

#include <iostream>
using namespace std;

//funciones para un cilindro
float A1(float r, float h) //funcion numero 1 para el area del rectangulo
{
    float S;
    S = 2*3.1415*r*h;
    return S;
}  
float A12(float r, float h) //funcion numero 2 para el area del circulo 
{
    float C;
    C = 2*3.1415*(r*r); 
    return C;
}   
float V(float r, float h)
{
    float vol;
    vol = 3.1415*r*r*h;
    return vol;
}
//funciones para un  cubo 
float S(float b)
{
    float s;
    s = b*b*6;
    return s;
}
float A21(float b)
{
    float a21;
    a21 = b*b*b;
    return a21;
}
//funciones para un prisma

//funciones para una esfera

//funcion principal
int main(int argc, char const *argv[])
{
    //usos del switch
    int option;
    cout <<"ingrese un numero para cada proceso"<<endl;
    cout <<"1 para el area, superficie y volumen de un cilindro"<<endl;
    cout <<"2 para el area, superficie y volumen de cubo "<<endl;
    cout <<"3 para el area, superficie y volumen de prisma"<<endl;
    cout << "4 para el area, superficie y volumen de una esfera"<<endl;
    cin >> option ;
    switch (option)
    {
    case 1://cilindro
        float SC, r, h, Vol;
        cout << "ingrese el valor del radio r"<< endl;
        cin>>r;
        cout<<"ingrese el valor de la altura"<<endl;
        cin>>h;
        SC = A1(r, h) + A12(r,h);//ponemos entre parentesis las variables que ingresamos 
        cout << "la superficie del cilindro es: " << SC << endl;
        Vol = V(r,h);
        cout << "el volumen del cilindro es:"<< Vol << endl;
        break;
    case 2: //cubo
        float v2, b, s2;
        cout << "ingrese el valor de la base b"<< endl;
        cin>>b;
        s2 = S(b);//ponemos entre parentesis las variables que ingresamos 
        cout << "la superficie del cubo es: " << s2 << endl;
        v2 = A21(b);
        cout << "el volumen del cubo es:"<< v2 << endl;
        break;
    case 3: //prisma
        cout <<"option 3";
        break;

    case 4: //esfera
        break;
    default:
        cout <<"opcion no valida";
        break;// los breaks terminan al switch 
    }
    return 0;
}

funciones pueden declararce de dos maneras :
–una que te retorna un valor :
ejemplo :
int nombre_funcion(variables){

return variable que tu quieras;
}
float nombre_funcion(variables){

return variable que tu quieras;
}
char nombre_funcion(variables){

return variable que tu quieras;
}
–devuelve varios valores
void(int &variable float &variable2){

}

Una lista con los números pares que hay del 1 al 10, al cuadrado.

int square(int a) {
    return a * a;
}

int main() {
    int numbers_list[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    int list_length = sizeof(numbers_list) / sizeof(numbers_list[0]);
    for (int i = 0; i < list_length; i++) {
        if (numbers_list[i] % 2 == 0) {
            cout << square(numbers_list[i]) << endl;
        }
    }
}

Dejo acá mi código, pueden dejar recomendaciones de optimizacion.

#include <iostream>

using namespace std;

int promedio(float a, float b, float c,
             float d)
{
    float suma = a + b + c + d;
    float promedio = suma / 4;
    return promedio;
}

int main()
{
    float nota1;
    float nota2;
    float nota3;
    float nota4;
    char respuesta = 'y';
    do
    {
        cout << "=======Bienvenido========" << endl
             << "-Saca tu promedio ingresando tus notas" << endl;
        cin >> nota1;
        cin >> nota2;
        cin >> nota3;
        cin >> nota4;
        cout << "Estas son tus notas: " << endl
             << nota1 << endl
             << nota2 << endl
             << nota3 << endl
             << nota4 << endl
             << "Son Correctas? (y/n): ";
        cin >> respuesta;
        if (respuesta == 'y')
        {
            cout << "Tu promedio es de: " << promedio(nota1, nota2, nota3, nota4) << endl;
        }
        else
        {
            char respuesta = 'n';
        }
    } while (respuesta == 'n');
}

Aporte:

#include <iostream>

using namespace std;

int suma(int a, int b)
{
    return a + b;
}

int main()
{
    int number1;
    int number2;
    cout << "Ingrese los numeros a operar: ";
    cin >> number1;
    cin >> number2;
    cout << "Resultado: " << suma(number1, number2) << endl;
}

Ejemplo de funcion de suma en la que el usuario ingresa los valores

#include<iostream>

using namespace std;

int sum(int a, int b){
return a + b;
}
int main()
{
int c;
int d;
cout << "eliga un numero " << endl;
cin >> c;
cout << "eliga otro numero " << endl;
cin >> d;
cout << "La suma de los valores es " << sum(c, d) << endl;
}