-
Total de itens
69 -
Registro em
-
Última visita
Posts postados por Thiago André Cardoso
-
-
Peço licença aos moderadores do fórum e caso não seja permitido este tipo de divulgação, eu retiro de imediato.
A quem interessar possa: Curso particular online de Java para iniciantes.
Contato: (85) 999273805
Temos um ótimo método de ensino com 100% de satisfação dos alunos.Agradeço desde já.
-
Uso de recursividade./* * Retornar a diferença entre o elemento máximo e o mínimo do vetor */ package livro.recursividade; /** * @author thiagoandreqi */ public class DiferencaMaxMin232 { public static void main(String[] args) { int v[] = {2, 3, 3, 8}; int r = diferenca(v, v.length, 1, v[0], v[0]); System.out.println("Diferença = " + r); } /*A função retorna a diferença entre um maior elemento e um menor elemento de um vetor v[0.. n -1] */ public static int diferenca(int v[], int n, int i, int maior, int menor) { if (i == n) { return maior - menor; } else { if (v[i] > maior) { System.out.println("v[" + i + "] " + v[i]); return diferenca(v, n, i + 1, v[i], menor); } if (v[i] < menor) { System.out.println("v[" + i + "] " + v[i]); return diferenca(v, n, i + 1, maior, v[i]); } else { System.out.println("v[" + i + "] " + v[i]); return diferenca(v, n, i + 1, maior, menor); } } } }
Caso esteja começando em Java e quiser o acompanhamento de um professor particular, só entrar em contato: (85) 999273805
Uso de recursividade./* * Retornar a diferença entre o elemento máximo e o mínimo do vetor */ package livro.recursividade; /** * @author thiagoandreqi */ public class DiferencaMaxMin232 { public static void main(String[] args) { int v[] = {2, 3, 3, 8}; int r = diferenca(v, v.length, 1, v[0], v[0]); System.out.println("Diferença = " + r); } /*A função retorna a diferença entre um maior elemento e um menor elemento de um vetor v[0.. n -1] */ public static int diferenca(int v[], int n, int i, int maior, int menor) { if (i == n) { return maior - menor; } else { if (v[i] > maior) { System.out.println("v[" + i + "] " + v[i]); return diferenca(v, n, i + 1, v[i], menor); } if (v[i] < menor) { System.out.println("v[" + i + "] " + v[i]); return diferenca(v, n, i + 1, maior, v[i]); } else { System.out.println("v[" + i + "] " + v[i]); return diferenca(v, n, i + 1, maior, menor); } } } }
-
Pra quem quiser dá uma olhada de como foi feito o algoritmo:
https://github.com/doctorwho1998/java/blob/master/verificaExpressaoMath
-
Vamos tentar destrinchar essa explicação:
Realmente o = significa atribuir.
Exemplo: x = 3 (x recebe 3) ou (3 é atribuído a x)
O valor da direita é atribuído a variável da esquerda.O == dois iguais é usado na operação relacional
Quando iremos comparar dois valores.
3 == 4 (3 é igual a 4)
if (x == 3) {}
3 horas atrás, 0cool disse:Alguém pode me explicar a diferenca do = e do == , e quando devo usar os dois? Um explicacao q me deram foi de que = é de atribuicao a algo, porém ainda está confuso na minha cabeca, queria uma explicacao mais prática.
Caso se interesse: https://profes.com.br/thiago.andre.cardoso.silva
-
Boa noite amigo.
Você começou o programa?
Se ainda estiver com dúvidas, posta o que fez que te ajudamos a entender melhor e terminar.
-
Eu quando comecei a programar, sempre quis um professor particular para me ajudar em projetos etc.
Depois de anos estudando e ensinando em escolas técnicas de programação resolvi também dá aulas particulares. Espero que gostem!
-
você tem um scanf sem o &
scanf("%f",pesot);
Tenta fazer o código enxuto primeiro, depois implementa com os while etc...
#include <stdio.h> #include <math.h> #include <stdlib.h> void main() { float prova=5, quiz=6, trab=8, pesop=0, pesoq=0, pesot=0, pesototal=0, media=0; pesop = 3; pesoq = 5; pesot = 2; pesototal = pesop + pesoq + pesot; if (pesototal!=10) { printf("Os pesos colocados não correspondem a uma média que vale 10 pontos, favor corrija-os\n\n\n"); } else { media = (prova*(pesop/10))+(quiz*(pesoq/10))+(trab*(pesot/10)); if (media>=7.0) { printf("Parabéns, você foi aprovado nesta matéria com média %f.2\n", media); } else { if (media < 7.0 && media >= 5.0) { printf("Sua média não alcancou o esperado, mas você ainda tem chances no exame %f.2\n", media); } else { printf("Infelizmente sua média não satisfez o minimo, você foi reprovado nesta matéria %f.2\n", media); } } } }
-
Boite,
Os números que vê são hexadecimais.
Creio que isso não seja possível, pois este arquivo não é o código fonte do jogo.
Maioria das vezes são protegidos! -
Creio que seja melhor você ir aos poucos, para depois ir a desafios.
Tenta estudar essas partes separadas.
while, std, etc...
Faz um exercício envolvido cada objeto deste programa, ai depois você entenderá tudo isso ai. -
#include <stdio.h> #include <stdlib.h> int main(void) { int a = 0; int b = 1; for (int i = 1; i < 50; i = a + b){ b = a; a = i; printf("- %i ", i); } }
O jeito mais simples que achei de fazer é este.
Mas ele mostra o a sequencia até o numero que está na condição. No caso seria até o valor de fib menor que 50Mas podemos fazer assim se quisermos saber até o N termo.
#include <stdio.h> #include <stdlib.h> int main(void) { int x = 0; int a = 0; int b = 1; for (int i = 1; i < 10; i++){ x = a + b; b = a; a = x; printf("- %i ", x); } }
-
Em 23/07/2018 at 10:21, phk1 disse:
Fiz o exercício, mas não sei porque não está funcionando.
{ Escreva um algoritmo que calcule e escreva a soma dos dez primeiros termos da seguinte serie: 2/500 - 5/450 + 2/400 - 5/350 + ... }
#include <iostream>
#include <cstdlib>
#include <stdio.h>using namespace std;
int main()
{
setlocale(LC_ALL, "Portuguese");
int i, denominador;
float s;
denominador = 500;
s = 0;
for (i=1;i<=10;i++)
{
if ((i % 2) != 0)
{
s = s + (2/denominador);
}
else
{
s = s - (5/denominador);
}
denominador = denominador - 50;
cout << s << "/" << denominador;
}
return 0;
}D sempre 0250. Não descubro o erro.
#include <stdio.h> #include <stdlib.h> #define S_D 50; //Constante que irá subtrair 50 do denominador int main(void) { float denominador = 500; //valor inicial do denominador float soma = 0; //valores de soma e do denominador tem que ser flutuante for (int i = 2; i < 12; i++){ if (i%2 == 0){ soma = soma + (2/denominador); }else { soma = soma - (5/denominador); } denominador -= S_D; } printf("Soma = %f\n", soma); }
Bom dia amigo,
O meu deu certo quando coloquei o denominador como float.
O resultado final é -0.13313
Verifica os dois programas e compara se está tudo ok.
Espero ter ajudado, abraços. -
#include <stdio.h> #include <stdlib.h> #include <string.h> int main(void) { char frase[100] = "O aluno se matriculou!"; //char aux[100]; int aux = 0; int nt = 0; printf("Digite a frase\n"); //scanf("%s", frase); //gets(frase); //frase = "Aluno"; printf("%s", frase); int tamanho = strlen(frase); int aux_tamanho = tamanho; for (int i = 0; i < tamanho; i++) { //printf("\nvalor de i %i\n", i); if ((frase[i + 1] == 'l') && (frase[i + 2] == 'u') && (frase[i + 3] == 'n') && (frase[i + 4] == 'o')) { if (frase[i] == 'A') { frase[i] = 'E'; aux = 1; } if (frase[i] == 'a') { frase[i] = 'e'; aux = 1; } if (aux == 1) { int espaco = aux_tamanho - ((i + 4) + 1); //printf("\nEspaco = %i\n", espaco); nt = aux_tamanho + 4; for (int j = 0; j < espaco; j++) { frase[nt - 1] = frase[aux_tamanho - 1]; nt--; aux_tamanho--; } frase[i + 1] = 's'; frase[i + 2] = 't'; frase[i + 3] = 'u'; frase[i + 4] = 'd'; frase[i + 5] = 'a'; frase[i + 6] = 'n'; frase[i + 7] = 't'; frase[i + 8] = 'e'; } } } printf("\n%s", frase); int tamanho2 = strlen(frase); // printf("\n%i", tamanho2); }
Aulas particulares online de programação > WhatsApp (85) 999273805
-
No tabuleiro de xadrez, a casa na linha 1, coluna 1 (canto superior esquerdo) é sempre branca e as cores das casas se alternam entre branca e preta, de acordo com o padrão conhecido como... xadrez! Dessa forma, como o tabuleiro tradicional tem oito linhas e oito colunas, a casa na linha 8, coluna 8 (canto inferior direito) será também branca. Neste problema, entretanto, queremos saber a cor da casa no canto inferior direito de um tabuleiro com dimensões quaisquer:L linhas e C colunas. No exemplo da figura, para L = 6 eC = 9, a casa no canto inferior direito será preta!
Resposta 1:
#include <stdio.h> #include <stdlib.h> int main(void) { int L = 0; int C = 0; int aux = 1; printf("Digite o numero de linhas do tabuleiro:\n"); scanf("%i", &L); printf("Digite o numero de colunas do tabuleiro:\n"); scanf("%i", &C); int tabuleiro[L][C]; for (int i = 0; i < L; i++) { for (int j = 0; j < C; j++) { tabuleiro[i][j] = aux; aux = 1 - aux; } } for (int i = 0; i < L; i++) { for (int j = 0; j < C; j++) { printf("%i ", tabuleiro[i][j]); } printf("\n"); } printf("\nCasa inferior direita de cor = %i\n", tabuleiro[L-1][C-1]); }
Resposta 2:
#include <stdio.h> #include <stdlib.h> int main(void) { int L = 0; int C = 0; printf("Digite o numero de linhas do tabuleiro:\n"); scanf("%i", &L); printf("Digite o numero de colunas do tabuleiro:\n"); scanf("%i", &C); if (L%2 == C%2){ printf("A casa inferior direita é 1."); }else { printf("A casa inferior direita é 0."); } }
-
Segue link com o caderno de perguntas: https://olimpiada.ic.unicamp.br/static/extras/obi2018/provas/ProvaOBI2018_f1pj.pdf
Segue resposta em C : http://rextester.com/YVQ45070
#include <stdio.h> #include <stdlib.h> int main(void) { int N; int f_compradas; int repetidas = 0; int f_repetidas = 0; int f_n_repetidas = 0; int f_restantes = 0; printf("Qual o número máximo de figurinhas do album?\n"); scanf("%i", &N); int M[N]; printf("\nQuantidade de figuras compradas?\n"); scanf("%i", &f_compradas); for (int i = 0; i < f_compradas; i++) { printf("\nDigite o numero da figura:"); scanf("%i", &M[i]); } printf("Saiu do laço\n"); for (int i = 0; i < f_compradas - 1; i++) { for (int j = i + 1; j < f_compradas; j++) { if (M[ i ] == M[ j ]) { printf("Repetiu figura\n"); repetidas++; } } } f_n_repetidas = f_compradas - repetidas; f_restantes = N - f_n_repetidas; printf("\nQuantidade restante: %i\n", f_restantes); }
-
Em 12/07/2018 at 07:52, Eder Silva disse:
Programação Batch / Contar linha iguais e somar
Gostaria de fazer um batch que faça a seguinte contagem:
Arquivo Origem
7895537000011
7895537000028
7895537000035
7895537000042
7895537000059
7895537000066
7895537000011
7895537000011
7895537000028
7895537000028
7895537000028
7895537000059
7895537000059Arquivo Destino
7895537000011,3
7895537000028,4
7895537000035,1
7895537000042,1
7895537000059,3
7895537000066,1Somar as repetições e colocar na frente do do item apos uma virgula. Utilizo para fazer balanço de itens em loja, agradeço a quem puder ajudar.
você quer só a resolução algorítmica? Ou em alguma linguagem específica?
-
Escrever um algoritmo que receba um valor em horas, minutos e segundo e imprima este valor apenas em segundos.
-
Boa tarde amigos,
Segue link para material de estudo.
São 3 módulos simples e bem explicado sobre Dados, Variáveis e Operadores.https://drive.google.com/drive/folders/1NNHyaT0um8MtlV_ytLE0OJK1TjbXAiG4?usp=sharing
-
Boa tarde amigos,
Segue link para material de estudo.
São 3 módulos simples e bem explicado sobre Dados, Variáveis e Operadores.https://drive.google.com/drive/folders/1NNHyaT0um8MtlV_ytLE0OJK1TjbXAiG4?usp=sharing
-
Em 05/07/2018 at 14:14, Ferneves disse:
percebi isso a um tempo já, agora o problema é outro, não sei como faz a raiz.
#include <iostream>
#include <math.h>using namespace std;
int main(int argc, char** argv)
{
// VARIAVEIS
float a, b, c, quad, n2, num, soma, raiz, nx1, nx2, div1, div2, x1, x2;
cout << "============== FORMULA DE BASKHARA 1 grau ======================" << endl;
// ATRIBUINDO VALORES
cout << " Digite o valor A: ";
cin >> a;
cout << " Digite o valor B: " ;
cin >> b;
cout << " Digite o valor 😄 " ;
cin >> c;
// CONTAS
quad = pow (b,2); //Quadrado de b
num = -4 * (a * c); // "-4" Vezes resultado do "n1"
soma = (quad + num); //Resultado do "n1" vezes "num"
n2 = 2 * a; // "2" vezes a
raiz = sqrt(soma); //AQUI O POBLEMA
// X1 \\
nx1 = b + raiz;
div1 = nx1 / n2;
x1 = div1;
// X2 \\nx2 = b - raiz;
div2 = nx2 / n2;
x2 = div2;
cout << " " << endl;
cout << "---------------------------------------------------------" << endl;
// Resultados
cout << "X1: " << x1 << endl;
cout << " " << endl;
cout << "X2: " << x2 << endl;
cout << "---------------------------------------------------------" << endl;
return 0;
}Acho que tem que importar o #include <cmath>
Veja aqui neste exemplo:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double
x;
cin >> x;
cout << sqrt(x) << endl;
return
0
;
}
-
Muito bom o curso repassado acima, também o recomendo.
Mas caso queira um acompanhamento mais próximo no aprendizado, tenho um ótimo curso PARTICULAR ONLINE de lógica.
Entra em contato comigo por e-mail: thiagoandrecardoso@icloud.com
OU acessa este link que lá tem tudo sobre o curso: https://drive.google.com/drive/folders/1NNHyaT0um8MtlV_ytLE0OJK1TjbXAiG4?usp=sharing -
Segue link de um excelente curso particular de algoritmo e lógica de programação.
Nestes arquivos temos a apresentação do curso e a ementa do mesmo.
https://drive.google.com/drive/folders/1NNHyaT0um8MtlV_ytLE0OJK1TjbXAiG4?usp=sharing
-
Segue link de um excelente curso de lógica de programação PARTICULAR online.
https://drive.google.com/drive/folders/1NNHyaT0um8MtlV_ytLE0OJK1TjbXAiG4?usp=sharing
-
Aconselho a isentar seu programa, ficará mais fácil de você achar o erro.
-
escreval ("Nome:") leia (nome) //achar o "simbolo" que faça com que o nome não passe de 20 caracteres se (nome >=20)então escreval ("Prossiga!") senao escreval ("Ultrapassou o número de caracteres(20)") fimse
Em nome >= 20 está errado para prossiga.
O certo é, (nome.tamanho < 20) ai coloca o prossiga, caso não, avisa que ultrapassou.
Nas linguagens de programação, existe uma função que mostra a quantidade de caractere numa string. No caso ai usei o .tamanho porque não sei como se faz em Portugol.
recursividade: maior valor de um vetor
em Java
Postado