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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Duda con declaraciones
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Duda con declaraciones  (Leído 6,340 veces)
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Duda con declaraciones
« Respuesta #10 en: 29 Agosto 2019, 02:54 am »

Código
  1.    int calcularSuma(int vector_A[],int vector_B[]){
  2.    int elegir=0; // <---- elegir es cero
  3. int vector_C[10];
  4. int suma;{
  5. if(elegir==1){ <---- esto jamás pasará, ya que elegir es cero
  6. for(int i=0;i<10;i++){
  7. vector_C[i]=vector_A[i]+vector_B[i];
  8. cout<<vector_C[i]<<endl;
  9. cout<<endl<<endl<<"El resultado de la suma de los vectores es:\n"<<suma;}
  10. return 0; }
  11.    }
  12.    }



por aclarar un poco mas los scopes

Código
  1. int funcion1(){
  2.  int variable = 1;
  3.  
  4. }
  5.  
  6. int funcion2(){
  7.  int variable = 2;
  8.  
  9. }
  10.  

variable de funcion1 y de funcion2 nada tienen que ver, variable solo existe dentro del espacio declarado, si se declara en otro espacio, nada tiene que ver


« Última modificación: 29 Agosto 2019, 02:57 am por engel lex » En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
@XSStringManolo
Hacker/Programador
Colaborador
***
Desconectado Desconectado

Mensajes: 2.397


Turn off the red ligth


Ver Perfil WWW
Re: Duda con declaraciones
« Respuesta #11 en: 29 Agosto 2019, 04:20 am »

Siguiendo el enunciado de tu ejercicio. Sin usar el array de la STL ni aritmética de punteros yo haría algo así(no sé si estará bien, llevo siglos sin hacer nada con arrays en C y no tengo compilador a mano:
Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. const short int t = 11;
  6. int array1[t];
  7. int array2[t];
  8. int array3[t];
  9. int resto[t];
  10.  
  11. int main()
  12. {
  13.  
  14. bool mostrarResto = false;
  15.  
  16. while (1)
  17. {
  18.   for (int i = 0; i != t-1; ++i)
  19.   {
  20.   cout << "Introduce el valor numero " << i+1 << " correspondiente al primer array:" << endl;
  21.   cin >> array1[i];   cout << endl;
  22.   }
  23.  
  24.   for (int i = 0; i != t-1; ++i)
  25.   {
  26.   cout << "Introduce el valor numero " << i+1 << " correspondiente al segundo array:" << endl;
  27.   cin >> array2[i];   cout << endl;
  28.   }
  29.  
  30. cout << "Introduce el numero correspondiente a la accion a realizar:" << endl << "1. Sumar" << endl << "2. Restar" << endl << "3. Multiplicar" << endl << "4. Dividir" << endl << "Otro. Salir" << endl;
  31.  
  32. short unsigned int opcion = 0;
  33.  
  34. cin >> opcion;
  35.  
  36. cout << endl;
  37.  
  38.   switch (opcion)
  39.   {
  40.      case 1:
  41.      {
  42.         for (int i = 0; i < t-1; ++i)
  43.         {
  44.         array3[i] = array1[i] + array2[i];
  45.         }
  46.      } break;
  47.  
  48.      case 2:
  49.      {
  50.         for (int i = 0; i < t-1; ++i)
  51.         {
  52.            if ( array1[i] > array2[i] )
  53.            {
  54.            array3[i] = array1[i] - array2[i];
  55.            }
  56.  
  57.            else
  58.            {
  59.            array3[i] = array2[i] - array1[i];
  60.            }
  61.         }
  62.      } break;
  63.  
  64.      case 3:
  65.      {
  66.         for (int i = 0; i < t-1; ++i)
  67.         {
  68.         array3[i] = array1[i] * array2[i];
  69.         }
  70.      } break;
  71.  
  72.     case 4:
  73.      {
  74.  
  75.      mostrarResto = true;
  76.  
  77.         for (int i = 0; i < t-1; ++i)
  78.         {
  79.            if ( array1[i] > array2[i] )
  80.            {
  81.            array3[i] = array1[i] / array2[i];
  82.            resto[i] = array1[i] % array2[i];
  83.            }
  84.  
  85.            else
  86.            {
  87.            array3[i] = array2[i] / array1[i];
  88.            resto[i] = array2[i] % array1[i];
  89.            }
  90.         }
  91.      } break;
  92.  
  93.      default:
  94.      {
  95.      return 0;
  96.      }
  97.   }/*Fin Switch*/
  98.  
  99.   for (int i = 0; i < t-1; ++i)
  100.   {
  101.      if (mostrarResto)
  102.      {
  103.      cout << "Resultado de tu operación: " << array3[i] << endl << "Resto de la operacion" << resto[i] << endl;
  104.      }
  105.  
  106. else
  107. {
  108. cout << "Resultado de tu operación: " << array3[i] << endl;
  109. }
  110.   }
  111. }/*Fin while*/
  112. cin.get();
  113. return 0;
  114. }
  115.  



« Última modificación: 29 Agosto 2019, 04:27 am por string Manolo » En línea

Mi perfil de patrocinadores de GitHub está activo! Puedes patrocinarme para apoyar mi trabajo de código abierto 💖

Dominic91

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: Duda con declaraciones
« Respuesta #12 en: 29 Agosto 2019, 20:42 pm »

Siguiendo el enunciado de tu ejercicio. Sin usar el array de la STL ni aritmética de punteros yo haría algo así(no sé si estará bien, llevo siglos sin hacer nada con arrays en C y no tengo compilador a mano:
Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. const short int t = 11;
  6. int array1[t];
  7. int array2[t];
  8. int array3[t];
  9. int resto[t];
  10.  
  11. int main()
  12. {
  13.  
  14. bool mostrarResto = false;
  15.  
  16. while (1)
  17. {
  18.   for (int i = 0; i != t-1; ++i)
  19.   {
  20.   cout << "Introduce el valor numero " << i+1 << " correspondiente al primer array:" << endl;
  21.   cin >> array1[i];   cout << endl;
  22.   }
  23.  
  24.   for (int i = 0; i != t-1; ++i)
  25.   {
  26.   cout << "Introduce el valor numero " << i+1 << " correspondiente al segundo array:" << endl;
  27.   cin >> array2[i];   cout << endl;
  28.   }
  29.  
  30. cout << "Introduce el numero correspondiente a la accion a realizar:" << endl << "1. Sumar" << endl << "2. Restar" << endl << "3. Multiplicar" << endl << "4. Dividir" << endl << "Otro. Salir" << endl;
  31.  
  32. short unsigned int opcion = 0;
  33.  
  34. cin >> opcion;
  35.  
  36. cout << endl;
  37.  
  38.   switch (opcion)
  39.   {
  40.      case 1:
  41.      {
  42.         for (int i = 0; i < t-1; ++i)
  43.         {
  44.         array3[i] = array1[i] + array2[i];
  45.         }
  46.      } break;
  47.  
  48.      case 2:
  49.      {
  50.         for (int i = 0; i < t-1; ++i)
  51.         {
  52.            if ( array1[i] > array2[i] )
  53.            {
  54.            array3[i] = array1[i] - array2[i];
  55.            }
  56.  
  57.            else
  58.            {
  59.            array3[i] = array2[i] - array1[i];
  60.            }
  61.         }
  62.      } break;
  63.  
  64.      case 3:
  65.      {
  66.         for (int i = 0; i < t-1; ++i)
  67.         {
  68.         array3[i] = array1[i] * array2[i];
  69.         }
  70.      } break;
  71.  
  72.     case 4:
  73.      {
  74.  
  75.      mostrarResto = true;
  76.  
  77.         for (int i = 0; i < t-1; ++i)
  78.         {
  79.            if ( array1[i] > array2[i] )
  80.            {
  81.            array3[i] = array1[i] / array2[i];
  82.            resto[i] = array1[i] % array2[i];
  83.            }
  84.  
  85.            else
  86.            {
  87.            array3[i] = array2[i] / array1[i];
  88.            resto[i] = array2[i] % array1[i];
  89.            }
  90.         }
  91.      } break;
  92.  
  93.      default:
  94.      {
  95.      return 0;
  96.      }
  97.   }/*Fin Switch*/
  98.  
  99.   for (int i = 0; i < t-1; ++i)
  100.   {
  101.      if (mostrarResto)
  102.      {
  103.      cout << "Resultado de tu operación: " << array3[i] << endl << "Resto de la operacion" << resto[i] << endl;
  104.      }
  105.  
  106. else
  107. {
  108. cout << "Resultado de tu operación: " << array3[i] << endl;
  109. }
  110.   }
  111. }/*Fin while*/
  112. cin.get();
  113. return 0;
  114. }
  115.  



En la estructura SWITCH-CASE así va la forma modular?
perdona si mi pregunta suena tonta, como dije soy nuevo en esto asi que aun tengo muchas dudas, hago la pregunta devido a que eh visto algunos programas modulares pero solo con la estructura IF y veo que lleva cosas separadas
En línea

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

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Declaraciones de WinInet
Programación Visual Basic
Slasher-K 2 4,690 Último mensaje 3 Septiembre 2005, 21:25 pm
por NYlOn
Declaraciones api's Windows « 1 2 3 »
Programación Visual Basic
programatrix 26 17,281 Último mensaje 23 Septiembre 2005, 00:34 am
por Slasher-K
[Pregunta]Declaraciones de variables DIM
Programación Visual Basic
TinchoHack 1 2,465 Último mensaje 23 Abril 2011, 20:34 pm
por Edu
Problema con declaraciones estáticas « 1 2 »
.NET (C#, VB.NET, ASP)
WHK 11 5,670 Último mensaje 12 Julio 2013, 16:06 pm
por Novlucker
[Resuelto] Problemas con las declaraciones
Programación C/C++
yawin 2 1,596 Último mensaje 24 Octubre 2015, 15:40 pm
por yawin
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines