Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Solución sobre dos ejercicio de programación en C++. Por favor

Estas en el tema de Solución sobre dos ejercicio de programación en C++. Por favor en el foro de C/C++ en Foros del Web. Hola a todos, miren tengo que hacer estos estos ejercicio pero no se logro que se me quede la programación y ya tengo el tiempo ...
  #1 (permalink)  
Antiguo 25/11/2013, 09:44
 
Fecha de Ingreso: noviembre-2013
Mensajes: 8
Antigüedad: 10 años, 5 meses
Puntos: 0
Solución sobre dos ejercicio de programación en C++. Por favor

Hola a todos, miren tengo que hacer estos estos ejercicio pero no se logro que se me quede la programación y ya tengo el tiempo muy justo. Me preguntaba si me podríais ayudar, sois mi ultima baza.

Esto son los ejercicio.

Ejercicio 1: Escribir un programa con una función que calcule la longitud de una cadena de
caracteres. El nombre de la función será LongitudCadena, debe devolver un int, y como
parámetro de entrada debe tener un puntero a char.
En esta función no se pueden usar enteros para recorrer el array, usar sólo punteros y
aplicar aritmética de punteros.
En main probar con distintos tipos de cadenas: arrays y punteros.

Ejercicio 2: Escribir un programa que lea un número, que indica cuántos números enteros serán
guardados en un vector, crear el vector para almacenar el tamaño exacto de los datos y
entonces leer los enteros que serán guardados en el vector. Posteriormente se han de
mostrar los elementos en orden inverso y liberar la memoria que se ha reservado.

Muchísimas gracias de antemano a todo el que me ayude y un saludo
  #2 (permalink)  
Antiguo 26/11/2013, 07:25
 
Fecha de Ingreso: mayo-2012
Mensajes: 61
Antigüedad: 12 años
Puntos: 23
Respuesta: Solución sobre dos ejercicio de programación en C++. Por favor

No te voy a hacer el ejercicio, pero te puedo dar orientaciones para hacerlo.

1- Estudia!, la programación se aprende estudiando y practicando
2- Para el ejercicio numero 1, es realmente sencillo:

Si tienes una cadena en una variable
Código:
 char* cadena;
cadena es un puntero de tipo char que apunta al primer caracter de la cadena.

realmente, *cadena seria el primer carácter, por lo que si usando aritmética de puntero incrementas cadena en 1 (cadena++), *cadena ahora es el segundo carácter.

También comentar que el ultimo carácter de una cadena en C, termina en "\0".

Ahí lo está, bucle, un contador y ya lo tienes.


3- El segundo es fácil, solo debes reservar la memoria para tantos elementos como debas crear, imprimirlo empezando por el final y liberar la memoria creada.

mírate el uso de malloc y de free:

http://www.cplusplus.com/reference/c...loc/?kw=malloc

http://www.cplusplus.com/reference/c.../free/?kw=free


Saludos!
  #3 (permalink)  
Antiguo 02/12/2013, 05:15
 
Fecha de Ingreso: noviembre-2013
Mensajes: 8
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: Solución sobre dos ejercicio de programación en C++. Por favor

Sobre el ejercicio uno logre hacer esto.

#include <iostream>

using namespace std;

int LongitudCadena(char*);

int main(){
cout << "CALCULAR LONGITUD CADENA_____________" << endl << endl;

cout << "CON ARRAY" << endl;
char cadena[10];
cout << "Introduce una cadena de texto: ";
cin >> cadena;
cout << "La cadena introducida tiene " << LongitudCadena(cadena) << " caracteres" << endl;;
cout <<endl;

cout << "CON PUNTEROS" << endl;
char *cadena2 = new char[10];
cout << "Introduce una cadena de texto: ";
cin >> cadena2;
cout << "La cadena introducida tiene " << LongitudCadena(cadena2) << " caracteres";

cout <<endl;
system("PAUSE");
}

int LongitudCadena(char* cadena){
int longitud = 0;

return longitud;
}

Me salen estos errores.

1>------ Operación Generar iniciada: proyecto: Demo, configuración: Debug Win32 ------
1>Compilando...
1>CPP.cpp
1>c:\users\ismael\desktop\app\tema 6\demo\demo\cpp.cpp(19) : warning C4305: '=' : truncamiento de 'double' a 'float'
1>c:\users\ismael\desktop\app\tema 6\demo\demo\cpp.cpp(25) : error C2065: 'gt' : identificador no declarado
1>c:\users\ismael\desktop\app\tema 6\demo\demo\cpp.cpp(25) : error C2065: 'x' : identificador no declarado
1>El registro de compilación se guardó en el "file://c:\Users\Ismael\Desktop\App\Tema 6\Demo\Demo\Debug\BuildLog.htm"
1>Demo - 2 errores, 1 advertencias
========== Generar: 0 correctos, 1 incorrectos, 0 actualizados, 0 omitidos ==========

No se avanzar mas. Ayuda por favor.
Muchas gracias de antemano :)
  #4 (permalink)  
Antiguo 02/12/2013, 06:03
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 7 meses
Puntos: 38
Respuesta: Solución sobre dos ejercicio de programación en C++. Por favor

eh compilado tu programa con dev c++ orwel y funciona perfecto.
Solo que como mandas el programa imprime 0 en ambos casos.
Que compilador/ide usas?Y que configuracion tienes?
  #5 (permalink)  
Antiguo 02/12/2013, 06:10
 
Fecha de Ingreso: noviembre-2013
Mensajes: 8
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: Solución sobre dos ejercicio de programación en C++. Por favor

Mi copilador es Microsoft Visual C++ Express 2008 y sobre la configuración no te entiendo, lo siento.
  #6 (permalink)  
Antiguo 02/12/2013, 06:16
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 7 meses
Puntos: 38
Respuesta: Solución sobre dos ejercicio de programación en C++. Por favor

pues compañero...descarga el dev c++ y prueba tu código.
No tiene ningun error.
Ahora que el VC++ te tira fallos pues nada puedo hacer XD
A ver si alguien mas prueba tu código.
No lo eh tocado nanana
  #7 (permalink)  
Antiguo 02/12/2013, 06:22
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 7 meses
Puntos: 38
Respuesta: Solución sobre dos ejercicio de programación en C++. Por favor

1>------ Operación Generar iniciada: proyecto: Demo, configuración: Debug Win32 ------
1>Compilando...
1>CPP.cpp
1>c:\users\ismael\desktop\app\tema 6\demo\demo\cpp.cpp(19) : warning C4305: '=' : truncamiento de 'double' a 'float'
1>c:\users\ismael\desktop\app\tema 6\demo\demo\cpp.cpp(25) : error C2065: 'gt' : identificador no declarado
1>c:\users\ismael\desktop\app\tema 6\demo\demo\cpp.cpp(25) : error C2065: 'x' : identificador no declarado
1>El registro de compilación se guardó en el "file://c:\Users\Ismael\Desktop\App\Tema 6\Demo\Demo\Debug\BuildLog.htm"
1>Demo - 2 errores, 1 advertencias
========== Generar: 0 correctos, 1 incorrectos, 0 actualizados, 0 omitidos ==========

1º que si miras los errores son muy tontos.
dice que los identificadores "x" y "gt" no estan declarados y no tienes nada con x ni gt, el primero es un aviso, en teoria no deberia impedir que se compilara.
  #8 (permalink)  
Antiguo 02/12/2013, 20:33
 
Fecha de Ingreso: noviembre-2013
Mensajes: 8
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: Solución sobre dos ejercicio de programación en C++. Por favor

cout <<endl;
system("PAUSE");
}

int LongitudCadena(char* cadena){
int longitud = 0;

return longitud;
}

En uno de esos huecos en blanco tengo q rellenarlos co algun codigo pero no se cual.

Siento mi ignorancia.

Etiquetas: c++, dudas, ejercicios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:16.