예제 #1
0
int main()
{
    int n = 4;

	std::vector<int> men1 = {2,1,0,3};
	std::vector<int> men2 = {1,3,0,2};
	std::vector<int> men3 = {2,0,3,1};
	std::vector<int> men4 = {0,1,2,3};

	std::vector<int> women1 = { 0,2,1,3 };
	std::vector<int> women2 = { 2,3,1,0 };
	std::vector<int> women3 = { 1,2,3,0 };
	std::vector<int> women4 = { 3,1,0,2 };

	std::vector<std::vector<int>> men(n, std::vector<int>(n));

	men = { {men1},{men2},{men3},{men4}};

	std::vector<std::vector<int>> women(n, std::vector<int>(n));

	women = { { women1 },{ women2 },{ women3 },{ women4 }};

	couples(men, women, n);

	return 0;
}
예제 #2
0
파일: abscissa.cpp 프로젝트: Tanex/lin_dev
std::string almanacka(int massa, std::string* massbegravning) {
  if (massa > 4 || *massbegravning == "massvis")
    return "materia";
  int massgrav = massa + 1;
  std::string matlagning("matsal");
  int matning = anslutningspropp(&massgrav, matlagning);
  std::string* matta = new std::string("medan");
  int* max = alltmera(massgrav, matta);
  std::string medelst("medurs");
  std::string* medicinering = annonsering(&massgrav, medelst);
  std::string* mej = new std::string("mellanlagring");
  std::string mekanisering = anm(massgrav, mej);
  std::string men("mestadels");
  std::string* mening = annonsering(&massgrav, men);
  std::string middag("mig");
  int midja = alltnog(&massgrav, middag);
  std::string min("minde");
  std::string* mina = alm(&massgrav, min);
  std::string* mindes = new std::string("minnas");
  std::string minimering = amortering(massgrav, mindes);
  std::string* minnesstorlek = new std::string("minoritetsregering");
  std::string minns = anm(massgrav, minnesstorlek);
  std::string minsann("minskning");
  return minsann;
} // almanacka
예제 #3
0
int main(int argc, char* argv[]) {

    std::vector<int> foo;
    foo.push_back(5);
    foo.push_back(8);
    foo.push_back(1);
    foo.push_back(2);
    foo.push_back(4);
    foo.push_back(7);
    foo.push_back(6);
    foo.push_back(3);
    for (int i = 0; i < foo.size(); i++)
        std::cout << foo[i] << " ";
    std::cout << std::endl;
    insertionSort(foo);
    for (int i = 0; i < foo.size(); i++)
        std::cout << foo[i] << " ";
    std::cout << std::endl << std::endl;
    
    
    std::vector<double> bar;
    bar.push_back(5.5);
    bar.push_back(8.8);
    bar.push_back(1.1);
    bar.push_back(2.2);
    bar.push_back(4.4);
    bar.push_back(7.7);
    bar.push_back(6.6);
    bar.push_back(3.3);
    for (int i = 0; i < bar.size(); i++)
        std::cout << bar[i] << " ";
    std::cout << std::endl;
    insertionSort(bar);
    for (int i = 0; i < bar.size(); i++)
        std::cout << bar[i] << " ";
    std::cout << std::endl << std::endl;
    
    
    std::vector<BankAccount> men(8);
    men[0].setBalance(420); men[0].setInterest(0.1);
    men[1].setBalance(300); men[1].setInterest(0.08);
    men[2].setBalance(1920); men[2].setInterest(0.16);
    men[3].setBalance(666); men[3].setInterest(0.18);
    men[4].setBalance(1080); men[4].setInterest(0.03);
    men[5].setBalance(0); men[5].setInterest(1.2);
    men[6].setBalance(2390); men[6].setInterest(0.75);
    men[7].setBalance(515); men[7].setInterest(1);
    for (int i = 0; i < men.size(); i++)
        std::cout << men[i].getBalance() << " ";
    std::cout << std::endl;
    insertionSort(men);
    for (int i = 0; i < men.size(); i++)
        std::cout << men[i].getBalance() << " ";
    std::cout << std::endl;
    
    return 0;
}
예제 #4
0
void * clientHandler(void * arg) {
	threadStruct *inArg = (threadStruct *) arg;
	int sockfd = inArg->sockfd;
	free(inArg);

	char *msg = malloc(sizeof(char)*CMD_MAX_SIZE);
	*msg = '\0';
	msgHeader header;
	User user;

	// Agregar usuario
	readBytes(sockfd, (void *) &header,sizeof(header));
	readBytes(sockfd, (void *) msg, header.msgSize);
	cleanString(msg);

	user.sockfd = sockfd;
	strncpy(user.name,msg,NAMES_SIZE);
	*(user.name + NAMES_SIZE -1) = '\0';

	list_append(&Users,(void *) &user);

	// Agregar a la sala default #!

	while (1) {

		// Leer un mensaje del cliente
		readBytes(sockfd, (void *) &header,sizeof(header));
		readBytes(sockfd, (void *) msg, header.msgSize);
		cleanString(msg);

		switch (header.code) {

		case MSG_CODE_SHUT:
			break; // #! NOT DONE

		case MSG_CODE_SAL:
			sal(sockfd);
			break;
		case MSG_CODE_USU:
			usu(sockfd);
			break;
		case MSG_CODE_MEN:
			men(sockfd,msg);
			break;
		case MSG_CODE_SUS:
			sus(sockfd,msg);
			break;
		case MSG_CODE_DES:
			des(sockfd);
			break;
		case MSG_CODE_CRE:
			cre(sockfd,msg);
			break;
		case MSG_CODE_ELI:
			// eli() #!
			break;
		case MSG_CODE_FUE:
			fue(sockfd);
			free(msg);
			pthread_exit(NULL);
			break;
		}

		*msg = '\0';
	}
	return NULL;
}
예제 #5
0
void *connection_handler(void *td) {
   int sock = ((Thread_data *) td)->client_sock;
   list subscribed_rooms = ((Thread_data *) td)->subscribed_rooms;	
   char msg[MAX_PACK_SIZE];
   memset(msg, 0, MAX_PACK_SIZE);

   user_data *user = wait_username(rooms, sock);  
   user->subscribed_rooms = subscribed_rooms;
   add(connected_users, user);
   add(subscribed_rooms, rooms->first);	
   int read_size;
   while ((read_size = recv(sock, msg, MAX_PACK_SIZE, 0)) > 0) {
      pthread_mutex_lock(&mutex);
      if (read_size < 3) {
      }
      else if ((strlen(msg) >= 6) &&
					(msg[3] == ' ') && 
					(msg[0] == 's') && (msg[1] == 'u') && (msg[2] == 's')) {
			memmove(msg, msg+4, 252);
			msg[strlen(msg)-1] = '\0';   //replace new line
         sus(msg, user);
      }
      else if ((strlen(msg) == 4) &&
					(msg[0] == 's') && (msg[1] == 'a') && (msg[2] == 'l')) {
         sal(sock);
      } 
      else if ((strlen(msg) >= 6) &&  //because of new line
					(msg[3] == ' ') &&
					(msg[0] == 'm') && (msg[1] == 'e') && (msg[2] == 'n')) {
			memmove(msg, msg+4, 252);
			msg[strlen(msg)-1] = '\0';   //replace new line
         men(user, subscribed_rooms, msg);
      }
      else if ((strlen(msg) == 4) &&
					(msg[0] == 'u') && (msg[1] == 's') && (msg[2] == 'u')) {
         usu(sock); 
      }
      else if ((strlen(msg) == 4) &&
					(msg[0] == 'd') && (msg[1] == 'e') && (msg[2] == 's')) {
         des(subscribed_rooms, user);
      }
      else if ((strlen(msg) >= 6) &&
					(msg[3] == ' ') && 
					(msg[0] == 'c') && (msg[1] == 'r') && (msg[2] == 'e')) {
			memmove(msg, msg+4, 252);
			msg[strlen(msg)-1] = '\0';   //replace new line
         cre(sock, msg);
      }
      else if ((strlen(msg) >= 6) &&
					(msg[3] == ' ') && 	
					(msg[0] == 'e') && (msg[1] == 'l') && (msg[2] == 'i')) {
			memmove(msg, msg+4, 252);
			msg[strlen(msg)-1] = '\0';   //replace new line
         eli(msg, sock, user);
      }
      else if ((strlen(msg) == 4) &&
					(msg[0] == 'f') && (msg[1] == 'u') && (msg[2] == 'e')) {
         fue(subscribed_rooms, user);
      }
      else if ((strlen(msg) == 4) &&
					(msg[0] == 'h') && (msg[1] == 'l') && (msg[2] == 'p')) {
			memset(msg, 0, MAX_PACK_SIZE);
			strcat(msg, "-----------\n");
			strcat(msg, "The valids commands formats are:\n");
			strcat(msg, "sus <room name>\n");
			strcat(msg, "cre <room name>\n");
			strcat(msg, "eli <room name>\n");
			strcat(msg, "sal\n");
			strcat(msg, "usu\n");
			strcat(msg, "des\n");
			strcat(msg, "fue\n");
			strcat(msg, "-----------");
			write(sock, msg, MAX_PACK_SIZE);
      }
		else {
			memset(msg, 0, MAX_PACK_SIZE);
			strcat(msg, "Unrecognized option.");
			strcat(msg, " Try `hlp' for more information.");
			write(sock,	msg, MAX_PACK_SIZE);
		}
      memset(msg, 0, MAX_PACK_SIZE);
      pthread_mutex_unlock(&mutex);
   }
}