added more spanish translations and a correction (#28694)
I have put more translations in places to provide more readability which does not affect the concept and working of C; like in strings, comments, identifiers and pattern explanation. Also translated localeTitle to Spanish, to look more "Spanish-y".
This commit is contained in:
committed by
Randell Dawson
parent
56ea99007a
commit
a939d96de8
@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: Arrays
|
title: Arrays
|
||||||
localeTitle: Arrays
|
localeTitle: Arreglos
|
||||||
---
|
---
|
||||||
# Arreglos en C
|
# Arreglos en C
|
||||||
|
|
||||||
@ -18,7 +18,7 @@ Antes de intentar explicar qué son las matrices, veamos el código donde querem
|
|||||||
printf("%d", k);
|
printf("%d", k);
|
||||||
printf("%d", j);
|
printf("%d", j);
|
||||||
printf("%d", i);
|
printf("%d", i);
|
||||||
... //and so on..
|
... //y así..
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -49,10 +49,10 @@ Y ahora vamos a romper la sintaxis un poco:
|
|||||||
int arr[4] = {1, 2, 3, 88};
|
int arr[4] = {1, 2, 3, 88};
|
||||||
```
|
```
|
||||||
|
|
||||||
Aquí ha creado una `array` de `ints` (enteros), llamada `arr` . Esta matriz tiene 4 elementos: `1` , `2` , `3` , `88` . Tenga en cuenta la sintaxis!
|
Aquí ha creado una `matriz` de `ints` (enteros), llamada `arr` . Esta matriz tiene 4 elementos: `1` , `2` , `3` , `88` . Tenga en cuenta la sintaxis!
|
||||||
|
|
||||||
```C
|
```C
|
||||||
datatype name[number of elements]
|
tipo_de_datos nombre[número de elementos]
|
||||||
```
|
```
|
||||||
|
|
||||||
El primer elemento de esta matriz es `1` , el segundo es `2` etc.
|
El primer elemento de esta matriz es `1` , el segundo es `2` etc.
|
||||||
@ -87,7 +87,7 @@ Aquí se crea un int llamado `var` , y se inicializa en el elemento 0 de arr. **
|
|||||||
C también soporta matrices multidimensionales.
|
C también soporta matrices multidimensionales.
|
||||||
|
|
||||||
```C
|
```C
|
||||||
datatype name[size1][size2]...[sizeN]
|
tipo_de_datos nombre[talla1][talla2]...[tallaN]
|
||||||
```
|
```
|
||||||
|
|
||||||
Los arreglos bidimensionales son comunes y pueden inicializarse usando la siguiente sintaxis. Lógicamente, uno puede pensar en el primer índice como filas y el segundo índice como columnas. Este ejemplo tiene 2 filas y 5 columnas.
|
Los arreglos bidimensionales son comunes y pueden inicializarse usando la siguiente sintaxis. Lógicamente, uno puede pensar en el primer índice como filas y el segundo índice como columnas. Este ejemplo tiene 2 filas y 5 columnas.
|
||||||
@ -112,16 +112,16 @@ Se pueden utilizar dos bucles anidados para imprimir el contenido de una matriz
|
|||||||
|
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
const int rows = 2, cols = 5;
|
const int filas = 2, cols = 5;
|
||||||
|
|
||||||
int arr[rows][cols] = {
|
int arr[filas][cols] = {
|
||||||
{0, 1, 2, 3, 4},
|
{0, 1, 2, 3, 4},
|
||||||
{5, 6, 7, 8, 9}
|
{5, 6, 7, 8, 9}
|
||||||
};
|
};
|
||||||
|
|
||||||
for (int row = 0; row < rows; row++) {
|
for (int fila = 0; fila < filas; fila++) {
|
||||||
for (int col = 0; col < cols; col++) {
|
for (int col = 0; col < cols; col++) {
|
||||||
printf("%5d", arr[row][col]);
|
printf("%5d", arr[fila][col]);
|
||||||
}
|
}
|
||||||
puts("");
|
puts("");
|
||||||
}
|
}
|
||||||
@ -137,27 +137,27 @@ Se pueden utilizar dos bucles anidados para imprimir el contenido de una matriz
|
|||||||
|
|
||||||
## Instrumentos de cuerda
|
## Instrumentos de cuerda
|
||||||
|
|
||||||
Para almacenar cadenas / múltiples caracteres, usamos `char arrays` en C, porque el idioma no tiene un tipo especial incorporado. Una cosa a tener en cuenta es que se agrega automáticamente una terminación nula al final, lo que indica que es el final de la cuerda. Sin embargo, también puede inicializar una cadena con llaves `{}` también, pero debe agregar manualmente el nulo de terminación.
|
Para almacenar cadenas / múltiples caracteres, usamos `char matrices` en C, porque el idioma no tiene un tipo especial incorporado. Una cosa a tener en cuenta es que se agrega automáticamente una terminación nula al final, lo que indica que es el final de la cuerda. Sin embargo, también puede inicializar una cadena con llaves `{}` también, pero debe agregar manualmente el nulo de terminación.
|
||||||
|
|
||||||
Al igual que:
|
Al igual que:
|
||||||
|
|
||||||
```C
|
```C
|
||||||
char string[6] = "Hello"; //here you get Hello\0, which is why we need an array with the length of 6
|
char cadena[5] = "Hola"; //aqui tienes Hola\0, Es por eso que necesitamos una matriz con la longitud de 5
|
||||||
```
|
```
|
||||||
|
|
||||||
Al igual que con las matrices int en el ejemplo anterior, hay varias formas de asignar valores a las matrices char:
|
Al igual que con las matrices int en el ejemplo anterior, hay varias formas de asignar valores a las matrices char:
|
||||||
|
|
||||||
```C
|
```C
|
||||||
char string[] = "I do not want to count the chars in this.";
|
char cadena[] = "No quiero contar los caracteres en esto.";
|
||||||
char string2[] = {'C','h','a','r',' ','b','y',' ','c','h','a','r','\0'};
|
char cadena2[] = {'C','h','a','r',' ','b','y',' ','c','h','a','r','\0'};
|
||||||
char string3[] = "This is a string"
|
char cadena3[] = "Esta es una cadena"
|
||||||
"with two lines";
|
"con dos lineas";
|
||||||
```
|
```
|
||||||
|
|
||||||
Equivalente al enfoque anterior, también puede crear un puntero a una matriz de caracteres:
|
Equivalente al enfoque anterior, también puede crear un puntero a una matriz de caracteres:
|
||||||
|
|
||||||
```C
|
```C
|
||||||
char* string = "I do not want to count the chars in this.";
|
char* cadena = "No quiero contar los caracteres en esto.";
|
||||||
```
|
```
|
||||||
|
|
||||||
## Errores típicos, consejos.
|
## Errores típicos, consejos.
|
||||||
@ -165,9 +165,9 @@ char* string = "I do not want to count the chars in this.";
|
|||||||
* Cuando tiene una matriz llena de valores y desea crear otra matriz que sea exactamente igual a la primera, nunca haga esto:
|
* Cuando tiene una matriz llena de valores y desea crear otra matriz que sea exactamente igual a la primera, nunca haga esto:
|
||||||
|
|
||||||
```C
|
```C
|
||||||
double first[] = {2,3,7};
|
double primero[] = {2,3,7};
|
||||||
double second[] = first;
|
double segundo[] = primero;
|
||||||
//Or this:
|
//O esto:
|
||||||
double a[5], b[5]
|
double a[5], b[5]
|
||||||
a = b;
|
a = b;
|
||||||
```
|
```
|
||||||
@ -187,9 +187,9 @@ La computadora debe saber qué tan grande es el almacenamiento que se debe crear
|
|||||||
* Cuando indexas fuera de la matriz, el compilador no siempre te va a dar un error. Esto se denomina comportamiento indefinido, simplemente no sabemos qué va a pasar. Podría hacer que tu programa se bloquee, simplemente ralentizando, cualquier cosa.
|
* Cuando indexas fuera de la matriz, el compilador no siempre te va a dar un error. Esto se denomina comportamiento indefinido, simplemente no sabemos qué va a pasar. Podría hacer que tu programa se bloquee, simplemente ralentizando, cualquier cosa.
|
||||||
|
|
||||||
```C
|
```C
|
||||||
int test[6];
|
int prueba[6];
|
||||||
int a = test[-2];
|
int a = prueba[-2];
|
||||||
int b = test[89];
|
int b = prueba[89];
|
||||||
```
|
```
|
||||||
|
|
||||||
La razón por la que C no verifica el límite de indexación es simple: C es un lenguaje eficiente. Fue creado, por lo que su programa es el más rápido: se comunica bien con el hardware, etc. Un código C bien escrito no contiene errores de indexación, ¿por qué C querría verificarlo mientras se ejecuta?
|
La razón por la que C no verifica el límite de indexación es simple: C es un lenguaje eficiente. Fue creado, por lo que su programa es el más rápido: se comunica bien con el hardware, etc. Un código C bien escrito no contiene errores de indexación, ¿por qué C querría verificarlo mientras se ejecuta?
|
||||||
|
Reference in New Issue
Block a user