Ir para conteúdo
Fórum Script Brasil

britivaldo

Membros
  • Total de itens

    199
  • Registro em

  • Última visita

Tudo que britivaldo postou

  1. Olá Deu entender que a parte da programação que utiliza a regra é escrita o mais próximo possível da maneira usual, ou seja, do modo que se faz com papel e lápis. Algo possível já que a notação de listas (vetor/matriz) tem semelhanças com aquelas que usamos na matemática, acredito que também notou/notará isso. Com relação à leitura, precisa de uma ninho de laços para percorrer os índices da matriz. Por isso, aprenda "tudo" que puder acerca de laços em C e depois faça uma tentativa sincera.
  2. Olá Considere que a palavra na entrada não tem acentos e que todos os caracteres já estão em CAIXA ALTA. A entrada, nesse primeiro momento, ficará numa 'strings' definida durante sua declaração, assim pulamos a necessidade de digitá-la a todo instante da programação e com isso poupamos tempo na parte correspondente á verificação de palíndromo. Para tirar a necessidade de usar a biblioteca string.h é preciso você mesmo definir as funções que existem na biblioteca, que você quer usar, mas que não pode. #1 Já foi dito que essa ficará por último para agilizar a programação. #2 Foi dito que inicialmente que a palavra já está definida durante sua declaração e com dados ideais objetivando focar mais na parte crítica do problema: verificação de palíndromo. #3 Essa etapa não é essencial para solução, que começou a propósito muito bem, foi possível ler sua intenção e acredito que a melhor opção é continuar com a lógica que demostrou no início do código. alessa_toleto.c #include"stdio.h" #define DEBUG (1) int main (void) { //suponha o resultado da entrada e tudo antes da verificacao char entrada[16] = { "AMAMA-AMAMA" }; int tam = 11; //cálculo do palindromo int tamcalc = tam; //variavel para calculo da entrada espelhada int metade = tam/2; //variavel para calculo das metades char invertida [16] = { "" }; //lista de caracteres para entrada-invertida for (int x = 0; x < tam; ++x){ //calculo inverter string entrada tamcalc--; invertida[x] = entrada[tamcalc]; } invertida[tam] = '\0';// Finaliza a string #ifdef DEBUG /* * Se a lista entrada e invertida são escritas no prompt, tudo está bem! * Continue o programa após 'endif' */ printf ("Original: %s\n", entrada); printf ("Invertida: %s\n\n", invertida); (void) metade; #endif //teste de progresso: apague quando ñprecisar return 0; [🙂] acredito que tem bom conhecimento da linguagem e vá resolve o exercício com mais tentativas.
  3. Olá Muito bem! É quase isso..., mas observe que quando o número, que chamaremos a, é múltiplo do, que chamaremos b, ao usa operador módulo (%) o resultado da expressão é 0 (SIM, múltiplo). Logo a combinação IF-ELSE é mais que o suficiente para determinar/retornar o padrão. Pois, SE a%b == 0 dê falso o bloco SENÃO é executado e retorna 0 por meio dele. [🙂] Fui claro? Digamos que preciso verificar Se o número (a) e par, e para isso escrevo a função. Exemplo #include"stdio.h" int par (int a) { if (a%2 == 0) return 1; else return 0; } int main (void) { printf ("Entre com numero e direi se e par: "); int numero = 0; scanf (" %d", &numero); printf ("Se o numero é par, esta vendo (1)..., agora (%d)\n\n", par (numero)); return 0; }
  4. Olá Baralho é "vector" de cartas que tem os métodos de abastecer e comprar cartas.
  5. Olá Acredito que comete falhas na interpretação do exercício. Note que diferente da tua tentativa o exercício sugere alternância de operações com observância na posição que os 50 valores ocuparão no segundo vetor. Inicialmente tem um punhado de 50 números reais que, preferencialmente, estão gravados no ( A ) vetor. O segundo vetor ( B ), necessitaria do dobro da capacidade do primeiro ( A ), pois em suas posições pares terá A DIV por 2, e nas posições ímpares A MULT por 3. Assim, para cada elemento de A é necessário dois espaços em B (regra par, seguindo da regra ímpar). #1 Quase isso, pois (BP) e (BI) juntos são (B) vetor com 2x a capacidade de (A) vetor. #2 Recomendo que preencha um (A) vetor no código e deixe essa interação para programar por último. #3 Esse padrão é aplicada nas posições de (B) vetor de modo que, a instrução de fluxo de controle (IF) é desnecessária, pois a primeira posição de (B) é par, a segunda é ímpar e sucessivamente par, ímpar, par... [🙂]
  6. britivaldo

    Ray

    Uma variável da estrutura de dados simples tem as especificações de um array, sendo um segmento “bytes” de largura fixa ideal para gavar com a função fwrite. <stdio.h> fwrite Gravar bloco de dados para stream Escreve um array de elementos count , cada um com tamanho de bytes de tamanho , desde o bloco de memória apontado por ptr até a posição atual no stream . Internamente, a função interpreta o bloco apontado por ptr como se fosse um array de (size*count)elementos do tipo unsigned char, e os escreve sequencialmente para stream como se fosse fputc para cada byte. [hr] Exemplo /* fwrite example : write buffer */ #include"stdio.h" struct pontos { char a, b, c; }; int main (void) { FILE * pFile; struct pontos buffer = { 'x' , 'y' , 'z' }; pFile = fopen ("myfile.bin", "wb"); fwrite (&buffer , sizeof(buffer), 1, pFile); fclose (pFile); return 0; } [🙂]
  7. britivaldo

    palíndromo

    Olá Na sua composição mais simples, portanto, mais didática, o programa consiste em examinar a “strings” da esquerda para centro, em simultâneo, da direita para centro enquanto há: compreensão crescente dos índices e itens iguais. De maneira que, o índice esquerdo aumenta e o direito diminui a cada ciclo até que o esquerdo é menor que o direito. Logo, será necessário 1x ‘loop’ (WHILE), e uma instrução de decisão (IF ou Ternário) no fim para verificar o seguinte padrão: — Se o índice esquerdo é menor que o direito, NÃO, palíndromo. — Do contrário, SIM, palíndromo. [🙂] Fácil é?
  8. Não, não é! Uma lógica de exemplo consiste em processar os dados durante a leitura.
  9. britivaldo

    problema com while

    São 3 padrões: maior, Menor e Igual! Mas, quando escreveu as expressões escreveu Maior ou Igual; Menor ou Igual; e igual. #include"iostream" #include"random" int main (void) { srand (time (NULL)); //seed int n = rand () % 100; int a = 0; std :: cout << "Descubra o numero entre 1 á 100 "<< n << std :: endl; std :: cin >> a; while (true) { if (a < n) { std :: cout << "Baixo" << std :: endl; std :: cout << "Tente novamente" << std :: endl; std :: cin >> a; } if (a > n) { std :: cout << "Alto" << std :: endl; std :: cout << "Tente Novamente" << std :: endl; std :: cin >> a; } if (a == n) { std :: cout << "O valor esta certo" << std :: endl; break; } } return 0; }
  10. Muito bem! Mas, precisamos que faça uma tentativa (sincera) de solução; e não necessariamente tudo de uma só vez, comece no problema menos complicado.
  11. Olá! Não deve porque não é essa a intensão. Está no planejamento da função escrever a última linha do gráfico com as vogais usando uma única chamada à função 'printf'. Todo gráfico e escrito linha a linha e planejado para elas. O número de linhas necessário é igual à maior ocorrência + 2, pois a altura do gráfico ultrapassa as ocorrências, no exemplo. Outra dúvida que pode surgir é; quando imprimir ou não o * na linha atual? Imprima sempre que a linha for menos que a ocorrência, nesse caso, a contagem é decrescente por esse motivo que a partir da 3 linha a barra de A começou a aparecer, pois, já que é o contador é decrescente ele começa em 16, após duas linhas, está em 14 que também é o valor de ocorrências da vogal A. Certamente precisará de “loops”.
  12. Olá! Quer entendimento do principal problema que não permite uma saída correta? Pois... antes do início do 'loop' que conta os meses e acrescenta taxa ao investimento, atribua o triplo do investimento a variável de controle e na expressão quem variará será o montante. e.g.: (montante <= triplo_do_investimento) * Ao nomear suas variáveis, opte por nomes completos; * Preste atenção a categoria das informações e a categoria de variável que precisa ser a mesma.
  13. Olá!Não consigo saber o que você quer: Explique melhor para que eu tenha a certeza. Por exemplo, sei que toda função é em certo grau uma ação, logo quais seriam as etapas da função A, B e de todas as demais que deseja codificar em C.
  14. Todos os números no intervalo [A — B] [quando ímpar] são convertidos em par e decomposto por 2. O primeiro laço itera sobre o intervalo, o segundo laço [interno do primeiro] itera sobre a decomposição, ou seja, 2 a 2. Sendo necessário dividir até o quociente 1. #include <stdio.h> int main() { int a,b,aux,aux2; scanf(" %d", &a); scanf(" %d", &b); for(; a <= b; a= a + 1){ aux= a; printf("\n%d ", aux); if (aux%2) { // Caso a tenha valor ímpar, converte-se par aux= 3 * aux + 1; printf("%d", aux); } //Aqui vem a laço para decomposição do valor na variável aux } }
  15. Deve, no mínimo, ter a função principal [int main(void) {...}] programe, pelo menos dois funcionários e as condicionais mencionadas no enunciando para teste inicial dos descontos e bônus, depois programe entradas de informações do usuário, para isso; use a função scanf.
  16. Descida qual a categoria de informação que o programa capturará: se em Unidades de quilogramas, ou gramas. De qualquer maneira, programe a conversão para gramas de frutas. Dessa maneira, serão capturadas 4 informações, normalmente com a função scanf: as 3 primeiras, respectivamente, a massa de frutas conforme enunciado, e a última; uma resposta a pergunta: É cliente antigo? Se sim, o desconto de 15% já está garantido. Se a unidade de gramas de frutas é maior ou igual a 500 gramas de cada fruta, programe o acréscimo 25% de desconto. Por exemplo; uma cliente antigo que comprou pelo menos 500 gramas de cada fruta tem 40% de desconto que será aplicado a cada cobrança. Rebaixando lucro para 60% do preço de atacado. Se não compro pelo menos 500 gramas de cada; seu desconto é de 15%. Se não é um cliente antigo, então não terá desconto. Conforme enunciado, o lucro é quase sempre de 100%, ou seja, quando sem desconto; quem compra paga o dobro do valor pago pelo proprietário da banca de frutas.
  17. Escreva um programa de prompt, use um editor de texto para desenvolver a programação, pode ser escrito no bloco de notas e salvo no fomatado *.c, baixe um compilador de sua preferência, por exemplo, o meu é o: GCC Consulte quais bibliotecas são permitidas para desenvolvimento de seu exercício e importe todas elas. Usualmente, a biblioteca normal de entrada e saída [stdio.h] é o máximo necessário. Programe a capture do email em uma linha de informação, para isso, use a função scanf, depois comece a programação com uma função para cada alínea do exercício, assim poderá administrar melhor e testar a programação sistematicamente. Dessa maneira, cada função retorna 0 se o email passar no teste e diferente de 0 se não passar. Na ordem, sua primeira função é A) verificar se todos os caracteres alfabéticos estão em caixa alta. Na biblioteca C existe função que testa se é caractere alfabético e outra que testa se está em caixa alta. Como disse, se pode importar mais bibliotecas para não escrever função que já existe, importe. Siga a partir disso e mostre do que é capaz.
  18. Os recursos na linguagem necessários estão bem aí! No enunciado, precisa de mais explicação? Qual a dúvida?
  19. O algoritmo de ordenação me parece não ser o Quick. Então, em outro programa, escreva o algoritmo de ordenação quick sort conforme enunciado, teste-o e depois que comprovar que ordena, importe-o para o programa do exercício.
  20. Está mais complexo do que imagino ser. Existem algumas funções, escolha uma ou mais diga o que não está acontecendo.
  21. A sequência é desenvolvida numa função e o primeiro termo dela é 1 (lembe-se disso quando programar a variável de controle no seu loop FOR). Não há o que dizer, além disso, porque tudo já está bem explicado.
  22. Acredito que o vetor não é recomendado e a sua primeira versão é a resposta mais correta. Como sugeri, vou completar o código da primeira versão. Code in C /****************************************************************************** Welcome to GDB Online. GDB online is an online compiler and debugger tool for C, C++, Python, Java, PHP, Ruby, Perl, C#, VB, Swift, Pascal, Fortran, Haskell, Objective-C, Assembly, HTML, CSS, JS, SQLite, Prolog. Code, Compile, Run and Debug online from anywhere in world. *******************************************************************************/ #include <stdio.h> #include <stdlib.h> int main(void) { int num, maior= 0, menor= 0, y= 0; printf("Digite um numero:"); scanf("%d", &num); menor= num; maior= num; int ymenor= 1, ymaior= 1; //#Complete com ymenor e ymaior for (y= 2; y <= 10; ++y) { printf("\rDigite um numero: "); scanf("%d", &num); if (num > maior) maior= num, ymaior= y; if (num < menor) menor= num, ymenor= y; } printf("\n"); printf("O %do elemento é o maior.\n", ymaior); printf("O %do elemento é o menor.\n", ymenor); return 0; } Entrada 2 20 1 3 6 15 12 18 8 7 Saída
  23. Talvez com uma dica termine. Deve guarda, também, o valor da posição, ou seja, o valor na variável de controle [y] do loop for cada vez que atualizar o menor e maior. No final, imprima os valores dessas variáveis, e não do maior e menor. include <stdio.h> #include <stdlib.h> int main(void) { int num, maior= 0, menor= 0, y= 0; printf("Digite um numero:"); scanf("%d", &num); menor= num; maior= num; int ymenor= 1, ymaior= 1; //#Complete com ymenor e ymaior for (y= 2; y <= 10; ++y) { printf("Digite um numero: "); scanf("%d", &num); if (num > maior) maior = num; if (num < menor) menor = num; } printf("O %do elemento é o maior.\n", ymaior); printf("O %do elemento é o menor.\n", ymenor); return 0; } Compreendeu.
  24. É um exercício comum, qual a dificuldade? Você estudou/ou estuda C?
×
×
  • Criar Novo...