| Ver tema anterior :: Ver siguiente tema | | Autor | Mensaje |
|---|
fdymendo
Registrado: 15 Ago 2013 Mensajes: 1
| Publicado: 15/08/2013 1:33 pm | | | Título: Buscar letra x en string. |
| Me pidieron hacer un programa que tenga una cadena de caracteres, y que busque cuales son letras mayuscula, y las agregue en otra cadena, llevo un codigo pero me surgen ciertos problemas. 1. cuando intento agregar un caracter especifico de la cadena, no me agrega nada.
SOLO MAYUSCULAS es decir que si esta es mi cadena: 123LK, luego cuando agregue a otra cadena solo este LK, e imprima esa cadena. este es mi codigo
tengo estos errores segun yo, no se como agregar un valor x de una cadena y sumarlo a otra. cuando manejo el segundo for, aparece en blanco la impresion.
manejo code blocks. Tengo windows 8
| Código: | #include <iostream> #include <string> using namespace std;
int main() { string s1 []= "SA12#3$.483abZ14lm1%5A"; string abecedario[]="ABCDEFGHIJKLMNÑOPQRSTUVWXYZ"; string letras; string vocales; string simbolos; string numeros;
int i=0; int s=0; string v[100]; for (i=0;i<=26;i++){ for(s=0;s<=26;s++){ if (abecedario[s]==s1[i]){ cout<<s1[0][i]<<endl; v= 'v' +'s1'; s=s+30; } } } cout<<v<<endl; }
|
|
| | Volver arriba | |  | daltomi
Registrado: 28 Abr 2007 Mensajes: 335 Ubicación: Argentina
| Publicado: 15/08/2013 4:43 pm | | | Título: |
| Buenas. Necesitas un buen repaso de C++ ya que todo lo estas haciendo "a la C".
De todas maneras muestro 2 ejemplos, el primero con el estándar "viejo" y el segundo con C++0x, de cómo podrías resolver el problema.
| Código: | #include <iostream> #include <string> #include <algorithm> #include <cctype>
using namespace std;
struct esMayuscula { esMayuscula(string& str) : ref(str) { }
void operator()(char c) { if( isupper(c) ) { ref += c; } } private:
string& ref; };
int main() { const string datos("SA12#3$.483abZ14lm1%5A"); string resultado;
for_each ( datos.begin(), datos.end(), esMayuscula(resultado) );
cout << resultado << endl; }
|
Para el segundo deberás activar el estándar C++0x desde tú compilador. Generalmente para el compilador GCC en Windows es: -std=gnu++0x.
| Código: | #include <iostream> #include <string> #include <algorithm> #include <cctype>
using namespace std;
int main() { const string datos("SA12#3$.483abZ14lm1%5A"); string resultado;
std::copy_if ( datos.begin(), datos.end(), back_inserter(resultado), [](char c){ return isupper(c); } ); cout << resultado << endl; }
|
Saludos. |
| | Volver arriba | |  | | |
| No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas
|
|
| |