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

Ciclo for

14/18
Recursos

Aportes 44

Preguntas 2

Ordenar por:

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

Por si no lo conocian también existe el for range en c++

#include <iostream>

using namespace std;

int main(int argc, char const *argv[])
{
    int lista[] = {100, 200, 300};
    for (auto &&i : lista)
    {
        cout << i << endl;
    }

    return 0;
}

Les dejo el código y el reto 😃

  • Parte Uno:
#include <iostream>

using namespace std;

int main() {
  int limit;
  cout << "Enter the max number: ";
  cin >> limit;
  for (int i = 0; i <= limit; i++) {
    cout << i << endl;
  }
}
  • Parte Dos:
#include <iostream>

using namespace std;

int main() {
  int list[] = {1, 20, 25};
  int limit = sizeof(list) / sizeof(list[0]);
  for (int i = 0; i < limit; i++) {
    cout << list[i] << endl;
  }
}
  • El Reto:
#include <iostream>

using namespace std;

int main() {
  int limit;
  cout << "Enter the max number: ";
  cin >> limit;

  for (int i = 1; i < limit; i++) {
    if (i % 2 == 0) {
      cout << i << endl;
    }
  }
}

Se les ocurre otra solución?

Tuve que investigar un poco para el reto, ya que no conocia del modulo %.

#include <iostream> // obtener datos de entrada o de salida
using namespace std; //te permite utilizar, en el código, 
                        //nombres estandar de c++, para poder importarlas 
                        //sin necesidad de escribir desde donde la estamos importando
//mostrar solo los numeros pares
int main() {
    int limit;
    cout << "Introduzca su valor maximo: ";
    cin >> limit;
    for (int i = 2; i < limit; i++)
    {
        if(i % 2 == 0)
        {
            cout << i << endl;
        }
    }
}
#include <iostream>

using namespace std; 

int main(){
	int numbers[] = { 
	1, 	2,	3,	4,	5,	6,	7,	8,	9,	10,
	11,	12,	13,	14,	15,	16,	17,	18,	19,	20,
	21,	22,	23,	24,	25,	26,	27,	28,	29,	30,
	31,	32,	33,	34,	35,	36,	37,	38,	39,	40,
	41,	42,	43,	44,	45,	46,	47, 48,	49,	50,
	51,	52,	53,	54,	55,	56,	57,	58,	59,	60,
	61,	62,	63,	64,	65,	66,	67,	68,	69,	70,
	71,	72,	73,	74,	75,	76,	77,	78,	79,	80,
	81,	82,	83,	84,	85,	86,	87,	88,	89,	90,
	91,	92,	93,	94,	95,	96,	97,	98,	99,	100 };
	
	int limite = sizeof(numbers)/sizeof(numbers[0]);
	for(int i = 0; i < limite ; i++){
		if(numbers[i]%2==0){
			cout<< numbers[i] << endl;
		}
	}
}

Mi código del RETO 🙂

<	
#include <iostream>

using namespace std;

int main () {
	int limite = 0;
	cout << "Ingrese el numero limite: " << endl;
	cin >> limite;
	for (int i = 0; i <= limite; i += 2){
		cout << i << endl;
	}
}> 

Dejo mi código con 2 versiones del reto

#include <iostream>

using namespace std;

int main(){
    int limite;
    cout << "Ingresa un número: ";
    cin >> limite;
    for(int i = 0; i <= limite; i++){
        if(i % 2 == 0){
            cout << i << endl;
        }
    }
}
#include <iostream>

using namespace std;

int main(){
    int lista[] = {2, 5, 7, 8, 11, 14, 18, 21, 22};
    int limite = sizeof(lista) / sizeof(lista[0]);
    for(int i = 0; i < limite; i++){
        if(lista[i] % 2 == 0){
            cout << lista[i] << endl;
        }
    }
}

esto es como saber el la cantidad de elementos de un arreglo en c++ diferente a otros lenguajes comunes

Reto (2 alternativas)

Les comparto 2 alternativas para hacer el reto.

V1, usando un ciclo for y un if

#include <iostream>

using namespace std;

int main() {

    const int cantidad_de_numeros = 100;
    cout << "Primeros " << cantidad_de_numeros << " números pares" << endl;

    for (int i = 0; i < cantidad_de_numeros; i++) {
        if (i % 2 == 0) {
            cout << i << endl;
        }
    }
}

V2, usando ciclo for e incrementador de este mismo.

#include <iostream>

using namespace std;

int main() {

    const int cantidad_de_numeros = 100;
    cout << "Primeros " << cantidad_de_numeros << " números pares" << endl;

    for (int i = 0; i < cantidad_de_numeros; i += 2) {
        cout << i << endl;
    }
}

**Aquí va mi reto **

int lista[] = {4, 10, 20, 5 ,200, 400, 3 , 7 , 9};
    int limite =  sizeof(lista) / sizeof(lista[0]);
    //Obteniendo el tamaño total de la lista para solo 
    // iterar las veces necesarias

    for (int i = 0; i < limite; i++)
    {
        if (lista[i] % 2 == 0){
            cout << lista[i] << endl;
        }
        
    }

Vengo de Python, por lo que me resultó facil utilizar el operador modulo (%). Este operador nos da el resto de dividir dos numeros. En este caso si dividimos un número entre 2 y el resto es igual a cero, significa que es par.

#include <iostream>

using namespace std;

int main() {
    int list[] = {1, 2, 3, 4, 5, 6};
    int limite = sizeof(list) / sizeof(list[0]);

    for (int i = 0; i < limite; i += 1) { 
        if (list[i] % 2 == 0){
            cout << list[i] << endl;
        }
    }
}

Reto de la clase:

#include <iostream>
using namespace std;

// This list contains the numbers from 1 to 100.
int numbers[] = { 
1,     2,	3,	4,	5,	6,	7,	8,	9,	10,
11,	12,	13,	14,	15,	16,	17,	18,	19,	20,
21,	22,	23,	24,	25,	26,	27,	28,	29,	30,
31,	32,	33,	34,	35,	36,	37,	38,	39,	40,
41,	42,	43,	44,	45,	46,	47,     48,	49,	50,
51,	52,	53,	54,	55,	56,	57,	58,	59,	60,
61,	62,	63,	64,	65,	66,	67,	68,	69,	70,
71,	72,	73,	74,	75,	76,	77,	78,	79,	80,
81,	82,	83,	84,	85,	86,	87,	88,	89,	90,
91,	92,	93,	94,	95,	96,	97,	98,	99,	100 };
// Get list's elements.
int limite = sizeof(numbers) / sizeof(numbers[0]);

int main () {

    // for loop to through list and get list's elements.
    for (int i = 0; i < limite; i++) {

        // if conditional to only display even numbers.
        if (numbers[i] % 2 == !0) 
        {
            continue;
        }
        cout << numbers[i] << endl;
        
    }
    
}

Para resolver la tarea, use módulo (%), este operador nos devuelve 1 si en la división existe un residuo. Si el residuo es 0, es decir es par, devuelve 0.

#include <iostream>
using namespace std;

int main(){
    // el ciclo for es un iterable

    int lista[] = {1,28,32,12,23,46,47,28,19,160};       // lista de números
    int tam_lista = sizeof(lista)/sizeof(int);  // obtenemos la cantidad de elementos de nuestra lista

    //   variable a iterar; condicional o sentencia a evaluar ; paso
    for (int i = 0; i < tam_lista; i+=1 ){
        if (lista[i] % 2 == 0){                 // condicional, usando modulo (%) para evaluar si la división tiene residuo 0
            cout << lista[i] << endl;
        }
    }
}

Reto ❤️

Completando el reto…

#include <iostream>

using namespace std;

int main() {
    int range;
    cout << "Escribe un número de 1 - 100: ";
    cin >> range;

    if(range >= 1 && range <= 100) {
        for(int i = 0; i <= range; i++) {
            if(i % 2 == 0) {
                cout << i << endl;
            }
        }
    }
    else{
        cout << "Write something!";
    }

}

comparto mi codigo

#include <iostream>

using namespace std;

int main() 
{
    cout << endl;
    cout << endl;
    cout << "imprime los numeros de 0 hasta 9 de uno en uno" << endl;
    cout << endl;
    for ( int i = 0; i < 10; i++)
    {
        cout << "valor de i: " << i << endl;
    }

    cout << endl;
    cout << endl;
    cout << "imprime los numeros de 0 hasta 9 de dos en dos" << endl;
    cout << endl;
    for ( int i = 0; i < 10; i += 2)
    {
        cout << "valor de i: " << i << endl;
    }
    

    int lista[] = {1, 1, 2, 3, 5};
    int limite;
    limite = sizeof(lista) / sizeof(lista[0]);


    cout << endl;
    cout << endl;
    cout << "for multiplica cada miembro de la lista por 2" << endl;
    cout << "int lista[] = {1, 1, 2, 3, 5}" << endl;
    cout << endl;

    for ( int i = 0; i < limite; i++)
    {
        cout << "indice i: " << i << "  " << lista[i]*2 << endl;
    }

    cout << endl;
    cout << endl;
    cout << "break que rompe el for si el valor es 2 " << endl;
    cout << "int lista[] = {1, 1, 2, 3, 5}" << endl;
    cout << endl;
    for ( int i = 0; i < limite; i++)
    {
        if (lista[i] == 2) 
        {
            break;
        }
        else 
        {
            cout << "indice i: " << i << "  " << lista[i] << endl;
        }
    }
    

    cout << endl;
    cout << endl;
    cout << "continue ignora el valor si es 2 " << endl;
    cout << "int lista[] = {1, 1, 2, 3, 5}" << endl;
    cout << endl;
    for ( int i = 0; i < limite; i++)
    {
        if (lista[i] == 2) 
        {
            continue;
        }
        else 
        {
            cout << "indice i: " << i << "  " << lista[i] << endl;
        }
    }
}
#include <iostream>

using namespace std;

int main(){
    int lista[] = {1,2,3,4,5,6,7,8,9,10};


    for (auto &&i : lista){
        if(i%2==0){
            cout << i <<endl;
        }
    }
   
}
  • Mi reto
#include <iostream>

using namespace std;

int main()
{
    int limit;
    cout << "Introduce el numero maximo de la lista: ";
    cin >> limit;

    for (int i = 1; i <= limit; i++)
    {
        if (i % 2 == 0)
        {
            cout << i << endl;
        }
    }
}

Este es mi codigo del reto 😃

#include<iostream>

using namespace std;

int main ()
{
    int numeros[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 24, 33};
    int rango = sizeof(numeros) / sizeof(numeros[0]);

    for (int a = 0;a < rango; a += 1)
    {   
        int resultado = numeros[a] % 2;
        if (resultado == 0)
        {
            cout << numeros[a] << " es un numero par" << endl;
        }
        else 
        {
            cout <<numeros[a] << " es un numero impar" <<endl;
        }
        
    }


}
    

Mi programa en c++ que imprimelista hasta 98 numeros pares

 #include <iostream>

using namespace std;

int main()
{
    for( int i=0; i < 100; i+=1){
       if(i % 2 == 0){
        cout<<i<<endl; 
        }
    }
}

En mi maquina funciona…

#include <iostream>
// Incluyo librerias para mi numeros aleatorios
#include <time.h>
#include <stdlib.h>

using namespace std;

int main(int argc, char const *argv[])
{
    // Inicializo mis aletorios
    srand(time(NULL));

    int lista[10]; // Inicializando el vector de 10 posiciones, cpp me está matando!!!

    for (int i = 0; i < 10; i++)
    {
        lista[i] = (rand() % 100) + 1;
    }

    int longitud = sizeof(lista) / sizeof(int);

    for (int i = 0; i < longitud; i++)
    {
        cout << lista[i] << endl;
    }

    // for range
    for (auto &&i : lista)
    {
        cout << i << endl;
    }
    return 0;
}

Aquí un ejemplo con un operador ternario. El rango esta hardcodeado a un limite de valor 25

for (int i = 0; i < 25; i++) {
        i % 2 == 0 ? cout << i << endl : cout << "~" << endl;
    }

Solución del reto

#include <iostream>

using namespace std;

int main (){
	int i;
	int limit;
	cout<<"Escribe el valor máximo del contador de pares: ";
	cin>> limit;
	
	for(i=0; i<=limit; i+=1){
		if (i%2==0){
			cout<<i<<endl;
		}
		}
	}

Mi código:

#include<iostream>

using namespace std;

int main (){

        int numenteros;
        int entero = 0;
        int c = 1;

        cout<<"Digite la cantidad de enteros que quiere mostrar"<<endl;
        cin>>numenteros;

        for (int  i = 1; i <= numenteros ; i++){
                entero = entero + 2;

                cout<<c<<"° número:  "<<entero<<endl;
                c++;
        }
return 0;

}
#include <iostream>
using namespace std;

int main ()
{
        int n;
        cout << "Ingrese un numero para buscar los numeros pares\n";
        cin >> n;

        for (int i = 1; i <= n; i++)
        {
                if (i%2 == 0)
                        cout << i << " Es numero par\n";
        }

        return 0;
}
~    

Esta es la resolución de mi reto:

#include <iostream>

using namespace std;

int main() {
    int numeros = 0;
    cout << "Ingresa el número límite a iterar: ";
    cin >> numeros;
    for (int i = 0; i < numeros + 1; i += 1) {
        if ((i % 2) == 0) {
            cout << i << endl;
        }
    }
}

Dejo mi versión mejorada del programa que imprime listas. Este puede imprimir matrices.

#include <iostream>

using namespace std;

int main()
{
    int matrix[3][5] = {{0, 1, 6, 10, 880}, {90, 5, 14, 10, 0}, {19, 5, 1700, 8, 3}};

    int rows = sizeof(matrix[0]) / sizeof(matrix[0][0]); // 5
    int columns = sizeof(matrix) / sizeof(matrix[0][0]) / rows; // 3

    for(int i = 0; i < columns; i++)
    {
        for(int ii = 0; ii < rows; ii++)
        {
            if(matrix[i][ii] < 1000) {
                cout << '  ';
            }
            if(matrix[i][ii] < 100) {
                cout << '  ';
            }
            if(matrix[i][ii] < 10) {
                cout << '  ';
            }
            cout << matrix[i][ii] << '  ';

        }
        cout << endl;
    }


    return 0;
}

Reto

#include <iostream>

using namespace std;

int main()
{
  int list[] = {18, 17, 16};
  for (int i = 0; i < sizeof(list) / sizeof(list[0]); i++)
  {
    if (list[i] % 2 == 0)
    {
      cout << list[i] << endl;
    }
  }
}

Mi aporte a una solucion alternativa, 😃

#include <iostream>

using namespace std;

int main()
{
  int factor;
  cout << "Introduce a multiplication factor for the list: ";
  cin >> factor;
  int list[] = {18, 24, 16};
  for (int i = 0; i < sizeof(list) / sizeof(list[0]); i++)
  {
    cout << list[i] * factor << endl;
  }
}

Reto de la clase

#include <stdio.h>
#include <iostream>

using namespace std;

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


El reto de la clase consistía en mostrar la cantidad de números deseada por el usuario, pero, solo números pares, lo único que hice para resolverlo es hacer que el siclo iterara de 2 en 2 así solo se mostraran números pares entre el 0 y la cantidad pedida por el usuario…

int limite;
    cout << "limite: ";
    cin >> limite;
    for (int i = 0; i <= limite; i += 2) 
    {
        cout << i << endl;
    } 

Aqui mi reto!

Yo tenia un compa de la uni que utilizaba el for asi:

for (; condicion ;) {
	//Codigo
}

Como si de un While se tratase. No lo hagan, no es sano 🙃😂

Buenos dias! Adjunto el reto.

#include <iostream>
using namespace std;

int main()
{
   //Declaro mis varibles para paracticar el for
   int lista []={8,10,15,16,17,23,46};
   int i=0;

   //Pruebo el for primero solo que muestre sus numeros 
    cout<<"Los valores de la lista son:"<<endl;

   for ( i = 0; i < (sizeof(lista)/sizeof(lista[0])); i++)
   {
       cout<<lista[i]<<endl;
   }
    //Vuelvo a mi i a 0
   i=0;
    //Ahora pido que me arroje los valores pares de la lista
    cout<<"Los valores pares son: "<<endl;
   for ( i = 0; i <(sizeof(lista)/sizeof(lista[0])) ; i++)
   {
       if (lista[i]%2==0)
       {
           cout<<lista[i]<<endl;
       }
       
   }
   
 return 0;  


}

También comentar que me pareció muy útil usar la función sizeof() para recorrer enteramente los arreglos.

Saludos!

El reto con la lista

#include <iostream>

using namespace std;

int main(){
    int lista[] = {-31, -20, 1, 20, 300, 400};
    int limite = sizeof(lista)  / sizeof(lista[0]); 
    for (int i = 0; i < limite; i++) {
        if (lista[i] % 2 == 0){
             cout << lista[i] << endl;   
        }
    }

    return 0;

}

El reto con datos ingresados por el usuario y con rango para contar también con números negativos

#include <iostream>

using namespace std;

int main(){
    int inicio= 0;
    cout << "Ingresa el inicio para saber cuales numeros son pares : ";
    cin >> inicio;
    int final = 0;
    cout << "Ingresa el final para saber cuales numeros son pares : ";
    cin >> final;
    for (int i = inicio; i < final; i++) {
        if (i % 2 == 0){
            cout << i << endl;
        }
    }

    return 0;
} 

Mi aporte al reto de imprimir los #s pares:

#include <iostream>

using namespace std;

int main (){

    int num, limit;

    cout << "Write the limit:\n";
    cin >> limit;
    cout << "The even numbers for the limit given are:\n";

    for (num = 1; num <= limit; num++){
        if (num % 2 == 0)
            cout << num << "\n";
    }
    
}

El reto de imprimir todos los números pares desde el 0 hasta el límite que elija el usuario.

 /*Este programa muestra todos los numeros pares del 0 al 100*/

#include<iostream>

using namespace std;

int main(){
	int i, lim;
	cout << "Este programa imprime todos los numeros pares " << endl;
	cout << "desde el 0 hasta el limite que el usuario eliga." << endl;
	cout << "Introduzca el limite: ";
	cin >> lim;
	
	for(i = 0; i <= lim; i++ )
	{
		if(i % 2 == 0)
		{
			cout << i << endl;
		}
	}
}
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 << numbers_list[i] << endl;
    }
}

#include<iostream>
using namespace std;
int main (){
int lista[]={};
//int limite=sizeof(lista)/sizeof(lista[0]);
int limite;
cout<<"hasta que numero quiere llegar: "<<endl;
cin>>limite;
cout<<“los numeros son los cigientes”<<endl;
for (int i =0;i<limite;i+=2){
cout<<i<<endl;
}

return 0 ;  

}

Estoy extrañando demasiado el .length de js

#include <iostream>

using namespace std;

int main(){

	int lista [] = {100, 200, 300};
	int limite = sizeof(lista)/sizeof(lista[0]);
	for (int i = 0; i < limite; i++){
		if(lista[i] % 2 == 0)
			cout<<lista[i]<<endl;
	}
	//cout<<limite;
	return 0;
}