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

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


  Mostrar Mensajes
Páginas: [1] 2 3
1  Programación / Programación C/C++ / Problema con comparar cadenas en: 26 Abril 2021, 18:29 pm
Hola tengo una duda al final quiero comaprar las cadenas lenguaje con cadena pero me dice que no es igual no tengo idea por que es, otra duda es en que en el do while no lo toma en cuenta para volver a a comparar es decir si le das a la opcion 1 no repite el proceso

Código
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include<time.h>
  4. #include<stdlib.h>
  5. #include<ctype.h>
  6. #include <unistd.h>
  7.  
  8.  
  9. int subCadena(char *cad, char *subCad, int ini, int fin)
  10. {
  11.    int iC, iS;
  12.  
  13.    if((ini>fin)|| (ini<0) || (fin>=strlen(cad)))
  14.        return 0;
  15.  
  16.    iS = 0;
  17.    for (iC = ini; iC<=fin; iC+=10){
  18.        subCad[iS] = cad[iC];
  19.        iS++;
  20.    }
  21.  
  22.    subCad[iS] = '\0';
  23.  
  24.    return 1;
  25.  
  26. }
  27.  
  28.  
  29. char *invertir(char cadena[]) {
  30.  int longitud = strlen(cadena);
  31.  char temporal;
  32.  for (int izquierda = 0, derecha = longitud - 1; izquierda < (longitud / 2);
  33.       izquierda++, derecha--) {
  34.    temporal = cadena[izquierda];
  35.    cadena[izquierda] = cadena[derecha];
  36.    cadena[derecha] = temporal;
  37.  }
  38.  return cadena;
  39. }
  40.  
  41. char *strstr(const char *haystack, const char *needle);
  42.  
  43. int strcmp(const char * s1,const char * s2);
  44.  
  45. int main()
  46.  
  47. {
  48.  
  49. srand(time(NULL));
  50. int n = 1 + rand()% (3 - 1);
  51. int n3;
  52. int op;
  53. int n2 = n*2;
  54. char *alfabeto = "1599024 jonathan adrian gutierrez alvarado";
  55. char i[7];
  56. char w[10];
  57. char winv[8];
  58. char j[16];
  59. char cadena[30];
  60. char lenguaje[40];
  61. char fraseN[sizeof(w) * n+1];
  62.    strcpy(fraseN, w);
  63. char fraseM[sizeof(winv) * n2];
  64.    strcpy(fraseM,winv);
  65.  
  66. printf("El Alfabeto es: %s\n", alfabeto);
  67.  
  68. strncpy(i,&alfabeto[0],7);
  69.   i[7] = '\0';
  70.  
  71. strncpy(j,&alfabeto[8],16);
  72.   j[8] = '\0';
  73.  
  74. if(subCadena(alfabeto,w,24,35) == 0){
  75.  
  76.        printf("Error");
  77.    }
  78.  
  79. if(subCadena(alfabeto,winv,24,35) == 0){
  80.  
  81.        printf("Error");
  82.    }
  83.  
  84.  
  85.        for(int i = 0; i < n; ++i){
  86.                strcat(fraseN, w);
  87.            }
  88.        for(int i = 0; i < n2; ++i){
  89.                strcat(fraseM, winv);
  90.            }
  91.  
  92.        strcat(lenguaje, i);
  93.        strcat(lenguaje, fraseN);
  94.        strcat(lenguaje, i);
  95.        strcat(lenguaje, invertir(fraseM));
  96.        strcat(lenguaje, j);
  97.        strcat(lenguaje, j);
  98.        printf("\nEste es el lenguaje: %s\n", lenguaje);
  99.  
  100.  
  101. do{
  102.   printf("\nIntroduce la cadena a verificar: \n");
  103.        gets(cadena);
  104.  
  105.        if (strcmp(lenguaje, cadena)== 0) {
  106.            printf("\nSon iguales", cadena);
  107.            } else {
  108.                printf("\nNo son iguales", cadena);
  109.            }
  110.        printf("\nDesea introducir otra cadena: \n1) SI \n2)NO\n");
  111.        scanf("%d", &op);
  112.  
  113. }while(op < 2);
  114.  
  115.  
  116.  
  117.    system("\n pause");
  118. }
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
2  Programación / Programación C/C++ / Re: Ayuda con arreglo char en: 4 Noviembre 2020, 05:11 am

En este ejemplo bro lo que quiero es que la cadena 1809669cm1809669cmcmmariomario me diga que si existe en el arreglo lenguaje pero me dice que no existe, por que a mi me imprime caracteres  especiales y no quiere funcionar no se como quitarlos puedes ayudar


Código
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<string.h>
  4. #include<math.h>
  5.  
  6. char *invertir(char cadena[]) {
  7.  int longitud = strlen(cadena);
  8.  char temporal;
  9.  for (int izquierda = 0, derecha = longitud - 1; izquierda < (longitud / 2);
  10.       izquierda++, derecha--) {
  11.    temporal = cadena[izquierda];
  12.    cadena[izquierda] = cadena[derecha];
  13.    cadena[derecha] = temporal;
  14.  }
  15.  return cadena;
  16. }
  17.  
  18.  
  19.  
  20. int subCadena(char *cad, char *subCad, int ini, int fin)
  21. {
  22.    int iC, iS;
  23.  
  24.    if((ini>fin)|| (ini<0) || (fin>=strlen(cad)))
  25.        return 0;
  26.  
  27.    iS = 0;
  28.    for (iC = ini; iC<=fin; iC++){
  29.        subCad[iS] = cad[iC];
  30.        iS++;
  31.    }
  32.  
  33.    subCad[iS] = '\0';
  34.  
  35.    return 1;
  36.  
  37. }
  38.  
  39.  
  40. int subCadenaApellido(char *cad, char *subCad, int ini, int fin)
  41. {
  42.    int iC, iS;
  43.  
  44.    if((ini>fin)|| (ini<0) || (fin>=strlen(cad)))
  45.        return 0;
  46.  
  47.    iS = 0;
  48.    for (iC = ini; iC<=fin; iC+=8){
  49.        subCad[iS] = cad[iC];
  50.        iS++;
  51.    }
  52.  
  53.    subCad[iS] = '\0';
  54.  
  55.    return 1;
  56.  
  57. }
  58.  
  59. char *strstr(const char *haystack, const char *needle);
  60.  
  61.  
  62.  
  63. int main(){
  64.  
  65.    int n;
  66.    printf("Introduce el valor de n: \n");
  67.    scanf("%d",&n);
  68.  
  69.    int n2 = n*2;
  70.    char alfabeto[39]="1809669 mario alberto charles martinez",i[20], w[20],winv[20], j[20], lenguaje[60];
  71.    char cadena[37];
  72.    char fraseN[strlen(w) * n+1];
  73.    char fraseM[strlen(winv) * n+1];
  74.  
  75.    printf("El Alfabeto es: %s\n", alfabeto);
  76.  
  77.    if(subCadena(alfabeto,i,0,6) == 0){
  78.  
  79.        printf("Error");
  80.  
  81.    }
  82.  
  83.    if(subCadenaApellido(alfabeto,w,22,30) == 0){
  84.  
  85.        printf("Error");
  86.    }
  87.  
  88.  
  89.    if(subCadena(alfabeto,i,0,6) == 0){
  90.  
  91.        printf("Error");
  92.  
  93.    }
  94.  
  95.    if(subCadenaApellido(alfabeto,winv,22,30) == 0){
  96.  
  97.        printf("Error");
  98.    }
  99.  
  100.     if(subCadena(alfabeto,j,8,12) == 0){
  101.  
  102.        printf("Error");
  103.  
  104.    }
  105.  
  106.     printf("Introduce la cadena a verificar: \n");
  107.        scanf("%s", &cadena);
  108.  
  109.  
  110.        for(int i = 0; i < n; ++i){
  111.                strcat(fraseN, w);
  112.            }
  113.        for(int i = 0; i < n2; ++i){
  114.                strcat(fraseM, w);
  115.            }
  116.  
  117.        strcat(lenguaje, i);
  118.        strcat(lenguaje, fraseN);
  119.        strcat(lenguaje, i);
  120.        strcat(lenguaje, invertir(fraseM));
  121.        strcat(lenguaje, j);
  122.        strcat(lenguaje, j);
  123.  
  124.        printf("\n%s", lenguaje);
  125.  
  126.        if (strstr(lenguaje, cadena) != NULL) {
  127.            printf("\nExiste %s dentro del lenguaje", cadena);
  128.            } else {
  129.                printf("\nNo existe %s dentro del lenguaje", cadena);
  130.            }
  131.  
  132. }
  133.  
  134.  
  135.  


Al final lo que quiero 1809669cm1809669cmcmmariomario es lo que quiero que me diga que existe dentro de lenguae igual si le pongo la n debe aparecer 1809669cmcm1809669cmcmcmcmmariomario y que tambien existe es lo que busco

pΘu1809669ü■`cm1809669mcmc`■mmariomario a mi me imprime eso y pues me dice que no existe
3  Programación / Programación C/C++ / Re: Ayuda con arreglo char en: 29 Octubre 2020, 22:06 pm
Hola Gracias por responder
Busco que por ejemplo el arreglo w este elevado a la n, esta n introducida por el usuario, y busco que el arreglo winv este elevada ala 2n , y que esos este dentro del arreglo lenguaje ya los repetidos, no se si me entiendas ahora.
4  Programación / Programación C/C++ / Ayuda con arreglo char en: 28 Octubre 2020, 03:22 am
Hola amigos, tengo una duda con un arreglo char lo que pasa es que necesito que el arreglo que tengo declarada como w y quiero que se repita n veces  y tengo la invetida de w 2n veces, pero esa n quiero que sea capturada por el usuario
Código
  1.  
  2. #include<stdio.h>
  3. #include<stdlib.h>
  4. #include<string.h>
  5. #include<math.h>
  6.  
  7. char *invertir(char cadena[]) {
  8.  int longitud = strlen(cadena);
  9.  char temporal;
  10.  for (int izquierda = 0, derecha = longitud - 1; izquierda < (longitud / 2);
  11.       izquierda++, derecha--) {
  12.    temporal = cadena[izquierda];
  13.    cadena[izquierda] = cadena[derecha];
  14.    cadena[derecha] = temporal;
  15.  }
  16.  return cadena;
  17. }
  18.  
  19.  
  20.  
  21. int subCadena(char *cad, char *subCad, int ini, int fin)
  22. {
  23.    int iC, iS;
  24.  
  25.    if((ini>fin)|| (ini<0) || (fin>=strlen(cad)))
  26.        return 0;
  27.  
  28.    iS = 0;
  29.    for (iC = ini; iC<=fin; iC++){
  30.        subCad[iS] = cad[iC];
  31.        iS++;
  32.    }
  33.  
  34.    subCad[iS] = '\0';
  35.  
  36.    return 1;
  37.  
  38. }
  39.  
  40.  
  41. int subCadenaApellido(char *cad, char *subCad, int ini, int fin)
  42. {
  43.    int iC, iS;
  44.  
  45.    if((ini>fin)|| (ini<0) || (fin>=strlen(cad)))
  46.        return 0;
  47.  
  48.    iS = 0;
  49.    for (iC = ini; iC<=fin; iC+=8){
  50.        subCad[iS] = cad[iC];
  51.        iS++;
  52.    }
  53.  
  54.    subCad[iS] = '\0';
  55.  
  56.    return 1;
  57.  
  58. }
  59.  
  60. char *strstr(const char *haystack, const char *needle);
  61.  
  62.  
  63.  
  64. int main(){
  65.  
  66.  
  67.    char alfabeto[38]="1809669 mario alberto charles martinez",i[38], w[38],winv[38], j[38], lenguaje[34];
  68.    char cadena[37], k[37];
  69.    int n;
  70.  
  71.    printf("Introduce el valor de n: ");
  72.    scanf("%d", &n);
  73.  
  74.        printf("Introduce la cadena a verificar: ");
  75.        scanf("%s", &cadena);
  76.  
  77.    if(subCadena(alfabeto,i,0,6) == 0){
  78.  
  79.        printf("Error");
  80.  
  81.    }
  82.  
  83.    if(subCadenaApellido(alfabeto,w,22,30) == 0){
  84.  
  85.        printf("Error");
  86.    }
  87.  
  88.    for(int i=1; i<n; ++i){
  89.        k[i] = w;
  90.        printf("%s", k);
  91.  
  92.    }
  93.  
  94.    if(subCadena(alfabeto,i,0,6) == 0){
  95.  
  96.        printf("Error");
  97.  
  98.    }
  99.  
  100.    if(subCadenaApellido(alfabeto,winv,22,30) == 0){
  101.  
  102.        printf("Error");
  103.    }
  104.  
  105.     if(subCadena(alfabeto,j,8,12) == 0){
  106.  
  107.        printf("Error");
  108.  
  109.    }
  110.  
  111.    strcat(lenguaje, i);
  112.    strcat(lenguaje, w);
  113.    strcat(lenguaje, i);
  114.    strcat(lenguaje, invertir(winv));
  115.    strcat(lenguaje, j);
  116.    strcat(lenguaje, j);
  117.  
  118.  
  119.    if (strstr(lenguaje, cadena) != NULL) {
  120.    printf("Existe %s dentro de %s\n", cadena, lenguaje);
  121.    } else {
  122.    printf("No existe %s dentro de %s\n", cadena, lenguaje);
  123.    }
  124.  
  125. }
  126.  
  127.  
  128.  
  129.  

Espero me puedan ayudar, gracias
5  Programación / Programación C/C++ / Duda con arreglo en: 20 Octubre 2020, 09:34 am
Tengo una duda con un arreglo de una subcadena de un alfabeto
Si por ejemplo tengo :
Código
  1. char [i] = “a” ;
  2. int n;
  3.  
Como hago para elevar por ejemplo n potencia es decir que me aparezcan
aaa si n = 3
6  Programación / Bases de Datos / Ayuda con Query Mysql en: 23 Febrero 2020, 02:34 am
Tengo este query que necesito que me traiga el total del precio unitario quitandole el descuento y que lo acomode de maximo a minimo pero cuando lo hago solo me trae la fecha de compra y el nombre del empleado.
La columna de UnitPrice, Quantity, Discount se encuentran en una tabla llamada orderdetails con llave primaria OrderID

Ayuda

Código
  1.  
  2.  
  3. SELECT C.ContactName, O.OrderID, CONCAT (FirstName,' ',LastName) AS
  4. Employee,
  5. O.OrderDate, O.RequiredDate, O.ShippedDate /*,
  6. Max((SUM((Od.UnitPrice*Od.Quantity)*(1-Od.Discount)))),
  7. Min((SUM((Od.UnitPrice*Od.Quantity)*(1-Od.Discount))))'Total de Orden' */
  8. FROM Customers C INNER JOIN Orders O
  9. ON C.CustomerID = O.CustomerID INNER JOIN Employees E
  10. ON O.EmployeeID=E.EmployeeID /*INNER JOIN OrderDetails Od
  11. ON O.OrderID=Od.OrderID */
  12. WHERE C.ContactName = 'Ana Trujillo'
  13.  
  14.  
  15.  
7  Programación / Programación C/C++ / Re: Ayuda con error en: 31 Agosto 2019, 04:16 am
Y para que es la (Solucion Cuadrada) , se queda en Prototipo


ya la agregue perdon
8  Programación / Programación C/C++ / Ayuda con error en: 30 Agosto 2019, 22:57 pm
No logre ver por que la solucion con numeros complejos no me sale bien en mi codigo y tampco puedo quitar los signos repetido -- del lado de la factorizacion es decir (x - 2) ^2 asi deberia quedar y me sale (x--2)^2
Código:
#include<cmath>
#include<iostream>

using namespace std;


inline float LeerNum(){
    float var;
    cin >> var;
    return var;
}

float Discriminante(float num1, float num2, float num3);

float SolucionPos(float, float, float);

float SolucionNeg(float, float, float);

float SolucionCuadrada(float num1, float num2);//!Variables/obj/arreglos

int main(){
    cout << "Ingrese los coeficientes: ";
    float a = LeerNum(), b = LeerNum(), c = LeerNum();
    if(Discriminante(a,b,c) == 0){

        if((b>0) && (c>0)){
            cout << "Factorizacion:\n(x - " <<
            SolucionCuadrada(a,b) << ")^2 = "
            << a << "x^2 + " << b << "x + " << c;


        }else if((b>0) && (c<0)){

        cout << "Factorizacion:\n(x - " <<
            SolucionCuadrada(a,b) << ")^2 = "
            << a << "x^2 + " << b << "x  " << c;

        } else if((b<0) && (c>0)){

        cout << "Factorizacion:\n(x - " <<
            SolucionCuadrada(a,b) << ")^2 = "
            << a << "x^2  " << b << "x + " << c;

        } else if((b<0) && (c<0)){

        cout << "Factorizacion:\n(x - " <<
            SolucionCuadrada(a,b) << ")^2 = "
            << a << "x^2  " << b << "x  " << c;

        }



    }
    else if(Discriminante(a,b,c) > 0){

            if((b>0)&& (c>0)){
            cout << "Factorizacion:\n(x - " <<
            SolucionPos(a,b,c) << ")*(x - "
            << SolucionNeg(a,b,c) << ") = "
            << a << "x^2 + " << b << "x + " << c;

            }else if((b<0)&& (c>0)){
            cout << "Factorizacion:\n(x - " <<
            SolucionPos(a,b,c) << ")*(x - "
            << SolucionNeg(a,b,c) << ") = "
            << a << "x^2  " << b << "x  + " << c;

            }else if((b>0)&& (c<0)){

            cout << "Factorizacion:\n(x - " <<
            SolucionPos(a,b,c) << ")*(x - "
            << SolucionNeg(a,b,c) << ") = "
            << a << "x^2 + " << b << "x   " << c;
            }else if((b<0)&& (c<0)){
            cout << "Factorizacion:\n(x - " <<
            SolucionPos(a,b,c) << ")*(x - "
            << SolucionNeg(a,b,c) << ") = "
            << a << "x^2  " << b << "x   " << c;
            }

    }
    else if(Discriminante(a,b,c) < 0){
          if((b>0)&& (c>0)){
            cout << "Factorizacion:\n(x - " <<
            SolucionPos(a,b,c) << "i)*(x - "
            << SolucionNeg(a,b,c) << "i) = "
            << a << "x^2 + " << b << "x + " << c;

            }else if((b<0)&& (c>0)){
            cout << "Factorizacion:\n(x - " <<
            SolucionPos(a,b,c) << "i)*(x - "
            << SolucionNeg(a,b,c) << "i) = "
            << a << "x^2  " << b << "x  + " << c;

            }else if((b>0)&& (c<0)){

            cout << "Factorizacion:\n(x - " <<
            SolucionPos(a,b,c) << "i)*(x - "
            << SolucionNeg(a,b,c) << "i) = "
            << a << "x^2 + " << b << "x   " << c;
            }else if((b<0)&& (c<0)){
            cout << "Factorizacion:\n(x - " <<
            SolucionPos(a,b,c) <<"i)*(x - "
            << SolucionNeg(a,b,c) << "i) = "
            << a << "x^2  " << b << "x   " << c;
            }

    }

    return 0;
}

float Discriminante(float a, float b, float c){
    return b*b - 4*a*c;
}

float SolucionPos(float a, float b, float c){
    return (-b+sqrt(Discriminante(a,b,c)))/(2*a);
}

float SolucionNeg(float a, float b, float c){
    return (-b-sqrt(Discriminante(a,b,c)))/(2*a);
}

float SolucionCuadrada(float a, float b){
    return -b/(2*a);
}




9  Programación / Programación C/C++ / Ayuda con paso de un programa en: 21 Agosto 2019, 01:16 am
Ayuda no se que hacer en el tercer paso de este programa ya realice el algoritmo y me dispongo a programarlo pero el tercer punto le doy vueltas y no se como realizarlo


Para solicitar un crédito el usuario debe ser cliente de al menos 3 meses de antigüedad además la compra a solicitar debe ser de un precio mayor a los $10,000 pesos, una vez cumpliendo estas condiciones el departamento de créditos debe solicitar referencias y solicitar a los bancos información del historial del cliente, así mismo se pasa al departamento de investigación para obtener información respecto a aspectos laborales, penales, Civiles, sindicales e IMSS.

Paso 1) Verificar que el usuario tenga como mínimo 3 meses de antigüedad como cliente.
   Paso 2) La compra del cliente debe ser mayor a los $10,000 pesos.
   Paso 3) Solicitar al departamento de créditos referencias del cliente.
Código:


1. Inicio
2. Declaración de variables:
Entero mesesAntigüedad, compra;
Char nombre;
3. Imprimir “Digite su nombre”
4. Leer Nombre
5. Imprimir “Digite la cantidad de meses que tiene como cliente”
6. Leer mesesAntiguedad
7. Imprimir “Digite el monto de la compra a realizar”
8. Leer compra
9. Si mesesAntiguedad >=3 && cantidad > 10000
Imprimir “Porfavor dame algunas referencias del cliente “





10  Programación / Programación C/C++ / Ayuda con problema de figuras en: 5 Agosto 2019, 10:00 am
Hola, como estan amigos , veran tengo un problema que consiste en: Un programa donde se introduzcan numero de lados, area y perimetro y detecte a que figura geometrica corresponde: Circulo, triangulo, rectangulo, cuadrado, trapecio o rombo. He estado batallando para saber si es un rectangulo y el trapecio los otros creo que yo que ya estan bien pero aun asi no se como realizar el rectangulo y trapecio podria poner perimeto/2 - b = a y despues usar la formula del area

Código:

#include<iostream>
#include<math.h>

using namespace std;


int main()
{

float numeroLados, perimetro, area, ladoCuadrado, perimetroCuadrado, baseRombo, alturaRombo, a, b, ladosRectangulo;


    cout<<"Introduce el numero de lados de tu figura: "<<endl;
    cin>>numeroLados;
    cout<<"Introduce el perimetro de la figura: " <<endl;
    cin>>perimetro;
    cout<<"Introduce el area de la figura: "<<endl;

    cin>>area;

        ladoCuadrado = sqrt(area);
        perimetroCuadrado = (perimetro / 4.0f);

        baseRombo = (perimetro / 4.0f);
        alturaRombo = (area / baseRombo );


        if(numeroLados == 3)
        {
            cout<<"Es un triangulo";


        }
        else if (numeroLados == 0)
        {
           cout<<"Es un circulo";
        }
        else if ((numeroLados == 4) && (ladoCuadrado == perimetroCuadrado) )
        {
            cout<<"Es un cuadrado";
        } else {


            cout<<"Introduce un numero de lados valido";

        }



        if((numeroLados == 4) && (baseRombo * alturaRombo == area))
        {
            cout<<"Es un rombo";

        }else if(numeroLados == 4)
        {

            cout<<"Es trapecio";


        }


return 0;


}


Páginas: [1] 2 3
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines