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


 


Tema destacado: Únete al Grupo Steam elhacker.NET


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

Desconectado Desconectado

Mensajes: 25


Ver Perfil
Duda con arreglo
« en: 20 Octubre 2020, 09:34 »

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


En línea

[D]aniel

Conectado Conectado

Mensajes: 136



Ver Perfil
Re: Duda con arreglo
« Respuesta #1 en: 20 Octubre 2020, 14:23 »

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

No estoy seguro pero podrías probar con:
 
Código:
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


« Última modificación: 20 Octubre 2020, 14:28 por Daniel 🇦🇷 » En línea

@XSStringManolo
<svg/onload=alert()>
Colaborador
***
Desconectado Desconectado

Mensajes: 2.159


Turn off the red ligth


Ver Perfil WWW
Re: Duda con arreglo
« Respuesta #2 en: 20 Octubre 2020, 14:54 »

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


En c++ puedes usar strings. También puedes usar while en el lugar de for.
Código
  1. int i = 0;
  2. miString = "";
  3. while(i < n) {
  4.  miString += "a";
  5.  ++i;
  6. }


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

K-YreX
Moderador
***
Desconectado Desconectado

Mensajes: 799



Ver Perfil
Re: Duda con arreglo
« Respuesta #3 en: 20 Octubre 2020, 17:33 »

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

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:
Código:

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.
Código
  1. define N 3
  2. int main(){
  3.  char caracter = 'a';
  4.  char caracteres[N];
  5.  for(int i = 0; i < N; ++i){
  6.    caracteres[i] = caracter;
  7.  }
  8. }

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.
En línea

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


Desconectado Desconectado

Mensajes: 322


Ver Perfil WWW
Re: Duda con arreglo
« Respuesta #4 en: 23 Octubre 2020, 05:37 »

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
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines