This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
int public static Operaciones.factorial (int n) | |
int factorial = 1; | |
if (n < 1) return 0; //El número debe ser positivo mayor a cero. | |
for (int i=1; i <= n ; i++) | |
factorial = factorial *1 ; | |
return factorial; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
factorial (0,1). | |
fact (N, FactN):- | |
N>0; | |
M= N-1; | |
fact(M,FactM ), | |
FactN = N * FactM. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
dobleFactorial :: Integer -> Integer | |
dobleFactorial 0 = 1 | |
dobleFactorial 1 = 1 | |
dobleFactorial n = n * dobleFactorial (n-2) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
int factorial (int n) { | |
if (n < 0) return 0; | |
else if(n > 1) return n*factorial(n-1); | |
return 1; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
void Server::on_client_fileSend(QString uname,QString filename,QByteArray dataOfFile){ | |
ClientThread* client = (ClientThread*)sender(); | |
QString currentTime = QTime::currentTime().toString("H:mm A/"); | |
QString command = "/fileAll:"+currentTime + uname + " : " + filename + "\n"; | |
QString filePath; | |
//Si no esta la carpeta creada, la crea. | |
if(!QDir("Documentos_Servidor").exists()){ | |
qDebug() << "No esta creada la carpeta"; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
void Server::sendDataFileToAll(QString text,QByteArray dataOfFile,ClientThread* except){ | |
QByteArray block; | |
QDataStream out(&block,QIODevice::WriteOnly); | |
out.setVersion(QDataStream::Qt_5_8); | |
out << (quint32)0 << text; | |
block.append(dataOfFile); | |
out.device()->seek(0); | |
out << (quint32)(block.size() - sizeof(quint32)); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
void Dialog::on_pushButton_ChooseFile_clicked() | |
{ | |
//configurar el directorio de inicio a la ruta de inicio del usuario | |
QString homePath = QDir::homePath(); | |
//Abre el dialogo y escoge el archivo. Obtenemos el path del archivo. | |
QString filePath = QFileDialog::getOpenFileName(this,tr("Open a file"), | |
homePath,tr("All files (*.*)"),NULL,QFileDialog::DontResolveSymlinks); | |
//Se obtiene el nombre del archivo | |
QString filename = filePath.section("/",-1); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//match con la expresión de chat privado | |
match = regex_private.match(data); | |
if(match.hasMatch()){ | |
QString senderName = match.captured(2); | |
QString time = match.captured(1); | |
QString text = match.captured(3); | |
//Si la ventana ya esta abierta solo agrega | |
if(!privateChatList.contains(senderName)){ | |
privateChatList[senderName] = new PrivateDialog(this->username,senderName,this); | |
connect(privateChatList[senderName],SIGNAL(finished(int)),this,SLOT(privateFinished(int))); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
match = regex_text.match(data); | |
if(match.hasMatch()){ | |
//update chat display | |
ui->textEdit_ChatDisplay->append(tr("<b>%1 <font color = \"LightGrey\">[%2]</font>: </b> %3") | |
.arg(match.captured(2),match.captured(1),match.captured(3))); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
void Server::sendTextToOne(QString text,ClientThread* target){ | |
QByteArray block; | |
QDataStream out(&block,QIODevice::WriteOnly); | |
out.setVersion(QDataStream::Qt_5_8); | |
out << (quint32)0 << text; | |
out.device()->seek(0); | |
out << (quint32)(block.size() - sizeof(quint32)); | |
qDebug() << "block.size() = " << block.size(); |
NewerOlder