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

Operadores

10/18
Recursos

Aportes 29

Preguntas 3

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

que bueno que ya al fin renovaron los cursos de C++

Les dejo mi c贸digo 馃槂

#include <iostream>

using namespace std;

int main() {
  const int a = 45;
  const int b = 30;
  const int NUMBERS[] = {24, 40, 7};

  const int sum = a + b;
  const int res = a - b;
  const int div = a / b;
  const bool mayo = a > b;

  cout << sum << endl;
  cout << res << endl;
  cout << div << endl;
  cout << mayo << endl;
  cout << sizeof(NUMBERS) << endl;
}

En la clase, muestran los operadores comunmente utilizados. Hay muchos mas 馃槷
.
Pueden checkear ac谩 para ver todos los operadores integrados en C**: https://docs.microsoft.com/es-es/cpp/cpp/cpp-built-in-operators-precedence-and-associativity?view=msvc-160
.
Nota: Hay tanto b谩sicos como avanzados

En este caso como la lista (array) es de tipos int, tambi茅n podemos calcular la cantidad de elementos haciendo:

sizeof(edades) / sizeof(int)

y si fuera una lista de doubles:

sizeof(lista) / sizeof(double)

Pensaba que sizeof() era una funcion en vez de un operador

Wow! es incre铆ble cuan complejo es el solo saber cuantos elementos tiene un array con c++.

Con nuestro amigo javascript solo seria array.length y listo xD

Operadores

En C++ existen 5 tipos de operadores:

  1. Aritmeticos: Operadores matematicos que nos permiten hacer cosas como sumar, restar, etc. Los m谩s usados son +, -, *, /, %
    Ejemplo:
#include <iostream>
using namespace std;
int main() {

聽 聽 int a = 2;
聽 聽 int b = 3;
聽 聽 cout << a + b;

} 
  1. Comparaci贸n: Como lo dice su nombre nos sirve para comparar dos datos y verificar la veracidad de esta comparaci贸n, la cual nos devuelve su resultado a traves de un dato boleano. Es decir, 1 para verdadero y 0 para falso. Los m谩s usados son == , >, <, >=, <=.
    Ejemplo:
#include <iostream>
using namespace std; 
int main() {

聽 聽 int a = 2;
聽 聽 int b = 3;
聽 聽 bool c = a < b;
聽 聽 cout << c;

} 

Como podemos ver, usamos la variable c para verificar si 鈥渁 < b鈥. Lo cual es verdadero, entonces se imprime un 1 en pantalla.

  1. Asignaci贸n: Sirven para modificar el valor de una variable. Los m谩s usados son =, +=, -=, *=, /=, ++, 鈥 ```
#include <iostream>
using namespace std;
int main() {

聽 聽 int a = 2;
聽 聽 int b = 3;
聽 聽 a += 1;
聽 聽 cout << a;

} 

En este caso usamos el operador 鈥+=鈥, el cual quiere decir, al valor de nuestra variable sumale cierta cantidad. Entonces, se imprime 3 en pantalla.

  1. Logicos: Son operadores que realizar operaciones booleanas. Es decir, al igual que los de comparaci贸n, sirven para ver la veracidad de una afirmaci贸n escrita con estos operadores. Los m谩s usados son &&, ||, ! ```

  2. Otros: Operadores de otro tipo. Los m谩s usados son sizeof, <<, >> ```

#include <iostream>
using namespace std;
int main() {

聽 聽 int edades[] = {24, 40, 7};
聽 聽 cout << sizeof(edades)/sizeof(edades[0]);
聽 聽 
}

Usamos el operador sizeof, el cual nos da el valor del tama帽o de cierto dato en bytes. Para este caso, tomamos el tama帽o de la variable completa tipo lista y dividimos este valor por uno de sus elementos individuales.

Tarea

false = 0
true = 1

Fibonacci

No pod铆a falta mi fibonacci al aprender un nuevo lenguaje de programaci贸n. 馃槑

#include <iostream>

using namespace std;

int main() {
  int a = 0;
  int b = 1;

  const int sequence_length = 10;

  for (int i = 0; i < sequence_length; i++)
  {
    cout << a << endl;
    int temp = a;
    a = b;
    b = temp + b;
  }

  return 0;
}

Un verdadero gusto volver, regresar a las bases 馃槂 con C++ y tener tb posibilidad de conocer a la comunidad que se interesa por este lenguaje, soy de Argentina, y estoy a disposici贸n, 茅xitos!.

Aqui esta mi aporte, un poco de todo

#include <iostream>

using namespace std;

int main(){

    const int a = 20;
    const int b = 5;
    const int c = 32;
    const int d = 14;
    int numeros[] = {20,5,14,32,10,45};

    cout << "SUMA" << endl;
    cout << a + c + d << endl;
    cout << c + b << endl;
    
    cout << "RESTA" << endl;
    cout << a - d - b << endl;
    cout << b - c << endl;

    cout << "MULTIPLICACION" << endl;
    cout << a * b * c << endl;
    cout << d * c * a << endl;

    cout << "DIVISION" << endl;
    cout << a / b << endl;
    cout << float(c) / float(d) << endl;

    cout << "CONTADOR DE LA LISTA" << endl;
    cout << sizeof(numeros)/4 << endl;


}

Para que se muestre true / false, en vez de 1 / 0

#include <iostream>

using namespace std;

int main()
{
	int a = 2;
	int b = 3;
	bool c = false;

	c = a < b;

	cout << boolalpha << c << endl;
}

**C脫DIGO DE OPERADORES EJEMPLOS Y ANOTACI脫NES: **

#include <iostream>
using namespace std;

int main(){
    //OPERADOR ARITMERICO
    int x = 12;
    float y = 3.1416;
    float z = x - y;
    cout << z << endl;

    //OPERADOR RELACIONALES DE TRUE AND FALSE
    bool relations = x > y;
    cout << relations << endl;
    // Imprime un 0 o 1 booleano true= 1 en binario o false = 0 en binario porque C++ es un lenguaje de bajo nivel 

    //OPERADORES DE ASIGNACI脫N 
    /*Asignan un nuevo valor a la variable apartir del valor anterior m谩s un cambio que queramos agregar */
    x *= 10; // la variable x por 10  = 120 
    cout << x << endl;

    //Size Of
    /*Son operadores especiales dentro de C++ que nos perimite saber cosas sobre las variables.
    En este caso size of obtiene el tama帽o en bits de un valor de un dato*/
    int b =  2;
    cout << "El tamano del valor de 2 es de: " << sizeof(b) << " bits" <<endl; // Esto es util por que sizeof nos permite realizar alguna operaciones por ejemplo con listas 
    //Ejemplo de utilidad de sizeof: si yo quisiera saber cuantos elemento tiene una lista podr铆a utlizar sizeof y una operaci贸n de divisi贸n para obtener cuantos elementos tiene de forma inteligente a continuaci贸n de la realizaci贸n de esto:
    int ages_list[] = {12, 18, 32, 4, 57};
    //驴Cu谩ntos elementos tiene la lista ages_list?
    cout << "Cantidad de la lista: " << sizeof(ages_list) / sizeof(ages_list[0]) << " elementos" << endl; //obtengo 5 elementos 
}

Existe otro operador que es << y >> que sirven para correr los bits de una variable. Por ejemplo, si en una variable i tengo el numero 5 (en binario 00000101) y ejecuto:

 n =  i << 2;

el operador << asigna a n 20 (que es 00010100 en binario). Por el contrario >> corre los bits a la derecha.

les dejo mi codigo con algunas anotaciones que agregue,agregue algunas mas que me dio un profesor en la carrera

#include <iostream> //in out stream
#include <stdio.h> //Standard Input and Output
#include <conio.h> //conplementative Input and Output
#include <stdlib.h> //Standard Library esta libreria revisa la sintaxis del codigo

using namespace std;

int main(){
    int a = 2; //se asigna a la letra "a" el valor de "2"
    int b = 3; //se asigna a la letra "b" el valor de "b"
    //int c = a + b; //se asigna a la letra "c" un resultado de un operador aritmetico de 2 valores
    /*bool c = a > b; //se cambio el tipo de dato a booleano ya que se convirtio en una comparacion de verdadero o falso
    representado por 1(T) y 0(F) */
    int c = a+=1; //se esta pidiendo que al valor "a" se le sea sumado un numero, en este caso el "1"
    //este tambien puede representarse como "a += 1;" para no asignar una variable "c"
    //cout << c; //se pide que nos arroje el valor de "c"
    int edades[] = { 23, 23, 4545, 345, 234 };
    //sizeof nos mostrara cuanto tama帽o usa una variable
    cout << sizeof(edades) / sizeof(0); /*sizeof esta contando todos los valores de la lista "edades" y lo divide entre otro
     sizeof para mostrar cuantos valores hay dentro de la tabla */

}
#include <iostream>

using namespace std;

int main()
{
    int a=2, b=3;
    int edades[]={24, 40, 7};
    cout <<sizeof(edades)/sizeof(edades[0])<<" Elementos almacenados"<<endl;
    return 0;
}

comparto mi codigo

#include <iostream>

using namespace std;

int main() {
    int op1 = 5;
    int op2 = 3;

    int suma           = op1 + op2;
    int resta          = op1 - op2;
    int multiplicacion = op1 * op2;
    int division       = op1 / op2;
    int residuo        = op1 % op2;

    cout << "operaciones aritmeticas basicas" << endl;
    cout << "operando1: " << op1 << endl;
    cout << "operando2: " << op2 << endl;
    cout << endl;
    cout << "suma           " << op1 << " + " << op2 << " = " << suma << endl;
    cout << "resta          " << op1 << " - " << op2 << " = " << resta << endl;
    cout << "multiplicacion " << op1 << " * " << op2 << " = " << multiplicacion << endl;
    cout << "division       " << op1 << " / " << op2 << " = " << division << endl;
    cout << "residuo        " << op1 << " % " << op2 << " = " << residuo << endl;
    cout << endl;
    cout << endl;

    bool menorQue      = op1 <  op2;
    bool menorIgualQue = op1 <= op2;
    bool igual         = op1 == op2; 
    bool diferente     = op1 != op2;   
    bool mayorQue      = op1 >  op2;
    bool mayorIgualQue = op1 >= op2;

    cout << "operaciones de comparacion" << endl;
    cout << "bool = true se imprime como 1 y bool = false se escribe como 0" << endl;
    cout << "operando1: " << op1 << endl;
    cout << "operando2: " << op2 << endl;
    cout << endl;
    cout << "menor     " << op1 << " <  " << op2 << " = " << menorQue << endl;
    cout << "menor que " << op1 << " <= " << op2 << " = " << menorIgualQue << endl;
    cout << "igual     " << op1 << " == " << op2 << " = " << igual << endl;
    cout << "diferente " << op1 << " != " << op2 << " = " << diferente << endl;
    cout << "mayor     " << op1 << " >  " << op2 << " = " << mayorQue << endl;
    cout << "mayor que " << op1 << " >= " << op2 << " = " << mayorIgualQue << endl;
    cout << endl;
    cout << endl;

    int op10  = 10;
    int op10Inicial = op10;
    op10++;

    int op20  = 20;
    int op20Inicial = op20;
    op20--;

    int op30  = 30;
    int op30Inicial = op30;
    op30 += 8;
    
    int op40  = 40;
    int op40Inicial = op40;
    op40 -= 8;

    int op50  = 50;
    int op50Inicial = op50;
    op50 *= 8;

    int op60  = 60;
    int op60Inicial = op60;
    op60 /= 8;

    int op70  = 70;
    int op70Inicial = op70;
    op70 %= 8;

    cout << "operaciones de asignacion" << endl;
    cout << "autoincremento       inicial = " << op10Inicial << "    op10++    da como resultado: " << op10 << endl;
    cout << "autodecremento       inicial = " << op20Inicial << "    op20--    da como resultado: " << op20 << endl;
    cout << "sume y asigne        inicial = " << op30Inicial << "    op30 += 8 da como resultado: " << op30 << endl;
    cout << "reste y asigne       inicial = " << op40Inicial << "    op40 -= 8 da como resultado: " << op40 << endl;
    cout << "multiplique y asigne inicial = " << op50Inicial << "    op50 *= 8 da como resultado: " << op50 << endl;
    cout << "divida y asigne      inicial = " << op60Inicial << "    op60 /= 8 da como resultado: " << op60 << endl;
    cout << "residuo y asigne     inicial = " << op70Inicial << "    op70 %= 8 da como resultado: " << op70 << endl;
    cout << endl;
    cout << endl;
    
    
    
    int numeros[] = {1, 1, 2, 3, 5, 8, 13, 21};

    cout << "operador sizeof()" << endl;
    cout << "numeros[] = {1, 1, 2, 3, 5, 8, 13, 21}" << endl;
    cout << endl;
    cout << "sizeof numeros[0]    : " << sizeof(numeros[0]) << endl;
    cout << "sizeof numeros       : " << sizeof(numeros) << endl;
    cout << "elementos en  numeros: " << sizeof(numeros) / sizeof(numeros[0]) << endl;
}   

Hola Diana, gracias por la explicaci贸n de como se obtiene el tama帽o de un arreglo, en los cursos de C, ya hab铆a visto el operador sizeof pero no sabia el porque se hac铆a la divisi贸n.

Hola compa帽eros por si les sirve les dejo esta pagina sobre el lenguaje c++ te explica muy bien cosas que no entendemos aqui en la clase. Saludos https://www2.eii.uva.es/fund_inf/cpp/temas/1_introduccion/introduccion.html

How to know the size of a C++ list

Dejo un c贸digo con lo visto en clase y unos operadores m谩s.

#include <iostream>

using namespace std;

int main() {

    //Se declaran las variables como 2 enteros
    int n1 = 2;
    int n2 = 3;

    cout << "El primer valor es " << n1 << endl;
    cout << "El segundo valor es " << n2 << endl;

    //Operadores aritm茅ticos
    //cout << n1 + n2 << endl;    Se puede hacer la suma en cout   
    int r1 = n1 + n2;
    cout << "La suma de las variables da como resultado " << r1 << endl;

    r1 = n1 * n2;
    cout << "La multiplicaci贸n de las variables da como resultado " << r1 << endl;

    r1 = n1 - n2;
    cout << "La resta de las variables da como resultado " << r1 << endl;

    //Operadores de comparaci贸n
    bool r2 = n1 < n2;
    cout <<"驴Es "<< n1 <<" < " << n2 << " ? La respuesta da "<< r2 << endl;

    r2 = n1 > n2;
    cout <<"驴Es "<< n1 <<" > " << n2 << " ? La respuesta da "<< r2 << endl;
    
    r2 = n1 == n2;
    cout <<"驴Es "<< n1 <<" igual a " << n2 << " ? La respuesta da "<< r2 << endl;

    //Operadores de asignaci贸n
    n1 += 1;
    cout <<"El nuevo valor de n1 es "<< n1 << endl;

    //sizeof() nos permite obtener el tama帽o en bytes de un dato
    cout << "La variable n1 ocupa " << sizeof(n1) << " bytes de tama帽o"<< endl;

    //Calcular cu谩ntos elementos tiene una lista
    int edades[] = {24, 40, 7};
    int n_elementos = sizeof(edades) / sizeof(edades[0]);
    cout << "La lista edades tiene " <<n_elementos << " elementos " << endl;

}

sizeof(lista)/sizeof(lista[0]) cumple la misma funcion que
strlen(lista) pero este solo funciona en una lista de carateres
sizeof(lista)/sizeof(lista[0]) es solo para una lista de nuemros

Utilice los siguientes operadores: asignaci贸n (=,*=), l贸gicos (&&,||,!=) y aritm茅tico (%).

Se que probablemente alguno tenga la misma curiosidad que tuve yo sobre dividir entre dos numeros enteros y pretender como resultado un decimal.

La verdad es que es una idea equivocada que bueno, apenas me vengo a enterar.
Sucede que si realizas dicha division dara como resultado 0 entero.

int a = 2;
int b = 3;
double c = a/b;
cout << c;

Esto es debido a que en C++ no realiza las operaciones con tipos distintos de variables; el convierte una de la dos variables para tener un mismo tipo de variable.

Por eso, para obtener un resultado mas acorde a los numeros decimales, debemos saber si existe la posibilidad de puedan haber numeros decimales y convertir ambas o una de las variables en double o float.

int a = 2;
double b = 3;
double c = a/b;

cout << c;