Título: ayuda con estos dos simples ejercicios de C++ :( Publicado por: xboxone007 en 2 Diciembre 2013, 12:51 pm Hola a todos, miren tengo que hacer estos estos ejercicio pero no 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. 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:cpp.cpp(19) : warning C4305: '=' : truncamiento de 'double' a 'float' 1>c:cpp.cpp(25) : error C2065: 'gt' : identificador no declarado 1>c:cpp.cpp(25) : error C2065: 'x' : identificador no declarado 1>El registro de compilación se guardó en el "file://c:Debug\BuildLog.htm" 1>Ejer - 2 errores, 1 advertencias ========== Generar: 0 correctos, 1 incorrectos, 0 actualizados, 0 omitidos ========== Muchísimas gracias de antemano a todo el que me ayude y un saludo. Título: Re: ayuda con estos dos simples ejercicios de C++ :( Publicado por: dato000 en 2 Diciembre 2013, 14:44 pm Te hace falta pulir conocimientos sobre punteros, no es tan dificil, pero se lo que estas pasando, tratar de entender punteros al principio puede ser complicado y fastidioso, pero cuando lo entiendas verás la potencia y facilidad que tienen.
Para entender tales conceptos te dejo los siguientes enlaces, te recomiendo que los leas y trates de entenderlos con la mejor disposición, pues sino entiendes conceptos tan básicos te garantizo que en el futuro te ira mucho peor y serás un programador de cuarta, puede que tengas trabajo, pero como profesional serás mediocre. Aritmetica de punteros (http://www.zator.com/Cpp/E4_2_2.htm) Punteros de Caracteres y Cadenas (http://maxus.fis.usal.es/FICHAS_C.WEB/07xx_PAGS/0702.html) Objetos Dinamicos (http://c.conclase.net/curso/?cap=012d) Ahora el primer ejercicio: Citar -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. Código
Hay que tener que funciona con una palabra, no tiene en cuenta espacios, para eso se complica el asunto, y lo importante es entender el manejo de suma de punteros y paso por referencia, además, ya teniendo la libreria string.h ya hay funciones que trabajan todo eso de una manera más limpia. |