Autor
|
Tema: RETOS C++ (Leído 55,967 veces)
|
dato000
Desconectado
Mensajes: 3.034
|
Perdón por el doble post, pero son cosas diferentes.Entiendo, pero por el texto de la consigna "Un programa que diga el nombre de dígitos que tiene el texto introducido ", no interpreté que se tratase de la cantidad de caracteres de la cadena ingresada. Entonces: #include<iostream> using namespace std; int main() { string texto; cout << "Texto: "; getline(cin, texto); cout << "El texto tiene " << texto.length() << " caracteres."; cin.get(); return 0; }
Saludos. mi solución, me falla porque no lee espacios, y averiguando encontre que la solución de ecfisa, es la mejor... #include <iostream> using namespace std; int main() { char palabra[100]; int contador = 0; cout << "Digita la palabra: "; cin >> palabra; for (int i = 0; i < 100; i++ ) { if ( palabra[i] != '\0' ) contador++; else break; } cout << "LA PALABRA TIENE " << contador << " LETRAS"; return 0; }
De todas maneras, lo intente XDD buenos retos. Sigo!!
|
|
« Última modificación: 1 Octubre 2012, 01:52 am por dato000 »
|
En línea
|
|
|
|
overxfl0w13
|
RETO 13 (Sudoku) No consigo entender el enunciado, lo que se ha dado, ¿un sudoku?, no sé como se puede dar un sudoku, lo he interpretado como hacer un sudoku de un tamaño a elegir por el programador, he escogido 4x4 para no alargar el code. Aquí dejo el source: Window.hpp #include <QtGui> #include<QMessageBox> class window : public QMainWindow { Q_OBJECT public: window(); void constructWindow(); public slots: void compruebaSudoku(); private: QLineEdit *numero1,*numero2,*numero3,*numero4,*numero5,*numero6,*numero7,*numero8,*numero9,*numero10, *numero11,*numero12,*numero13,*numero14,*numero15,*numero16; QVBoxLayout *mainLayout; QHBoxLayout *primLayout,*segLayout,*terLayout,*cuarLayout; QPushButton *acceptButton; QWidget *myWindow; QMessageBox *finalizado,*error; };
Window.cpp #include "window.hpp" window::window() { numero1 = new QLineEdit; numero2 = new QLineEdit; numero3 = new QLineEdit; numero4 = new QLineEdit; numero5 = new QLineEdit; numero6 = new QLineEdit; numero7 = new QLineEdit; numero8 = new QLineEdit; numero9 = new QLineEdit; numero10 = new QLineEdit; numero11 = new QLineEdit; numero12 = new QLineEdit; numero13 = new QLineEdit; numero14 = new QLineEdit; numero15 = new QLineEdit; numero16 = new QLineEdit; mainLayout = new QVBoxLayout; primLayout = new QHBoxLayout; segLayout = new QHBoxLayout; terLayout = new QHBoxLayout; cuarLayout = new QHBoxLayout; finalizado = new QMessageBox; error = new QMessageBox; finalizado->setText("Sudoku Finalizado"); error->setText("El sudoku introducido no es valido o no es correcto"); acceptButton = new QPushButton("Aceptar"); myWindow = new QWidget; myWindow->setMaximumSize(200,200); myWindow->setMinimumSize(200,200); myWindow->setWindowTitle("Sudoku 4x4 Overxfl0w"); constructWindow(); QObject::connect(acceptButton,SIGNAL(clicked()),this,SLOT(compruebaSudoku())); myWindow->show(); } void window::constructWindow() { numero2->setText("4"); numero3->setText("2"); numero4->setText("3"); numero5->setText("3"); numero6->setText("2"); numero7->setText("1"); numero8->setText("4"); numero10->setText("3"); numero11->setText("4"); numero15->setText("3"); numero2->setReadOnly(true); numero3->setReadOnly(true); numero4->setReadOnly(true); numero5->setReadOnly(true); numero6->setReadOnly(true); numero7->setReadOnly(true); numero8->setReadOnly(true); numero10->setReadOnly(true); numero11->setReadOnly(true); numero15->setReadOnly(true); primLayout->addWidget(numero1); primLayout->addWidget(numero2); primLayout->addWidget(numero3); primLayout->addWidget(numero4); mainLayout->addLayout(primLayout); segLayout->addWidget(numero5); segLayout->addWidget(numero6); segLayout->addWidget(numero7); segLayout->addWidget(numero8); mainLayout->addLayout(segLayout); terLayout->addWidget(numero9); terLayout->addWidget(numero10); terLayout->addWidget(numero11); terLayout->addWidget(numero12); mainLayout->addLayout(terLayout); cuarLayout->addWidget(numero13); cuarLayout->addWidget(numero14); cuarLayout->addWidget(numero15); cuarLayout->addWidget(numero16); mainLayout->addLayout(cuarLayout); mainLayout->addWidget(acceptButton); myWindow->setLayout(mainLayout); } void window::compruebaSudoku() { if(numero1->text() == "1" && numero12->text() == "1" && numero16->text() == "2" && numero14->text() == "1" && numero9->text() == "2" && numero13->text() == "4") { finalizado->exec(); exit(0); } else error->exec(); }
main.cpp #include "window.hpp" int main(int argc, char *argv[]) { QApplication app(argc, argv); window window; return app.exec(); }
He usado Qt si ves que no puedes compilarlo, te paso el .exe compilado en estático.
|
|
|
En línea
|
[/url]
|
|
|
zonahurbana
Desconectado
Mensajes: 178
RS, JC.
|
zonahurbana
a.cpp:6: warning: converting NULL to non-pointer type
yo utilizaria la funcion max(); de la libreria algortihm que te estalvia algunos if.
En CodeBlocks no me muestra error. ¿Usted podría recomendarme algún IDE? Yo nunca hice eso de inicializar como NULL a un entero. Esta vez lo hice por probar, y como no me daba error, creí que era correcto. Lo que normalmente habría hecho es no inicializar la variable mayor. Ésta adoptaría como primer valor a nros[0]; y ya luego haría las comparaciones. Pero, ¿hay alguna manera de inicializar a un entero de modo que al compararlo siempre sean mayores que él? (Es decir, de modo que cual fuere el primer valor, reemplace a lo que venía por defecto y luego se continúe normalmente el proceso de comparación) ¿Aquella librería de la que usted habla es estándar? Es que siempre están diciendome que evite incluir librería no estándares. ¿Y sobre mi pregunta de la pausa? Gracias por responder.
|
|
|
En línea
|
Nunca dejar de aprender es importante, más allá del ritmo que se siga ...
|
|
|
dato000
Desconectado
Mensajes: 3.034
|
2- Crear programa que lea el contenido de un archivo de texto.umm lo hice a lo simple, corto y claro. #include <iostream> #include <fstream> using namespace std; int main () { ifstream nuevo("prueba.txt"); char nombre[100]; nuevo.getline(nombre, 100); cout << nombre; return 0; }
|
|
|
En línea
|
|
|
|
overxfl0w13
|
RETO 5 #include <iostream> #include <fstream> using namespace std; int main(int argc,char* argv) { char palabraGenerada[10]; ofstream archivo; archivo.open("diccionario.txt",ofstream::app); for(int x=97;x<=122;x++) { for(int y=97;y<=122;y++) { for(int j=97;j<=122;j++) { for(int z=97;z<=122;z++) { for(int a=97;a<=122;a++) { for(int b=97;b<=122;b++) { for(int m=97;m<=122;m++) { for(int n=97;n<=122;n++) { for(int p=97;p<=122;p++) { archivo << char(x) << char(y) << char(j) << char(z) << char(a) << char(b) << char(m) << char(n) << char(p) << "\n"; } } } } } } } } } return 0; }
RETO 6 (Windows 7) #include <windows.h> int main(int argc,char* argv) { SetCursorPos(0, 780); mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, GetMessageExtraInfo()); SetCursorPos(320,700); mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, GetMessageExtraInfo()); mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, GetMessageExtraInfo()); return 0; }
110 puntitos y espero el bonus por ser el primero en el 6 Saludos
|
|
« Última modificación: 1 Octubre 2012, 14:48 pm por overxfl0w13 »
|
En línea
|
[/url]
|
|
|
Stakewinner00
|
los bonues son por utilizar la funcion max o para crear un buen programa compatible con todo.
como algunos codigos de do-while
PD:Para saber si va el 6 lo tenog k probar, y me da miedo de k no salga error XDXD
PPD:Ya lo probe
|
|
« Última modificación: 1 Octubre 2012, 15:12 pm por Stakewinner00 »
|
En línea
|
|
|
|
overxfl0w13
|
los bonues son por utilizar la funcion max o para crear un buen programa compatible con todo.
como algunos codigos de do-while
PD:Para saber si va el 6 lo tenog k probar, y me da miedo de k no salga error XDXD
bonus por usar max? no era por el primero o por el codigo más corto? eso pone en el primer post pero bueno xD.
|
|
|
En línea
|
[/url]
|
|
|
Stakewinner00
|
bonus por usar max? no era por el primero o por el codigo más corto? eso pone en el primer post pero bueno xD.
lo del codigo mas corto si despues añadi lo de max para el numeor más grande El codigo mas corto o el codigo mas rápido ganara un bónus. Lo del primero no lo dice. Cuando tenga tiempo revisare todos los códigos y comprobare cual va más rápido. PD:Si alguien ve k le sume demasiados puntos o demasiados pocos k se queje
|
|
|
En línea
|
|
|
|
overxfl0w13
|
RETO 4 #include <iostream> int main(int argc,char* argv) { std::string palabra1,palabra2,palabra3,palabra4; std::cin >> palabra1 >> palabra2 >> palabra3 >> palabra4; if(palabra1 < palabra2 && palabra1 < palabra3 && palabra1 < palabra4){std::cout <<"La palabra mas pequenya es: " << palabra1 << std::endl;} else{if(palabra2 < palabra1 && palabra2 < palabra3 && palabra2 < palabra4){std::cout <<"La palabra mas pequenya es: " << palabra2 << std::endl;} else{if(palabra3 < palabra2 && palabra3 < palabra1 && palabra3 < palabra4){std::cout <<"La palabra mas pequenya es: " << palabra3 << std::endl;} else{if(palabra4 < palabra2 && palabra4 < palabra3 && palabra4 < palabra1){std::cout <<"La palabra mas pequenya es: " << palabra4 << std::endl;}}}} if(palabra1 == palabra2 && palabra1 == palabra3 && palabra1 == palabra4){std::cout <<"Todas las palabras son iguales" << std::endl;} return 0; }
|
|
« Última modificación: 1 Octubre 2012, 15:52 pm por overxfl0w13 »
|
En línea
|
[/url]
|
|
|
Stakewinner00
|
ahora miro el code peor no seria mejor esto; #include <iostream> #include <algorithm> using namespace std;
int main () { int a,b,c,d; cin >> a >> b >> c >> d;
if (max(a,b)>max(c,d)) { cout << max(a,b) << endl; } else { cout << max(c,d) << endl; } }
usando max con un solo if basta para comparar los 4 numeros, seguramente hay otras formas pero esta es una.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
[RECOPILACION DE RETOS] VBClassic Por 79137913
Programación Visual Basic
|
79137913
|
5
|
14,440
|
21 Enero 2013, 18:58 pm
por 79137913
|
|
|
Zona de retos Scripting
« 1 2 3 »
Scripting
|
Eleкtro
|
23
|
55,569
|
20 Enero 2014, 19:16 pm
por Eleкtro
|
|
|
Retos de java
« 1 2 »
Java
|
4dr14n31t0r
|
10
|
5,717
|
22 Enero 2016, 16:06 pm
por 0xFer
|
|
|
Retos forenses en español?
Dudas Generales
|
Sapote
|
0
|
2,067
|
22 Mayo 2017, 02:58 am
por Sapote
|
|
|
Retos(1 - 15) (wardGame)
« 1 2 »
Desafíos - Wargames
|
4A45414E
|
14
|
8,111
|
10 Noviembre 2018, 03:16 am
por zonahurbana
|
|