Duda con arreglo

Iniciado por Jay, 20 Octubre 2020, 09:34 AM

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

Jay

Tengo una duda con un arreglo de una subcadena de un alfabeto
Si por ejemplo tengo :

char [i] = "a" ;
int n;

Como hago para elevar por ejemplo n potencia es decir que me aparezcan
aaa si n = 3

Danielㅤ

#1
Hola, tu código es en C o C++?.

No estoy seguro pero podrías probar con:

char[i] = char[i] * n;

Por otro lado ten cuidado con esto:

char [i] = "a" ;

Esas no son comillas dobles normales por lo que tú compilador te puede arrojar error, posiblemente has copiado ese pequeño código de un tutorial en PDF (suelen usar en los ejemplos esas comillas) o tal vez de alguna página web.


Saludos
¡Regresando como cual Fenix! ~
Bomber Code © 2021 https://www.bombercode.net/foro/

Ayudas - Aportes - Tutoriales - Y mucho mas!!!

@XSStringManolo

con un for?
Código (cpp) [Seleccionar]
for(int i = 0; i < n; ++i) {
  char[i] = "a"
}



En c++ puedes usar strings. También puedes usar while en el lugar de for.
Código (cpp) [Seleccionar]
int i = 0;
miString = "";
while(i < n) {
  miString += "a";
  ++i;
}



No sé si es esto a lo que te refieres.
En la librería math tienes función para hacer potentias.

K-YreX

Cita de: Jay en 20 Octubre 2020, 09:34 AM
Tengo una duda con un arreglo de una subcadena de un alfabeto
Si por ejemplo tengo :

char [i] = "a" ;
int n;

Como hago para elevar por ejemplo n potencia es decir que me aparezcan
aaa si n = 3

Varias cosas:
  • Las comillas dobles se utilizan para strings (cadenas), no para caracteres. Los caracteres se definen entre comillas simples.
  • Y lo que quieres no es utilizar potencias sino "multiplicar" por así decirlo. Es decir lo que en otros lenguajes se puede hacer como:

    n = 3
    print("a" * n)


    Como te ha comentado @XSStringManolo, tienes que usar bucles. Pero tienes que fijarte en dónde lo vas a guardar ya que si tienes un array de char, cada posición solo puede almacenar un caracter.

    define N 3
    int main(){
      char caracter = 'a';
      char caracteres[N];
      for(int i = 0; i < N; ++i){
        caracteres[i] = caracter;
      }
    }


    Si quieres variar ese número entonces tendrías que usar arrays con un tamaño fijo superior (y tendrás su correspondiente desaprovechamiento de memoria) que se suele usar cuando se empieza o utilizar memoria dinámica.

    También depende si lo que quieres es guardar el contenido o mostrarlo o hacer algo con ello. Según el propósito final es más recomendable diseñarlo de una manera o de otra.
Código (cpp) [Seleccionar]

cout << "Todos tenemos un defecto, un error en nuestro código" << endl;

CalgaryCorpus

En C++ el tipo string tiene un constructor que acepta un size_t y un char, y, al crear el string, copia el char tantas veces como diga el size_t
Aqui mi perfil en LinkedIn, invitame un cafe aqui