Pascal/Turbo Pascal - Arreglo en turbo pascal

   
Vista:

Arreglo en turbo pascal

Publicado por gabriel mendonca (6 intervenciones) el 28/01/2009 14:38:39
buena necesito ayuda con un programita es sencillo pero soy nuevo en esto. el enunciado dice lo siguiente:

1) Hacer un programa que recibe un arreglo de enteros y un valor entero X. La función regresa en número de veces que se repite el numero X en el arreglo. EJEMPLO

Si el arrreglo tiene los valores de [ 824252 ], el valor es el 2 el resultado debe de ser 3. en pocas palabra es el nnumero de veces que se repite un numero X en el Arreglo. por favor ayudenme gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Arreglo en turbo pascal

Publicado por Willy (181 intervenciones) el 29/01/2009 02:58:33
Hola Gabriel.

La función Str convierte un número en una cadena de caracteres.
La función Length devuelve la cantidad de caracteres de una cadena (Una palabra).

Así tambien: En una variable que llamamos "Palabra", podemos poner Palabra[2] para referirnos al segundo caracter de la cadena.

Aquí tu programa, aunque no debería hacértelo por completo. (Saludos!)
PD. Prueba a cambiar el número y verás como cambia la respuesta.


Uses Crt;
var Contador, I : Integer;
Palabra : String;

Begin
Writeln('Programa para contar cuantas veces aparece el 2 en 824252');
Writeln;
Str(824252,Palabra);
Contador := 0;
For I := 1 to Length(Palabra) do
if Palabra[I] = '2' then Contador := Contador + 1;
Writeln('La cantidad de veces que aparece el 2 es: ',Contador);
ReadKey
End.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Arreglo en turbo pascal

Publicado por gabriel mendonca (6 intervenciones) el 29/01/2009 20:27:50
gracias amigo por todo de verdad me ayudo bastante pero todavia tengo una duda con el enunciado porq el programa debe calcular la cantidad de veces que se repite 1 numero en una cadena de numeros enteros es decir: el numero introducido por el usuarios es "3953763" el numero que se repite es el "3" y la cantidad de veces que se repite es 3 eso es lo que le entendi pero no se como hacerlo..

por favor ayudenme gracias...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Arreglo en turbo pascal

Publicado por Willy (181 intervenciones) el 30/01/2009 06:50:51
Gabriel, creo que no entiendo tu pregunta.
Mira, se trata de un número que vas a convertir en una cadena, o sea una cadena de caracteres tomados como si fueran letras, no números.

Str, te convierte el número en una cadena de caracteres, o sea una palabra(ya no es número)

No lo tomes como un número. Míralo como una palabra.
En el programa que te puse, el número 824252 es convertido en palabra(No número).
Metí esa palabra en la variable "Palabra", puede ser cualquier nombre para una variable string.

Length(824252,CualquierVariableString) hace que tu variable de tipo string adquiera el numero pero como una palabra, no como un número. Al fin de cuentas a nadie le interesa el valor del número, solo se busca cúantas veces se repite el númerito(En este caso cúantas veces se repite la letra '2' porque el 2 como cualquier número puede ser considerado si tu quieres como una letra.

Bueno, For I := 1 to Length(Palabra). Cuántas letras tiene "Palabra"? tiene 7. Cuéntalas.
O sea, es lo mismo que decir: For I := 1 to 7 do...
El siclo se repite 7 veces, el contador al principio tiene un valor de 0.
Yo puse: "si palabra[I]. O sea: I en el primer cilclo tiene un valor de 1, en el segundo tiene un valor de 2 etc.. hasta llegar a 7. Cuando llegue un ciclo en el que "Palabra[Cuanlquier posición]" tiene el valor '2', el contador aumentará a un número más, Este contador es el que cuenta cuántas veces aparece repetida "la letra".

Si tienes dudas, o si no te entendí, o si no me expliqué bien, solo hásmelo saber de nuevo que para eso estamos aquí, a mi me fascina el Pascal y me gusta enseñarlo.
hehe.

Str(824252,Palabra);
Contador := 0;
For I := 1 to Length(Palabra) do
if Palabra[I] = '2' then Contador := Contador + 1;
Writeln(Contador);

Es simple!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Arreglo en turbo pascal

Publicado por gabriel mendonca (6 intervenciones) el 30/01/2009 22:56:37
GRACIAS POR LA AYUDA a ver si me explico mejor:

es un numero cualquiera que se introduzca o palabra, lo que se quiere es cuantas veces se repite un numero o letra en una cadena o en el arreglo sin importar si es en la segunda posicion o en la tercera.

amigo lo que me gustaria aclarar es que no es necesario que sea el numero 2 o el segundo caracter, sino que hay que recorrer todo el arreglo a ver cual nuemro se repite y las veces...

"Ahora si me explico bien"

y disculpa de verdad se me ha echo dificil los arreglo y vectores no los entiendo...

1) como se declaran
2) como hago para recorrerlos
3) como hago una suma de ellos

estas son alguna de todas las dudas que tengo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Arreglo en turbo pascal

Publicado por gabriel mendonca (6 intervenciones) el 30/01/2009 22:58:34
aqui hay otro ejercicio a ver si me puedes ayudar, y disculpa las molestias de nuevo

"Almacenar 15 numeros en un vector, imprimir cuantos son ceros, cuantos son negativos, cuantos positivos, imprimir ademas la suma de los negativos y la suma de los positivos"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Arreglo en turbo pascal

Publicado por Willy (181 intervenciones) el 06/02/2009 05:59:34
A ver Gabriel..

Un arreglo no es más que una variable que puede almacenar varios valores. Estos valores pueden ser números, letras, palabras. etc..

La forma más sencilla de declarar los arreglos es como sigue:

Program Ejercicio;
var X: array[1..4] of integer; {Sólo esta línea necesitas para declarar el arreglo}
J : integer; {Esta es simplemente otra variable que quise poner}

{Si quieres puedes inicializar el arreglo. O sea, darle un valor inicial a cada una de las cuatro casillas de nuestro arreglo X}

Begin
X[1] := 9;
X[2] := 3; {El valor de la segunda casilla de tu arreglo ahora es : 3}
X[3] := 7;
X[4] := 8;

{Aquí estarías recorriendo tu arreglo:}

For J := 1 to 4 do
WriteLn(X[J]); {Esto imprimiría en pantalla lo siguiente:}
{ 9 }
{ 3 }
{ 7 }
{ 8 }

Writeln(X[2]); {Esto imprimiría en pantalla un: 3}
End.

No olvides que puedes declarar arreglos de tipo char, string, etc..
Otro ejemplo:

{Este arreglo sería para almacenar cuatro caracteres o sea cuatro letras}
var X: array[1..4] of char;

Aquí termina este post. Continuamos a la próxima!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Arreglo en turbo pascal

Publicado por yo (2 intervenciones) el 25/05/2009 16:31:21
no chinguen no me sirbio de nada
atte
yo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Arreglo en turbo pascal

Publicado por yo (2 intervenciones) el 25/05/2009 16:37:08
no chinguen no me sirbio de nada
ctm
atte
yo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Arreglo en turbo pascal

Publicado por yotube (6 intervenciones) el 12/08/2009 22:47:51
    hola
    estoy
probando
  indentado
      no sirve
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Arreglo en turbo pascal

Publicado por yotube (6 intervenciones) el 14/08/2009 09:29:07
<pre>
Program prueba_Indentado;
uses crt;
begin
writeln('hola');
writeln('nos vemos luego');
end.

Esta es la prueba de que pueden implementar código HTML aquí
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Arreglo en turbo pascal

Publicado por yotube (6 intervenciones) el 14/08/2009 09:30:58
<pre>
Program prueba_Indentado;
uses crt;
begin
writeln('hola');
writeln('nos vemos luego');
end.

Esta es la prueba de que pueden implementar código HTML aquí
</pre>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Arreglo en turbo pascal

Publicado por yotube (6 intervenciones) el 14/08/2009 09:32:46
<pre>
Program prueba_Indentado;
uses crt;
begin
writeln('hola');
writeln('nos vemos luego');
end.

Esta es la prueba de que pueden implementar código HTML aquí
<pre/>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Arreglo en turbo pascal

Publicado por yotube (6 intervenciones) el 14/08/2009 09:40:10
<code>
program code;
begin
writeln('hola');
end.
¿Funciona?
</code>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Arreglo en turbo pascal

Publicado por yotube (6 intervenciones) el 14/08/2009 09:42:19
<quote>
program code;
begin
writeln('hola');
end.
¿Funciona?
</quote>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Arreglo en turbo pascal

Publicado por Emiro Irausquin (2 intervenciones) el 01/12/2009 23:36:24
program contar;
VAR
C,I,X,N,A:array(1..100) of integer;
BEGIN
C:=0;
WRITE('Cuantos valores tiene el arreglo <= 100);
READ(N);
WRITE('Cual es el valor a buscar ?:');
READ(X);

FOR I:= 1 TO N do
BEGIN
WRITE('VALOR ', I:3);
READ( A[i] );
END;

FOR I:=1 TO N do
IF A[I]=X THEN
C:=C+1;
WRITE('El valor ', X:3, ' aparece ', C:3, ' veces ', ' en el arreglo dado ');
end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar