Untitled
unknown
plain_text
a year ago
1.8 kB
6
Indexable
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <locale.h> #include <wchar.h> wchar_t* cartaMaior(wchar_t cartaString[][56], wchar_t cartaHex[][56], int numcartas) { wchar_t ultCharMaior = cartaHex[0][4];//ultimo char do primeiro hexadecimal da array wchar_t* cartaM = cartaString[0];//carta maior wchar_t penulCharMaior = cartaHex[0][3];//penultimo char do primeiro hexadecimal da array for (int i = 0; i < numcartas; i++) { //ver qual a maior carta utilizando o ultimo char do hexadecimal //se os ultimos chars forem iguais, ou seja, se forem cartas com o mesmo número, então passo a usar o penultimo char para ver o naipe if (cartaHex[i][4] > ultCharMaior || (cartaHex[i][4] == ultCharMaior && cartaHex[i][3] > penulCharMaior)) { //depois vou atualizando as variaveis com os novos valores ultCharMaior = cartaHex[i][4]; penulCharMaior = cartaHex[i][3]; cartaM = cartaString[i]; } } return cartaM; } int main() { setlocale(LC_CTYPE, "C.UTF-8"); wchar_t cartaString[56][56];//Array das cartas em si wchar_t cartaHex[56][56];//Array dos hexadecimais das cartas int numcartas = 0;//numero de cartas wchar_t linha; while ((linha = getwchar()) != L'\n')//Quando o user der Enter devolve o resultado { cartaString[numcartas][0] = linha;//Guarda a carta do input dentro da cartaString swprintf(cartaHex[numcartas], 56, L"%04x", linha);//Guarda o hexadecimal da carta do input dentro da cartaHex numcartas++;//Contar o número de cartas } wchar_t* cartaM = cartaMaior(cartaString, cartaHex, numcartas); wprintf(L"\nA carta mais alta é: %ls ", cartaM); return 0; }
Editor is loading...
Leave a Comment