Duda con declaraciones

Iniciado por Dominic91, 28 Agosto 2019, 05:03 AM

0 Miembros y 1 Visitante están viendo este tema.

engel lex

#10
Código (cpp) [Seleccionar]
   int calcularSuma(int vector_A[],int vector_B[]){
   int elegir=0; // <---- elegir es cero
int vector_C[10];
int suma;{
if(elegir==1){ <---- esto jamás pasará, ya que elegir es cero
for(int i=0;i<10;i++){
vector_C[i]=vector_A[i]+vector_B[i];
cout<<vector_C[i]<<endl;
cout<<endl<<endl<<"El resultado de la suma de los vectores es:\n"<<suma;}
return 0; }
   }
   }




por aclarar un poco mas los scopes

Código (cpp) [Seleccionar]

int funcion1(){
  int variable = 1;

}

int funcion2(){
  int variable = 2;

}


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
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

#11
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 (cpp) [Seleccionar]
#include <iostream>

using namespace std;

const short int t = 11;
int array1[t];
int array2[t];
int array3[t];
int resto[t];

int main()
{

bool mostrarResto = false;

while (1)
{
  for (int i = 0; i != t-1; ++i)
  {
  cout << "Introduce el valor numero " << i+1 << " correspondiente al primer array:" << endl;
  cin >> array1[i];   cout << endl;
  }

  for (int i = 0; i != t-1; ++i)
  {
  cout << "Introduce el valor numero " << i+1 << " correspondiente al segundo array:" << endl;
  cin >> array2[i];   cout << endl;
  }

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;

short unsigned int opcion = 0;

cin >> opcion;

cout << endl;

  switch (opcion)
  {
     case 1:
     {
        for (int i = 0; i < t-1; ++i)
        {
        array3[i] = array1[i] + array2[i];
        }
     } break;

     case 2:
     {
        for (int i = 0; i < t-1; ++i)
        {
           if ( array1[i] > array2[i] )
           {
           array3[i] = array1[i] - array2[i];
           }
 
           else
           {
           array3[i] = array2[i] - array1[i];
           }
        }
     } break;

     case 3:
     {
        for (int i = 0; i < t-1; ++i)
        {
        array3[i] = array1[i] * array2[i];
        }
     } break;

    case 4:
     {
 
     mostrarResto = true;

        for (int i = 0; i < t-1; ++i)
        {
           if ( array1[i] > array2[i] )
           {
           array3[i] = array1[i] / array2[i];
           resto[i] = array1[i] % array2[i];
           }
 
           else
           {
           array3[i] = array2[i] / array1[i];
           resto[i] = array2[i] % array1[i];
           }
        }
     } break;

     default:
     {
     return 0;
     }
  }/*Fin Switch*/

  for (int i = 0; i < t-1; ++i)
  {
     if (mostrarResto)
     {
     cout << "Resultado de tu operación: " << array3[i] << endl << "Resto de la operacion" << resto[i] << endl;
     }

else
{
cout << "Resultado de tu operación: " << array3[i] << endl;
}
  }
}/*Fin while*/
cin.get();
return 0;
}



Dominic91

Cita de: string Manolo 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 (cpp) [Seleccionar]
#include <iostream>

using namespace std;

const short int t = 11;
int array1[t];
int array2[t];
int array3[t];
int resto[t];

int main()
{

bool mostrarResto = false;

while (1)
{
  for (int i = 0; i != t-1; ++i)
  {
  cout << "Introduce el valor numero " << i+1 << " correspondiente al primer array:" << endl;
  cin >> array1[i];   cout << endl;
  }

  for (int i = 0; i != t-1; ++i)
  {
  cout << "Introduce el valor numero " << i+1 << " correspondiente al segundo array:" << endl;
  cin >> array2[i];   cout << endl;
  }

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;

short unsigned int opcion = 0;

cin >> opcion;

cout << endl;

  switch (opcion)
  {
     case 1:
     {
        for (int i = 0; i < t-1; ++i)
        {
        array3[i] = array1[i] + array2[i];
        }
     } break;

     case 2:
     {
        for (int i = 0; i < t-1; ++i)
        {
           if ( array1[i] > array2[i] )
           {
           array3[i] = array1[i] - array2[i];
           }
 
           else
           {
           array3[i] = array2[i] - array1[i];
           }
        }
     } break;

     case 3:
     {
        for (int i = 0; i < t-1; ++i)
        {
        array3[i] = array1[i] * array2[i];
        }
     } break;

    case 4:
     {
 
     mostrarResto = true;

        for (int i = 0; i < t-1; ++i)
        {
           if ( array1[i] > array2[i] )
           {
           array3[i] = array1[i] / array2[i];
           resto[i] = array1[i] % array2[i];
           }
 
           else
           {
           array3[i] = array2[i] / array1[i];
           resto[i] = array2[i] % array1[i];
           }
        }
     } break;

     default:
     {
     return 0;
     }
  }/*Fin Switch*/

  for (int i = 0; i < t-1; ++i)
  {
     if (mostrarResto)
     {
     cout << "Resultado de tu operación: " << array3[i] << endl << "Resto de la operacion" << resto[i] << endl;
     }

else
{
cout << "Resultado de tu operación: " << array3[i] << endl;
}
  }
}/*Fin while*/
cin.get();
return 0;
}




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