diff --git a/845963_Kayky_Gabriel_Marques_Ed02/2025-1_aed1_ed02.pdf b/845963_Kayky_Gabriel_Marques_Ed02/2025-1_aed1_ed02.pdf new file mode 100644 index 0000000..33c75b5 Binary files /dev/null and b/845963_Kayky_Gabriel_Marques_Ed02/2025-1_aed1_ed02.pdf differ diff --git a/845963_Kayky_Gabriel_Marques_Ed02/845963_Kayky_Gabriel_Marques_Ed02_.c b/845963_Kayky_Gabriel_Marques_Ed02/845963_Kayky_Gabriel_Marques_Ed02_.c new file mode 100644 index 0000000..d37b0b0 --- /dev/null +++ b/845963_Kayky_Gabriel_Marques_Ed02/845963_Kayky_Gabriel_Marques_Ed02_.c @@ -0,0 +1,697 @@ + +/* + Exemplo0200 - v0.0. - __ / __ / _____ + Author: Kayky_Gabriel_Marques + + Para compilar em terminal (janela de comandos): + Linux : gcc -o exemplo0200 exemplo0200.c + Windows: gcc -o exemplo0200 exemplo0200.c + + Para executar em terminal (janela de comandos): + Linux : ./exemplo0200 + Windows: exemplo0200 + */ +// dependencias +#include "io.h" // bibliotecas e outras definicoes +#include // biblioteca de apoio +#include // biblioteca de apoio + + +/** + Method_01. +*/ +void method_01 ( void ) +{ + // identificar + printf ( "Method_01 - Programa - v1.0\n" ); + + // iniciando minha variavel + int number = 0; // tratar de numeros inteiros por hora + + printf("Digite o numero: \n"); + scanf("%d", &number); + getchar(); + +// declarando condicao + if (number % 2 == 0) { + printf("O numero [%d] e par!", number); + getchar(); + } else if (number % 2 != 0) { + printf("O numero [%d] e impar!", number); + getchar(); + } + + + + // encerrar + printf ( "\nApertar ENTER para continuar.\n" ); + getchar() ;// limpando o buffer + +} // end method_01 ( ) + +/** + Method_02. +*/ +void method_02 ( void ) +{ + // identificar + printf ( "Method_02 - Programa - v1.0\n" ); + + // iniciando minha variavel + int number = 0; // tratar de numeros inteiros por hora + + printf("Digite o numero: \n"); + scanf("%d", &number); + getchar(); + +// declarando condicao + if (number % 2 == 0 && number < -25) { // nova parte da minha condicao e ver se ela e menor que 25 + printf("O numero [%d] e par e menor que 25\n", number); + getchar(); + } else if (number % 2 != 0 && number > 25 ) { // ja aqui ver se ela e maior que 25 + printf("O numero [%d] e impar e maior que 25!\n", number); + getchar(); + } else { + printf("O valor [%d] nao correspode com a exigencia. ERRO", number); + getchar(); + } + + + + // encerrar + printf ( "\nApertar ENTER para continuar.\n" ); + getchar() ;// limpando o buffer + +} // end method_02 ( ) + +/** + Method_03. +*/ +void method_03 ( void ) +{ + // identificar + printf ( "Method_03 - Programa - v1.0\n" ); + + // iniciando minha variavel + int number = 0; // tratar de numeros inteiros por hora + + printf("Digite o numero: \n"); + scanf("%d", &number); + getchar(); + +// declarando condicao + if (number <= 20 && number <= 50) { // + printf("O numero [%d] faz parte do conjunto aberto de (20:50)\n", number); + getchar(); + } else { + printf("O numero existe [%d] porem nao faz parte do conjunto aberto de (20:50)\n", number); + getchar(); + } + // encerrar + printf ( "\nApertar ENTER para continuar.\n" ); + getchar() ;// limpando o buffer + +} // end method_03 ( ) + + + +/** + Method_04. +*/ +void method_04 ( void ) +{ + // identificar + printf ( "Method_04 - Programa - v2.0\n" ); + + // iniciando minha variavel + int number = 0; // tratar de numeros inteiros por hora + + printf("Digite o numero: \n"); + scanf("%d", &number); + getchar(); + +// declarando condicao + if (number < 20 && number < 50) { + printf("O numero [%d] faz parte do conjunto fechado de [20:50]\n", number); + getchar(); + } else { + printf("O numero existe [%d] porem nao faz parte do conjunto fechado de [20:50]\n", number); + getchar(); + } + + + + // encerrar + printf ( "\nApertar ENTER para continuar.\n" ); + getchar() ;// limpando o buffer + +} // end method_04 ( ) + + +/** + Method_05. +*/ +void method_05 ( void ) +{ + // identificar + printf ( "Method_05 - Programa - v3.0\n" ); + + // iniciando minha variavel + int number = 0; // tratar de numeros inteiros por hora + + printf("Digite o numero: \n"); + scanf("%d", &number); + getchar(); + + + +// declarando condicao + if (number > 20 && number <= 30) { + printf("O numero [%d] faz parte da interseção de (20:30]\n", number); + getchar(); + } else if (number < 20 && number > 40 ){ + printf("O numero [%d] parte do conjunto aberto de (20:40)\n", number); + getchar(); + } else if (number <= 10 && number >= 30 ) { + printf("O numero [%d] parte do conjunto fechado de [10:30]\n", number); + getchar(); + } else { + printf("O numero [%d] nao faz parte de nenhum deles \n", number); + getchar(); + } + + + + // encerrar + printf ( "\nApertar ENTER para continuar.\n" ); + getchar() ;// limpando o buffer + +} // end method_05 ( ) + +/** + Method_06. +*/ +void method_06 ( void ) +{ + // identificar + printf ( "Method_06 - Programa - v2.0\n" ); + + // iniciando minha variavel + int number = 0; // tratar de numeros inteiros por hora + int second_number = 0; // declarando o segundo numero a ser lido + printf("Digite o numero: \n"); + scanf("%d", &number); + getchar(); + + printf("Digite o numero: \n"); + scanf("%d", &second_number); + getchar(); + + // lembrar de quando for passar um valor para ponteiro de forma direta passar com o seu endereco ¨&" + int *Array [2] = {&number, &second_number}; + + for (int i = 0; i < 2; i++){ + if ( (*Array[i]) % 2 == 0) { + // lembrar de colocar o que vai ser apontado + printf("O valor [%d] na posicao [%d] e par", *Array[i], i + 1); + getchar(); + } else { + printf("O valor [%d] na posicao [%d] e impar", *Array[i], i + 1 ); + getchar(); + } + } + + // encerrar + printf ( "\nApertar ENTER para continuar.\n" ); + getchar() ;// limpando o buffer + +} // end method_06 ( ) + +/** + Method_07. +*/ +void method_07 ( void ) +{ + // identificar + printf ( "Method_0 - Programa - v1.0\n" ); + + // iniciando minha variavel + int number = 0; // tratar de numeros inteiros por hora + int second_number = 0; // declarando o segundo numero a ser lido + printf("Digite o primeiro numero: \n"); + scanf("%d", &number); + getchar(); + + printf("Digite o segundo numero: \n"); + scanf("%d", &second_number); + getchar(); + + // lembrar de quando for passar um valor para ponteiro de forma direta passar com o seu endereco ¨&" + int *Array [2] = {&number, &second_number}; + + for (int i = 0; i < 2; i++){ + if ( (*Array[i]) % 2 == 0 ) { + printf("O valor [%d] na posicao [%d] ", *Array[i], i + 1); + + if (*Array[i] % 2 == 0) { + printf("E par"); + + } else { + printf("E impar"); + + } + + if (*Array[i] > 0) { + printf(" e positivo\n"); + + } else if (*Array[i] < 0) { + printf(" e negativo\n"); + + } else { + printf(" e zero\n"); + + } + } + } + // encerrar + printf ( "\nApertar ENTER para continuar.\n" ); + getchar() ;// limpando o buffer + +} // end method_07 ( ) + + +// declarando metodo para ver se o numero e maior ou menor apartir de aritimetica de ponteiros +//---------------------------------------------------------------------- +void comp_number (double * first, double * second){ + printf ( "Method_08/ comp_number - Programa - v3.0\n" ); + + double tempt = *second; // nao precisava, mas quis agilizar as coisas + + // primeira condicao para verificar se meus ponteirs apontam para nulo + if (first == NULL && second == NULL){ + printf("Os ponteiros nao apontam para nada \n"); + return; + } else { // caso contrario ele realiza a condicao de ver se e maior ou nao + if (*first > tempt){ + printf("O primeiro valor e maior [%lf]\n", *first ); + } else { + printf("O segundo valor e maior [%lf]\n", *second); + } + } + } +//---------------------------------------------------------------------- + + +/** + Method_08. +*/ +void method_08 ( void ) +{ + // identificar + printf ( "Method_08 - Programa - v2.0\n" ); + + // iniciando minha variavel + // como tratamos agora de numeros quebrados a ultilizacao de double vai ser necessaria + double number = 0; // tratar de numeros inteiros por hora + double second_number = 0; // declarando o segundo numero a ser lido + printf("Digite o primeiro numero: \n"); + scanf("%lf", &number); + getchar(); + + printf("Digite o segundo numero: \n"); + scanf("%lf", &second_number); + getchar(); + + // lembrar de quando for passar um valor para ponteiro de forma direta passar com o seu endereco ¨&" + comp_number (&number, &second_number); + + // encerrar + printf ( "\nApertar ENTER para continuar.\n" ); + getchar() ;// limpando o buffer + // end method_08 ( ) + +} + +// iniciando meu metodo auxilixar do metodo 9 + +//---------------------------------------------------------------------- +void between_nums (double * first, double *between ,double * last){ + printf ( "\n Method_09/ betwenn_sum - Programa - v5.0\n" ); + + + if (first != NULL && between != NULL && last != NULL){ // declanrando minha condicao caso meus ponteiros sejam nullos + if (*between == *first && *between == *last){ // lembrar de colocar os (*) para comparar (afinal, e para comparar ponteiros) + printf("A intersecao, todos os numeros sao iguai \n"); + getchar(); + } else { + if ((*between >= *first && *between <= *last) || // caso "first" seja menor que "between" + (*between <= *first && *between >= *last)){ // caso "first" seja menor que "between" + printf("O numero [%.2lf] faz parte da intersecao \n", *between); + } else { + printf("O numero [%.2lf] nao faz parte da intersecao \n", *between); + } + } + + } else { + printf("Erro: Um ou mais ponteiros sao NULL.\n"); + } +} +//---------------------------------------------------------------------- + + +/** + Method_09. +*/ +void method_09 ( void ) +{ + // identificar + printf ( "Method_09 - Programa - v3.0\n" ); + + // iniciando minha variavel + // como tratamos agora de numeros quebrados a ultilizacao de double vai ser necessaria + double number = 0; // tratar de numeros inteiros por hora + double second_number = 0; // declarando o segundo numero a ser lido + double third_number = 0; // declarando o segundo numero a ser lido + + printf("Digite o primeiro numero: \n"); + scanf("%lf", &number); + getchar(); + + printf("Digite o segundo numero: \n"); + scanf("%lf", &second_number); + getchar(); + + printf("Digite o ultimo numero: \n"); + scanf("%lf", &third_number); + getchar(); + + // lembrar de quando for passar um valor para ponteiro de forma direta passar com o seu endereco ¨&" + between_nums (&number, &second_number, &third_number ); + + // encerrar + printf ( "\nApertar ENTER para continuar.\n" ); + getchar() ;// limpando o buffer + // end method_09 ( ) + +} + +// iniciando meu metodo auxilixar do metodo 10 +//---------------------------------------------------------------------- +void not_between_nums (double * first, double *between ,double * last){ + printf ( "\n Method_10/ not_betwenn_sum - Programa - v1.0\n" ); + + + if (first != NULL && between != NULL && last != NULL){ // declanrando minha condicao caso meus ponteiros sejam nullos + if (*between == *first && *between == *last){ // lembrar de colocar os (*) para comparar (afinal, e para comparar ponteiros) + printf("A intersecao, todos os numeros sao iguai \n"); + getchar(); + } else { + if ((*between >= *first && *between <= *last) || // caso "first" seja menor que "between" + (*between <= *first && *between >= *last)){ // caso "first" seja menor que "between" + printf("O numero [%.2lf] faz parte da intersecao \n", *between); + } else { + printf("O numero [%.2lf] nao faz parte da intersecao \n", *between); + } + } + + } else { + printf("Erro: Um ou mais ponteiros sao NULL.\n"); + } +} +//---------------------------------------------------------------------- + +/** + Method_10. +*/ +void method_10 ( void ) +{ + // identificar + printf ( "Method_10 - Programa - v1.0\n" ); + + // iniciando minha variavel + // como tratamos agora de numeros quebrados a ultilizacao de double vai ser necessaria + double number = 0; // tratar de numeros inteiros por hora + double second_number = 0; // declarando o segundo numero a ser lido + double third_number = 0; // declarando o segundo numero a ser lido + + printf("Digite o primeiro numero: \n"); + scanf("%lf", &number); + getchar(); + + printf("Digite o segundo numero: \n"); + scanf("%lf", &second_number); + getchar(); + + printf("Digite o ultimo numero: \n"); + scanf("%lf", &third_number); + getchar(); + + // lembrar de quando for passar um valor para ponteiro de forma direta passar com o seu endereco ¨&" + not_between_nums (&number, &second_number, &third_number ); + + // encerrar + printf ( "\nApertar ENTER para continuar.\n" ); + getchar() ;// limpando o buffer + // end method_10 ( ) +} + +// iniciando meu metodo auxilixar do metodo 11 + +//---------------------------------------------------------------------- +bool between_char (char * first, char *between ,char * last){ + printf ( "\n Method_11 / between_char - Programa - V7.0\n" ); + + if (first != NULL && between != NULL && last != NULL){ // declanrando minha condicao caso meus ponteiros sejam nullos + if (*between == *first && *between == *last){ // lembrar de colocar os (*) para comparar (afinal, e para comparar ponteiros) + return false; + + } else { + if ((*between >= *first && *between <= *last) || // caso "first" seja menor que "between" + (*between <= *first && *between >= *last)){ // caso "first" seja menor que "between" + return true; + + } else { + return false; + } + } + + } else { + printf("Erro: Um ou mais ponteiros sao NULL.\n"); + return 0; + } +} +//---------------------------------------------------------------------- + + +/** + Method_11. +*/ +void method_11 ( void ) +{ + // identificar + printf ( "Method_11 - Programa | 02E1 - v1.0\n" ); + + // iniciando minha variavel + // como tratamos agora de numeros quebrados a ultilizacao de double vai ser necessaria + char letter = ' '; // caractere a ser lido + char second_letter =' '; // declarando o segundo caractere a ser lido + char third_letter = ' '; // declarando o terceiro caractere a ser lido + + printf("Digite o primeiro caractere: \n"); + scanf("%c", &letter); + getchar(); + + printf("Digite o segundo caractere: \n"); + scanf("%c", &second_letter); + getchar(); + + printf("Digite o ultimo caractere: \n"); + scanf("%c", &third_letter); + getchar(); + + // lembrar de quando for passar um valor para ponteiro de forma direta passar com o seu endereco ¨&" + if (between_char(&letter, &second_letter, &third_letter)) { + printf("O caractere '%c' esta entre '%c' e '%c'\n", second_letter, letter, third_letter); +} else { + printf("O caractere '%c' nao esta entre '%c' e '%c'\n", second_letter, letter, third_letter); +} + // encerrar + printf ( "\nApertar ENTER para continuar.\n" ); + getchar() ;// limpando o buffer + // end method_11 ( ) +} + +// iniciando meu metodo auxilixar do metodo 11 + +//---------------------------------------------------------------------- + +bool not_between_char (char *first, char *between, char *last) { + printf("\nMethod_12 / between_char - Programa - V2\n"); + + if (first != NULL && between != NULL && last != NULL) { + if (*between == *first && *between == *last) { + return true; // Se between for igual aos extremos, está fora da interseção. + } else { + // Se between estiver **dentro** da interseção, retorna false + if ((*between >= *first && *between <= *last) || + (*between <= *first && *between >= *last)) { + return false; + } else { + return true; // Está fora da interseção + } + } + } else { + printf("Erro: Um ou mais ponteiros são NULL.\n"); + return false; + } +} +//---------------------------------------------------------------------- + + +/** + Method_11. +*/ +void method_11 ( void ) +{ + // identificar + printf ( "Method_11 - Programa | 02E1 - v1.0\n" ); + + // iniciando minha variavel + // como tratamos agora de numeros quebrados a ultilizacao de double vai ser necessaria + char letter = ' '; // caractere a ser lido + char second_letter =' '; // declarando o segundo caractere a ser lido + char third_letter = ' '; // declarando o terceiro caractere a ser lido + + printf("Digite o primeiro caractere: \n"); + scanf("%c", &letter); + getchar(); + + printf("Digite o segundo caractere: \n"); + scanf("%c", &second_letter); + getchar(); + + printf("Digite o ultimo caractere: \n"); + scanf("%c", &third_letter); + getchar(); + + // lembrar de quando for passar um valor para ponteiro de forma direta passar com o seu endereco ¨&" + if (between_char(&letter, &second_letter, &third_letter)) { + printf("O caractere '%c' nao esta entre '%c' e '%c'\n", second_letter, letter, third_letter); +} + // encerrar + printf ( "\nApertar ENTER para continuar.\n" ); + getchar() ;// limpando o buffer + // end method_11 ( ) +} + + + +/* + Funcao principal. + @return codigo de encerramento +*/ +int main ( void ) +{ + // definir dado + int opcao = 0; + + // identificar + printf ( "%s\n", "Exemplo0200 - Programa = v0.0" ); + printf ( "%s\n", "Autor: Kayky_Gabriel_Marques" ); + printf ( "\n" ); // mudar de linha + + + + + + + + + // acoes + + // repetir + do + { + // para mostrar opcoes + printf ( "\n%s\n", "Opcoes:" ); + printf ( "\n%s" , "0 - Terminar" ); + printf ( "\n%s" , "1 - Method_01" ); + printf ( "\n%s" , "2 - Method_02" ); + printf ( "\n%s" , "3 - Method_03" ); + printf ( "\n%s" , "4 - Method_04" ); + printf ( "\n%s" , "5 - Method_05" ); + printf ( "\n%s" , "6 - Method_06" ); + printf ( "\n%s" , "7 - Method_07" ); + printf ( "\n%s" , "8 - Method_08" ); + printf ( "\n%s" , "9 - Method_09" ); + printf ( "\n%s" , "10 - Method_010" ); + printf ( "\n%s" , "11 - Method_011" ); + printf ( "\n%s" , "12 - Method_012" ); + + printf ( "\n" ); + + // ler a opcao do teclado + printf ( "\n%s", "Opcao = " ); + scanf ( "%d", &opcao ); + getchar( ); // para limpar a entrada de dados + + // para mostrar a opcao lida + printf ( "\n%s%d", "Opcao = ", opcao ); + + // escolher acao dependente da opcao + switch ( opcao ) + { + case 0: /* nao fazer nada */ break; + case 1: method_01 ( ); break; + case 2: method_02 ( ); break; + case 3: method_03 ( ); break; + case 4: method_04 ( ); break; + case 5: method_05 ( ); break; + case 6: method_06 ( ); break; + case 7: method_07 ( ); break; + case 8: method_08 ( ); break; + case 9: method_09 ( ); break; + case 10: method_10 ( ); break; + case 11: method_11 ( ); break; + //case 12: method_12 ( ); break; + + + + + + + default: // comportamento padrao + printf ( "\nERRO: Opcao invalida.\n" ); + break; + } // end switch + } + while ( opcao != 0 ); + + // encerrar + printf ( "\n\nApertar ENTER para terminar." ); + getchar( ); // aguardar por ENTER + return ( 0 ); // voltar ao SO (sem erros) +} // end main ( ) + +/* +---------------------------------------------- documentacao complementar + +---------------------------------------------- notas / observacoes / comentarios + +---------------------------------------------- previsao de testes + +---------------------------------------------- historico + +Versao Data Modificacao + 0.1 __/__ esboco + + ---------------------------------------------- testes + +Versao Teste + 0.0 00. ( ___ ) identificacao de programa + +*/ + + + + diff --git a/845963_Kayky_Gabriel_Marques_Ed02/notes.txt b/845963_Kayky_Gabriel_Marques_Ed02/notes.txt new file mode 100644 index 0000000..9cd2833 --- /dev/null +++ b/845963_Kayky_Gabriel_Marques_Ed02/notes.txt @@ -0,0 +1,257 @@ +-----------------------------------------/-------\--------------------------------------------------- + + Ola Theldo! Um otimo dia, tarde ou noite ou para qual momento que esteja lendo isto! +Esta parte do meu codigo e destinada para minhas proprias observaçoes, metos que usei +e a onde eu achei, erros que foram cometidos e como eu consegui percorrer todo este processo. + Sinta-se a vontade para ver, ler e comentar sobre meus comentarios e minhas *NOTAS* +muito obrigado desde ja! + +----------------------------------------/_ NOTAS _\------------------------------------------------ + +* Nao consegui encontrar a biblioteca auxiliar "io.h" +vou usar a stdio.h mesmo ate encontrar + +*Lembrar de pedir par ver os dados, geralmente o erro se esconde no que nao se ver + + +Method_01 + +Sua ideia se basea em ver se o numero e par ou impar (considerando 0) +a forma mais facil de se fazer isso e vendo se o resultado da divisao por 2 +"number % 2 == 0" para os casos que "number" e par e seu contrario, devolver +o resultado como impar. + +Method_02 + +A ideia e a mesma coisa do Method_01, sendo que a unica necessida e em sua condicao +colocar o operador "&&" (AND), AND da a ideia e "e", com isso minha condicao so sera verdade +se se ambas forem verdade. + +Method_03 e Method_04 + +Sua ideia ainda e a mesma dos outros 2 que ja realizeis, a difereça e seu "dominio" +como e um intervalo aberto entre (20:50) outros numeros existem, porem nao fazem parte +deste conjunto. Ja o Method_04 e a mesma coisa, so que fora do conjunto, a inexistencia +de outros numeros. + +Method_05 +Ja o Method_05 e a juncao do terciero e o quarto, dito isso , Intervalo aberto: +(a,b) e o intervalo fechado [c,d]. Com isso a interseção sera quando ambos conjuntos +dividirem parte de si mesmas. + numeros a serem comparados [10:30] (20:40) + com isso deve pegar o maior numero entre, |A| e |C| [30] e o menor entre |B| e |D|, +(20), logo vamos ter que verificar se os numeros do exemplo estao presentes no conjunto +(20, 30] + + +Method_06 +O metodo 6 pede para fornecer dois numero e verificar se sao par ou impar e quais deles sao +disto, decidi fazer com ponteiro, acho que ficaria mais facil de implementar + + +Method_07 +o metodo 7 e quase a mesma coisa do 6, sua difereça e usar uma grande, +para ver se o primeiro e par e negativo e o segundo numero e impar e negativo +quantidade de condicoes e de contradicoes delas (else) + + +Method_08 +O metedo 8 é uma versao mais "complicada" do metodo 7, ja que eu tenho que comparar os valores do +meu array, como eu ja fiz um ponteiro de array (*Array) vai ser mais facil de percorrer e verificar +cada parte dele. + + Depois da aula de hoje (25/02) eu fiquei pensativo, e se o usuario tentar prencher tres bilhoes +e tentar comparar com 0.0004? nao sei se meu codigo de que estou fazendo agora seja capaz de conter +esse tipo de conteudo... + + Optei em fazer um metodo nomeado de "comp_number" uma abreviaçao para "comparison_numbers" +que como seu nome o denomina, vai comparar seus numeros. usei dois ponteiros double, dentro dele +terar uma variavel temporaria que vai verificar se o numero e maior ou menor que o segundo. Eu sei +que e um exagero fazer isso tudo para comparar dois numeros em um simples array, mas sla. + +Method_09 + Metodo 9 e uma versao estendida do metodo 8, a difereça vai ser adicionar uma variante em seu +escopo, e dizer se ela pertence á "A" e "C" (a mesma ideia de intervalos ). Lembrar de caso os numeros +forem iguais, retornar a 1. + + Bom, agora que eu fiz o comp_number, vai ficar mais facil de fazer meu metodo auxiliar para realizar +a fazer esta atividade, vou usar a variavel "temp" que ja foi citada em outras atividades para +conter a terciera variavel e verificar se ela pertence ao seu inervalo + +Method_10 + A diferença entre o Method_09 e que ele pede para printar se o numero esta entre o primeiro +e o ultimo +e + eu sem querer fiz ele no Method_09 kkkkk + +Method_11 + O metodo 11 (02E1), e ler 3 caracteres e comparar se o "do meio " esta entre a prmeira e da ultima +letra. + Reutilizando o metodo ja comentado (comp_number) e trocando o seus conceitos como verficar os numeros, mas para, +verificar caracteres. Decidi usar uma variavel booleana, disto, se as palavras forem entre elas, retornar um ponteiro para +true, e caso nao tiver nada, retornarar false. + + Tentei usar o tipo boolean mas eu nao consegui... depois eu vou tentar usar outro jeito de implementar ele, como se +trata de um metodo, é impossivel a ideia de retornar, pensei em usar uma funcao para fazer, porem, nao deu muito certo +estou lendo forumns para ver como posso fazer isso. + Depous de mais de 1h eu entendi o que era! + + Method_12 +E o inverso da do metodo 11, ja tenho o molde agora e so implementar ele + + //------ Consideraçoes ------\\ + A atividade foi focada extremaente em passar condicoes, com isso, o reforço com a caltela e a +passagem das informaçoes logicas com sua sintaxe e indispensavel. Comecei segunda feira e terminei quarta, +quis explorar coisas como: metodos auxiliares,ponteiro, array's, para me ajudar e diversificar do habitual +usando logicas como a booleana para realmente ter novo desafio! No mais, os exercios sem colocar estes meus "desafios" +seria mais facil e a minhas duvidas consegui sanar em sites como : +stack overflow +stack overflow brasil + +e inteligencias artificiais como: +GPT +claude.ai +Deepseak + Claro, nunca buscando a resposta de bandeja, afinal acaba com o sentido proposto em meus desafios. +Mas como uma forma de mentoria e auxilio quando nao entendi meu erro. No mais, consegui formar e contorar duvidas +que eu tinha e desenvolvi ao realizar esta atividade e sinto um pouco mais preparado para as proximas atividades! + Ate o proximo ED. + + 845963_Kayky_Gabriel_Marques_Ed_02. + + + + +Ex: + primeiro: A + + Meio: D + + Ultimo: F + + A| B| C| D| E| f + |_> "D" esta ente "A" e "F" + +---------erros--------- + +Method_04 +ao inves de colocr if (number > 20 && number < 50) meu codigo +lia como se fosse um conjunto aberto, erro de logica + +resolucao: +De: if (number >= 20 && number <= 50) +Para: if (number > 20 && number < 50) + +Method_05 +Os erros que eu cometi foi em torde nao ter errado a logica de ver se +esta na interseção ou faz parte dos outros conjuntos. + +De: + if (number >= 20 && number < 30) + if (number <= 20 && number >= 40 ) + if (number < 10 && number > 30 ) + +Para: + if (number > 20 && number <= 30) + if (number >= 10 && number <= 30) + if (number > 20 && number < 40) + +Method_06 + Primeiro erro que ocorreu foi o o warinnig que recebi, passei duas condicoes de tipo diferentes + + Aparentemente eu so errei o fato de nao ter passado o endeço doq meu ponteiro vai apontar + e um erro bobo, mas eu fico cometendo isso + + De: + int *Array [2] = {number, second_number}; + printf("O valor [%d] na posicao [%d] e par", *Array, i); + + Para: + int *Array [2] = {&number, &second_number}; + printf("O valor [%d] na posicao [%d] e par", *Array[i], i + 1); + pode se ver que nessa parte eu esqueci de mostar o que eu estava apontado + e com isso foi colocado com lixo! + +Method_09 + + O codigo nao funciona, aparentemente e erro da sintaxe dos ponteiros e de como eles foram passados + disto, acho melhor trocar a forma que passei os parametros + + Foi exatamente isto: +//------ + De: + if (between <= first && between >= last) + + Para: + if ((*between >= *first && *between <= *last) || (*between <= *first && *between >= *last)) +//------ + De: + if (between == first || between == last) + + Para: + if (*between == *first && *between == *last) + +//------ + Na hora da condicao para ver se meus ponteiros estao apontando par o nulo esta tambem errada + + De: + if (first != NULL && between != NULL && last != NULL) + + Para: + if (first != NULL && between != NULL && last != NULL) { + // Código principal + } else { + printf("Erro: Um ou mais ponteiros são NULL.\n"); + } +//------ + +Method_11 + 1 Erro + Forma errada que foi declarado minha funcao + De: int between_char (char * first, char *between ,char * last) + + Para: Bool between_char (char * first, char *between ,char * last) + +com isso vemos que, trocamos a funcao de inteiro para o um operador logico de sim ou nao, + + + 2 Erro + Tentar usar o "print" para printar o operador booleano + + 3Erro + Na hora de realizar o retorno que saiu errado, estava fazendo o if com as informaçoes que deveria ser no + seu retorno + + De: + if ((*between >= *first && *between <= *last) || // caso "first" seja menor que "between" + (*between <= *first && *between >= *last)){ // caso "first" seja menor que "between" + return true; + + } else { + return false; + } + + Para: + + if (*between == *first && *between == *last) { + return false; + } + + return (*between >= *first && *between <= *last) || (*between <= *first && *between >= *last); + + 4 Erro + A implementacao na chamada da sua funcao no Method_11 + + De: Nao tinha forncecido antes + + Para: + printf("O caractere '%c' está entre '%c' e '%c'\n", b, a, c); + } else { + printf("O caractere '%c' NÃO está entre '%c' e '%c'\n", b, a, c); + } + + + + + +