
alecounter
Membro Pleno-
Posts
38 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Livros
Cursos
Análises
Fórum
Tudo que alecounter postou
-
#include <stdio.h> #include <stdlib.h> int main() { int opcao, gx, gy, gz, px, py, pz, pw; printf("[1] Funcao de duas variaveis\n"); printf("[2] Funcao de tres variaveis\n"); printf("\nDigite a opcao desejada: "); scanf("%d",&opcao); setbuf(stdin,NULL); if(opcao == 1) { printf("Digite o vetor gradiente no formato (x,y): "); scanf("(%d,%d)",&gx,&gy); setbuf(stdin,NULL); printf("Digite o ponto do R3 no formato (x,y,f(x,y)): "); scanf("(%d,%d,%d)",&px,&py,&pz); setbuf(stdin,NULL); printf("\nEquacao parametrica da reta tangente:\n"); printf("\tx = (%d) + (%d)t\n",px,-gy); printf("\ty = (%d) + (%d)t\n",py,gx); printf("\tz = (%d) ; t variando na reta\n\n",pz); printf("Direcao de maior crescimento: (%d,%d)\n",gx,gy); printf("Direcao de menor crescimento: (%d,%d)\n",-gx,-gy); printf("Direcao em que nao ha variacao: (%d,%d)\n",-gy,gx); } else if(opcao == 2) { printf("Digite o vetor gradiente no formato (x,y,z): "); scanf("(%d,%d,%d)",&gx,&gy,&gz); setbuf(stdin,NULL); printf("Digite o ponto do R4 no formato (x,y,z,f(x,y,z)): "); scanf("(%d,%d,%d,%d)",&px,&py,&pz,&pw); setbuf(stdin,NULL); printf("\nEquacao parametrica da reta normal:\n"); printf("\tx = (%d) + (%d)t\n",px,gx); printf("\ty = (%d) + (%d)t\n",py,gy); printf("\tz = (%d) + (%d)t ; t variando na reta\n\n",pz,gz); printf("Equacao do plano tangente: (%d)x + (%d)y + (%d)z + (%d) = 0\n",gx,gy,gz,-(gx*px+gy*py+gz*pz)); printf("Direcao de maior crescimento: (%d,%d,%d)\n",gx,gy,gz); printf("Direcao de menor crescimento: (%d,%d,%d)\n",-gx,-gy,-gz); printf("Direcao em que nao ha variacao: qualquer vetor contido no plano tangente acima\n"); } else { printf("Opcao invalida\n"); } printf("\nPress any key to continue..."); getchar(); return(0); } int main2() { int inteiro,inter; scanf("(%d,%d)",&inteiro,&inter); printf("%d %d",inteiro,inter); return(0); } Cara, fiz um esboço de programa nos moldes que você falou. Fiz calculo 2 ano passado, então se não esqueci as coisas deve funcionar tudo ok (verifique). Só tá acontecendo um problema, na hora de usar o scanf tá dando problema na parte de numeros negativos da forma(0,-1) por exemplo. fica pra você resolver essa parte.
-
O vetor gradiente está avaliado no ponto dado?
-
Ativa o modo de compatibilidade para Windows 8 e veja se funciona...
-
Python Calculo Trigonométrico de sen^2
alecounter respondeu ao tópico de saulogoiana em Programação - outros
Usa o comando from math import sin Daí faz o uso da função sin(x)**2 pra x em radianos!!! -
Outro Criação de software gráfico
alecounter respondeu ao tópico de alecounter em Programação - outros
Pelo que vi só funciona no Windows. Acontece que preciso que funcione no Linux... conhece algum outro? -
Python Multiplicação e divisão no python
alecounter respondeu ao tópico de fabionps em Programação - outros
def mul(num1,num2,cont,soma): if(cont == num2): return(soma) soma += num1 cont += 1 return(mul(num1,num2,cont,soma)) def div(num1,num2,cont): if(num1 < num2): return(cont) num1 -= num2 cont += 1 return(div(num1,num2,cont)) def main(): print("Opcao 1: multiplicar dois numeros naturais") print("Opcao 2: dividir dois numeros naturais") print("\nDigite a opcao desejada: ",end="") opcao = int(input("")) while(not opcao in [1,2]): print("Opcao invalida!") print("\nDigite a opcao desejada: ",end="") opcao = int(input("")) num1 = int(input("Digite o 1º numero: ")) num2 = int(input("Digite o 2º numero: ")) if(opcao == 1): resultado = mul(num1,num2,0,0) if(opcao == 2): resultado = div(num1,num2,0) print("\nResultado: %d" % resultado) main() Fiz pra naturais, acho que a pior parte é essa. Agora é com você fazer as adaptações necessárias pra funcionar também para inteiros. -
Python Multiplicação e divisão no python
alecounter respondeu ao tópico de fabionps em Programação - outros
Pode usar recursão ? -
Boa tarde a todos, tenho que fazer um trabalho para a faculdade: criar um programa que desenhar na tela pontos e retas (e algumas coisas a mais). O problema é que nunca fiz um software gráfico antes... Alguém poderia por gentileza me indicar uma linguagem fácil pra fazer isso? Valeu
-
a complexidade computacional dos algoritmos não é igual. no meu algoritmo, a decisão de o número 'n' ser um primo ou não se baseia no fato de algum número contido em {2,3,...,int(sqrt(n))} dividir n. Se isso acontecer, a função cospe a resposta imediatamente. No caso do algoritmo do colega acima, o laço percorre o conjunto {1,2,...,n-1} em todos os casos e ainda itera sobre uma variável toda vez que ocorre uma divisão inteira. Podemos observar também que valores acima de int(sqrt(n)) nem precisariam ser verificados, pelo teorema fundamental da aritmética...
-
não vejo outra alternativa a não ser usar exceções, em especial pelo caso n=0. pelo algoritmo de euclides, se um número 'a' natural divide 0, então o quociente também é 0 e podemos escrever 0=0a. Percebe-se assim que qualquer valor contido no conjunto dos inteiros satisfaz isso, logo fica indeterminado. Contar divisores nesse caso não funciona(mesmo). adicionado 2 minutos depois algoritmo da divisão ***
-
aí é só tratar exceções... só colocar um if-else que leva alguns nanossegundos para ser computado
-
não amigo, eu simplesmente copiei o código que estava aqui no post no meu codeblock para windows e tudo funcionou bem. precisei apenas fazer uma alteração aqui: for(int i = 2; i <= int(sqrt(n)); i++) pois realmente não sabia que o valor de sqrt(n) seria truncado, pensei que fosse arredondado. Não sei o motivo pelo qual não funcionou no ambiente Linux onde estava anteriormente. Basicamente eu nem segui nada do que vcs disseram aqui adicionado 2 minutos depois entendi a lógica sim, obrigado pelo algoritmo como já disse, fiz uma alteração no código que fiz anteriormente e tudo funcionou bem
-
Eu já sei a definição de número primo. O que isso tem a ver com o problema? adicionado 9 minutos depois Problema resolvido. Uma pequena alteração no código resolveu o problema estranho que na faculdade eu fiz a mesma coisa e não funcionou por lá... Lá na faculdade é Linux e aqui windows, será que tem algo a ver? adicionado 17 minutos depois se o meu número n for da forma n=2k, pra k natural, então deveria funcionar para o 2 também. o código não funcionou por algum motivo desconhecido, já que copiei e colei aqui no codeblocks em casa e tudo funcionou bem...
-
por qual motivo isto está acontecendo?
-
eu coloquei outra condição, fiz assim for(int i = 2; i < n; i++) e mesmo assim a coisa ainda não funciona!
-
Pessoal, tudo bem? alguém poderia por gentileza me indicar o erro deste algoritmo que verifica se o número é primo ou não? O erro é que a função só retorna true! bool primo(int n) { for(int i = 2; i < int(sqrt(n)); i++) if(n % i == 0) return false; return true; } int main() { std::cout << primo(5); }
-
Obrigado gente, estou usando o Code::blocks aqui na faculdade
-
Pessoal tudo bem? Alguém sabe me informar se o codeblocks funciona para C++? fiz um código aqui mas não está compilando...
-
o trecho em vermelho está dizendo o que você precisa fazer. basicamente o codeblocks não conseguiu invocar o compilador (provavelmente você instalou o codeblocks sem ele).
-
bom, eu reparei que você declarou o vetor de estrutura gente dentro da função registro, do jeito que você fez ela seria perdida, o certo seria você declarar assim: static struct gente aaa[e]; pois dessa forma esse vetor não seria perdido quando a função deixasse de executar. mas eu particularmente não gosto de fazer assim, então declarei esse vetor dentro de main e coloquei todas as outras funções para cima de main, pra não precisar fazer apenas a declaração das mesmas.
-
você declarou aaa como uma estrutura e não como um vetor de estruturas. deveria fazer assim struct gente aaa[e]; adicionado 1 minuto depois ops, acho que li o codigo de maneira errada, perai adicionado 8 minutos depois mexi no seu código e agora parece que rodou #include <stdio.h> #include <stdlib.h> struct gente { char sexo[11]; char cor[11]; char cabelo [11]; int id; }; void registro(struct gente *aaa, int e) { int i; for(i = 0; i < e; i++) { printf("Informe o sexo: "); scanf("%s%*c", &aaa[i].sexo); printf("Informe a cor dos olhos: "); scanf("%s%*c", &aaa[i].cor); printf("Informe a cor do cabelo: "); scanf("%s%*c", &aaa[i].cabelo); printf("Informe a idade: "); scanf("%d%*c", &aaa[i].id); } } void imprimir(struct gente *aaa, int e){ int i; printf("Fique agora com os dados das pesquisas.\n\n"); for(i=0;i<e;i++){ printf("A pessoa do sexo %s, ",aaa[i].sexo); printf("tem os olhos %s, ",aaa[i].cor); printf("tem os cabelos %s, ", aaa[i].cabelo); printf("tem a idade de %d anos.\n\n", aaa[i].id); } } void main() { int e, *a; printf("Informe a quantidade de pessoas que passaram pela pesquisa.\n"); scanf("%d", &e); a = &e; struct gente aaa[e]; registro(aaa, e); imprimir(aaa, e); } adicionado 11 minutos depois na verdade não entendi porque você criou o ponteiro para inteiro a, ele não foi usado no código
-
Usa uma variável para guardar o número de alunos aprovados e outra para guardar o número de alunos reprovados.
-
Moça, depois que calcular a média, você terá que varrer o vetor inteiro de novo, comparando cada elemento com a média e incrementando um contador para o caso aprovado e outro para o caso reprovado, conforme o caso. adicionado 0 minutos depois ops, você não precisa comparar com a média, precisa comparar com o número 5 na verdade.
-
Pessoal, boa tarde! o código abaixo está funcionando normalmente, mas minha dúvida é ali na parte (lista+i). Não deveria ser (lista+i*sizeof(livros)) pra tudo funcionar bem? Abraços! typedef struct { char titulo[50]; char autor[50]; int ano; } livros; void recebe_dados(int n, livros *lista) { for(int i = 0; i < n; i++) { printf("Digite o titulo do %d%c livro: ", (i+1), 248); gets((*(lista+i)).titulo); printf("Digite o autor do %d%c livro: ", (i+1), 248); gets((*(lista+i)).autor); printf("Digite o ano de publicacao: "); scanf("%d", &(*(lista+i)).ano); setbuf(stdin,NULL); } } void imprime_tela(int n, livros *lista) { system("cls"); for(int i = 0; i < n; i++) { printf("%s\t", (lista+i)->titulo); printf("%s\t", (lista+i)->autor); printf("%d\n", (lista+i)->ano); } } void main(void) { int quantidade; printf("Digite a quantidade de livros: "); scanf("%d", &quantidade); setbuf(stdin,NULL); livros biblioteca[quantidade]; recebe_dados(quantidade,biblioteca); imprime_tela(quantidade,biblioteca); }
-
acho que entendi, mas você aprendeu C no curso ou aprendeu usando algum livro? porque você sempre fala de regras, e no livro que estou usando não estou vendo nada disso
Sobre o Clube do Hardware
No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais
Direitos autorais
Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais