elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Multiplos del 5 con modulares en C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Multiplos del 5 con modulares en C  (Leído 5,883 veces)
estudiante_1

Desconectado Desconectado

Mensajes: 47


Ver Perfil
Multiplos del 5 con modulares en C
« en: 18 Julio 2015, 18:54 pm »

Hola, quisiera hacer un programa que me muestre los 20 primeros multiplos del 5. Sé hacerlo en el main pero a la hora de hacerlo con modulares no me sale, alguien puede ayudarme por favor? :D. Esto es lo que yo he hecho:
Código
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3.   int multiplos(int i,int r){
  4.    for(i=1;i<=20;i++){
  5.  
  6.        r=5*i;
  7.    }
  8.   return (r);
  9.  
  10.  
  11.   }
  12.  
  13.  int main(void){
  14.  int i,r;
  15.  printf("%d\n",multiplos(i,r));
  16.  
  17.  system("pause");
  18.  return(0);
  19.  
  20.  }
  21.  

Mod: los códigos deben ir en etiquetas GeSHi


« Última modificación: 18 Julio 2015, 19:23 pm por engel lex » En línea

user-marcos

Desconectado Desconectado

Mensajes: 159


Ver Perfil
Re: Multiplos del 5 con modulares en C
« Respuesta #1 en: 18 Julio 2015, 23:53 pm »

Tienes varios fallos, por ejemplo multiplos recibe el valor de i, pero luego en el for le asignas el valor 1, entonces ¿Para que usas la variable i?
Código
  1. int multiplos(int i,int r){
  2.    for(i=1;i<=20;i++){
  3.  

Código
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3.  
  4. const int MULTIPLO = 5;
  5. const int RANGO = 20;
  6.  
  7. void multiplos()
  8. {
  9.  for(int i=0 ; i < RANGO; i++)
  10.  {    
  11.    printf("%i\n", i*MULTIPLO);
  12.  }  
  13. }
  14.  
  15. int main()
  16. {
  17.  multiplos();
  18. }
  19.  


« Última modificación: 18 Julio 2015, 23:57 pm por user-marcos » En línea

estudiante_1

Desconectado Desconectado

Mensajes: 47


Ver Perfil
Re: Multiplos del 5 con modulares en C
« Respuesta #2 en: 19 Julio 2015, 19:15 pm »

Uum vale lo entiendo, ahora bien, mi profesor nos dijo que no quiere ver ningún printf en ningún subprograma. Se puede hacer en el programa de los múltiplos?
En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Multiplos del 5 con modulares en C
« Respuesta #3 en: 19 Julio 2015, 21:22 pm »

La forma lógica de hacerlo es trabajando con arreglos. Le pasas un arreglo de 20 int a la función, y que lo rellene. ¿Trabajásteis con arreglos?
En línea

estudiante_1

Desconectado Desconectado

Mensajes: 47


Ver Perfil
Re: Multiplos del 5 con modulares en C
« Respuesta #4 en: 19 Julio 2015, 23:39 pm »

Sí, pero este ejercicio me lo pide sin arreglos. Repito, se puede hacer lo que hizo user-marcos sin printf en el subprograma?
En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Multiplos del 5 con modulares en C
« Respuesta #5 en: 19 Julio 2015, 23:43 pm »

La única forma sería convertir todos los números a una cadena del tipo "5 10 15 20 ...", e imprimirla fuera. Pero sin arreglos, vectores, algún método de guardar los valores en general...
En línea

estudiante_1

Desconectado Desconectado

Mensajes: 47


Ver Perfil
Re: Multiplos del 5 con modulares en C
« Respuesta #6 en: 20 Julio 2015, 01:39 am »

Gracias lo intentaré y ya os cuento. Muchas gracias.
En línea

v4char

Desconectado Desconectado

Mensajes: 61



Ver Perfil
Re: Multiplos del 5 con modulares en C
« Respuesta #7 en: 20 Julio 2015, 01:56 am »

Si te vale esto
Código:
#include <stdio.h>

#define MULTIPLOS 20
#define TOMADOS 5

int multiplos(int paso)
{
    return (paso*TOMADOS);
}

int main()
{
    int i,paso;
    paso = 1;
    for(i=0;i<MULTIPLOS;i++)
    {
        printf("%i\n" ,multiplos(paso));
        paso++;
    }
    return 0;
}
« Última modificación: 20 Julio 2015, 02:03 am por v4char » En línea

user-marcos

Desconectado Desconectado

Mensajes: 159


Ver Perfil
Re: Multiplos del 5 con modulares en C
« Respuesta #8 en: 20 Julio 2015, 12:03 pm »

Esta es una solución según las restricciones que tienes, pero te la he hecho en c++.

Código
  1. #include <iostream>
  2. #include <sstream>
  3. #include <cstring>
  4. using namespace std;
  5.  
  6. const int MULTIPLO = 5;
  7. const int RANGO = 20;
  8.  
  9. string multiplos()
  10. {
  11.  stringstream flujo;
  12.  for(int i=0 ; i < RANGO; i++)
  13.  {
  14.    if(i < RANGO-1)
  15.      flujo << i*MULTIPLO << ", ";
  16.    else flujo << i*MULTIPLO << '.';
  17.  }
  18.  return flujo.str();
  19. }
  20.  
  21. int main()
  22. {
  23.  cout << multiplos() << endl;
  24. }
  25.  

Hay otra manera de hacerlo, mediante el uso de vectores. que tiene mucha relación con los registros, creo que no te dejarán usarlo pero te lo pongo de igual modo.
Código
  1. #include <iostream>
  2. #include <vector>
  3. using namespace std;
  4.  
  5. const int MULTIPLO = 5;
  6. const int RANGO = 20;
  7.  
  8. vector <int> multiplos()
  9. {
  10.  vector <int> NumMult;
  11.  
  12.  for(int i = 0 ; i < RANGO; i++)
  13.  {
  14.    NumMult.push_back(MULTIPLO*i);
  15.  }
  16.  return NumMult;  
  17. }
  18.  
  19. int main()
  20. {
  21.  for (int i = 0; i < multiplos().size(); i++)
  22.  {
  23.    cout << multiplos()[i] << endl;
  24.  }
  25. }
  26.  

Si estas empezando con la programación creo que la mejor solución es:
 
Si te vale esto
Código:
#include <stdio.h>

#define MULTIPLOS 20
#define TOMADOS 5

int multiplos(int paso)
{
    return (paso*TOMADOS);
}

int main()
{
    int i,paso;
    paso = 1;
    for(i=0;i<MULTIPLOS;i++)
    {
        printf("%i\n" ,multiplos(paso));
        paso++;
    }
    return 0;
}

« Última modificación: 20 Julio 2015, 12:08 pm por user-marcos » En línea

v4char

Desconectado Desconectado

Mensajes: 61



Ver Perfil
Re: Multiplos del 5 con modulares en C
« Respuesta #9 en: 20 Julio 2015, 12:12 pm »

Esta es una solución según las restricciones que tienes, pero te la he hecho en c++.

Código
  1. #include <iostream>
  2. #include <sstream>
  3. #include <cstring>
  4. using namespace std;
  5.  
  6. const int MULTIPLO = 5;
  7. const int RANGO = 20;
  8.  
  9. string multiplos()
  10. {
  11.  stringstream flujo;
  12.  for(int i=0 ; i < RANGO; i++)
  13.  {
  14.    if(i < RANGO-1)
  15.      flujo << i*MULTIPLO << ", ";
  16.    else flujo << i*MULTIPLO << '.';
  17.  }
  18.  return flujo.str();
  19. }
  20.  
  21. int main()
  22. {
  23.  cout << multiplos() << endl;
  24. }
  25.  

Hay otra manera de hacerlo, mediante el uso de vectores. que tiene mucha relación con los registros, creo que no te dejarán usarlo pero te lo pongo de igual modo.
Código
  1. #include <iostream>
  2. #include <vector>
  3. using namespace std;
  4.  
  5. const int MULTIPLO = 5;
  6. const int RANGO = 20;
  7.  
  8. vector <int> multiplos()
  9. {
  10.  vector <int> NumMult;
  11.  
  12.  for(int i = 0 ; i < RANGO; i++)
  13.  {
  14.    NumMult.push_back(MULTIPLO*i);
  15.  }
  16.  return NumMult;  
  17. }
  18.  
  19. int main()
  20. {
  21.  for (int i = 0; i < multiplos().size(); i++)
  22.  {
  23.    cout << multiplos()[i] << endl;
  24.  }
  25. }
  26.  


Yo a tanto no llego. Eso es demasiado nivel para mi.
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Variables globales en programas modulares
Programación C/C++
Shon 3 3,659 Último mensaje 11 Septiembre 2010, 19:33 pm
por Horricreu
¿determinar multiplos? « 1 2 »
Programación C/C++
Bledniss 17 34,600 Último mensaje 27 Abril 2011, 20:26 pm
por RyogiShiki
Escribir todos los numero multiplos de B que estan en A
Programación C/C++
luisgonzalo4 1 2,115 Último mensaje 30 Octubre 2014, 22:42 pm
por leosansan
múltiplos del primer número que sean menores que el segundo
Programación C/C++
RGT 3 2,483 Último mensaje 16 Abril 2015, 12:00 pm
por do-while
Redondear Multiplos
.NET (C#, VB.NET, ASP)
CM2ARY 3 7,294 Último mensaje 13 Agosto 2017, 02:11 am
por CM2ARY
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines