C/Visual C - ejercicio_C

 
Vista:

ejercicio_C

Publicado por enerre (1 intervención) el 09/08/2006 02:04:34
Hola gente! estoy intentando aprender a programar en C, me está costando un poco y quería ver si alguien me hecha una ayudita en unas dudas que tengo, gracias.

Ahi va:

1)-Escribir una función que reciba una cadena y un carácter y elimide de la cadena todas las apariciones de dicho carácter reoriganizando la cadena, es decir suprimiendo los huecos.

Os agradezco cualquier ayuda, creo que no es demasiado dificil el programa pero no tengo los conocimientos para resolverlo.


Este otro también me vendría bien que me lo comentaráis:

2)-Escribir un programa que calcule y visualice la media aritm´etica de un vector de 10 números enteros(introducidos por el usuario), utilizando una variable puntero que apunte a dicho vector.
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:ejercicio_C

Publicado por Nelek (816 intervenciones) el 09/08/2006 23:47:22
1) Para cadenas y demas yo uso el CString (que en C no existe) para mí la función sería: CString QuitaLetraDeCadena (CString szCadena, char cLetra)
Pero como ya te he dicho eso no cuela en C, así que.. la función te la buscas tu mismo. Pero en el contenido...

// Aqui la función con su retorno, y parametros de entrada
{
//doy por hecho lo necesario antes de esto, que es el recorrer la cadena y quitar el
//carater especificado. Lo hago con variables locales para que veas como, luego
//ya te lo adaptas tú mismo.
int posicion = 0, cuenta = 0;
char LetraASuprimir;
char CadenaRecibida[limite];
char CadenaTemporal [limite];

for (int i = 0; i < limite; i++)
{
if (CadenaRecibida[i] != LetraASuprimir)
{
CadenaTemporal [cuenta] = CadenaRecibida [i];
cuenta++;
posicion++;
}
}

Con esto quitarias la letra prohibida de la cadena introducida como parametro. quedandose los huecos vacios al final de la cadena temporal. Como no quieres los huecos, pues seguimos.

char CadenaResultado [limite - cuenta];
for (int j = 0; j < (limite-cuenta); j++)
{
CadenaResultado [j] = CadenaTemporal [j];
}

Ya lo tienes, sin huecos al final.

Nota: si te da fallos al declarar el vector con los valores de "limite y cuenta" ya que normalmente se declaran con constantes previamente o los numeros directamente. Declaralos dinamicamente.

2) Un puntero al vector? o un vector de punteros a sus posiciones?
Yo te lo escribo a lo normal, y luego lo adaptas tu a punteros.

void main ()
{
int VectorNumeros [10];
for (int i = 0; i < 10; i++)
{
printf ("Introduce el numero a guardar en la posicion %d", i);
scanf ("%d", &VectorNumeros[i]);
}

int suma = 0;

for (int j = 0; j < 10; j++)
{
suma = suma + VectorNumeros [j];
}

float resultado = suma / 10.0;

printf ("la media aritmetica de los 10 numeros introducidos es %f", resultado);
}
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