1- ¿Qué diferencia hay entre esto:
Código C++:
Ver original
#include<iostream> using namespace std; int cuadrado(int n){ return n*n } int main(){ return 0; }
Y esto:
Código C++:
Ver original
#include<iostream> using namespace std; int cuadrado(int); int main(){ return 0; } int cuadrado(int n){ return n*n }
Bueno eso sería la primera duda. La segunda duda:
2-
Resulta que estoy haciendo un programa que te calcula si una frase es palíndromo. En este caso el programa se divide en 4 secciones y 3 funciones (Luego pongo el código, para que me ayuden). La primera sección el usuario ingresa una frase por ejemplo: " a nita la v4a la ti n3'1a", luego se muestra la frase ingresada y el tamaño de esta. En este caso 35.
La segunda sección es declarar una variable y asignarle un valor que regresa la función "nuevoSize". Lo que hace es chequear en la frase ingresada la cantidad de letras que hay, en este caso 15. (Lo almaceno en la variable "id").
Entonces luego declaro una variable char texto[id]. La tercera sección es la que quiero saber como hacerla función (Por ahora la tengo en main) lo que hace es convertir la frase ingresada al inicio en solo letras, en este caso quedaría
texto[id] = "anitalavalatina"; con un tamaño de 15. Y la cuarta y última sección es chequear si texto[id] es palíndromo o no.
Bueno les dejo el código y la pregunta (Si leyeron lo de antes sabrán que es lo que pido).
Código C++:
Ver original
#include <iostream> #include <conio.h> #include <stdlib.h> #include <ctype.h> #include <string.h> using namespace std; bool palindromo(char texto[], int tama){ for(int x = 0; x < tama/2; x++) if (texto[x] != texto[tama - x -1]) return false; return true; } int nuevoSize(char texto[], int tama){ int id = 0, x = 0; while(x < tama){ id++; x++; } return id; } int main() { char frase[120]; int size; cout << "Ingrese Texto: " << endl; cin.getline(frase, 120, '\n'); cout << "Su Frase: " << endl << endl; cout << frase << endl << endl; cout << "Tamanio frase: " << size << endl << endl; //Calculamos la cantidad de elemento que debe contener la nueva cadena de caracteres int id = nuevoSize(frase, size); /* Esto es lo que quiero hacer pero me da error*/ //char texto [id] = convertirTexto(frase, size, id); char texto[id]; /* *********** Comienzo Función ******************** */ //char convertirTexto(char frase, int size, int id) int xx = 0; //va recorriendo y si el caracter es una letra entonces se la añade a texto for(int i = 0; i < size; i++) { xx++; } else if (xx >=id) break; /* *********** Fin Función ******************** */ cout << "Su Frase Convertida: " << endl << endl; cout << texto << endl << endl; cout << "Tamanio Frase: " << id << endl << endl; if (palindromo(texto, id)) cout << "Su Frase si es Palindromo" << endl; else cout << "Su Frase no es Palindromo" << endl; getche(); return 0; }
El programa funciona perfectamente, pero tengo problemas al convertir lo que está en /* ************* */ en una función que devuelva un valor de tipo char en este caso haciendo que texto[id] = convertirTexto(char frase, int size int id).
Espero me ayuden gracias!