Flávio Pedroza
Membro Pleno-
Posts
2.067 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
Tudo que Flávio Pedroza postou
-
#include <stdio.h> #include <float.h> #include <math.h> int main (){ int N, i; float maiorx = 0, menorx = DBL_MAX, maiory = 0, menory = DBL_MAX, r, cx, cy; scanf("%d", &N); float x[100], y[100]; while(N!=0){ for(i = 0; i < N;i ++){ scanf("%f %f", &x[i], &y[i]); if (x[i] > maiorx) maiorx = x[i]; if (x[i] < menorx) menorx = x[i]; if (y[i] > maiory) maiory = y[i]; if (y[i] < menory) menory = y[i]; } cx = (maiorx + menorx) / 2; cy = (maiory + menory) / 2; r = sqrt((maiorx - cx) * (maiorx - cx) + (maiory - cy) * (maiory - cy)); printf("%.2f %.2f %.2f\n", cx, cy, r); scanf("%d", &N); } return 0; }
-
Melhor que os produtos fiquem armazenados em um vetor: std:vector <Produtos> produtos; produtos.reserve(100);//opcional Acrescente essa linha: p.diferencial = int.Parse(Lidos[15]); produtos.push_back(p);//acrescentar essa linha você então ordena os produtos pelo código do produto class Produtos { public int pedido, serie, terminal, filial, produtos, calc, caixa, data, hora, diferencial; public double quantidade, quebra; public string estorno, devolucao, nulo, tipo bool operator() (Produtos p1, produtos p2) { return (p1.produtos<p2.produtos);}//acrescentar para ordenar os produtos pele cogido do produtos } std::sort(produtos.begin(), produtos.end()); //depois do while Então, varra o vector e vá somando os valores. Cada vez que o código do produto mudar você zera o contador int codigo = -1; int soma; for (std::vector<Produtos>::iterator it=produtos.begin(); it!=produtos.end(); ++it) { if (codigo != it.produtos) //o codigo do produto mudou { cout << "Produto" << codigo << ":" << soma; soma = 0; codigo = it.produtos; } soma += it.quantidade; } Isto é só uma ideia, não testei e pode ter alguns erros, mas o principio é esse. Veja se consegue implementar.
-
C# Trabalho com geoprocessamento de imagens
Flávio Pedroza respondeu ao tópico de Ana Caroline Candido em C/C#/C++
"o grupo deverá selecionar três ou mais estruturas de dados" quais são as estruturas? -
#include <limits.h> int main() { int i, escolha = 10; int menos = INT_MAX, mais = 0; //mais = paciente.peso[i]; //menos = paciente.peso[i]; if(paciente.peso[i] > mais){ resultado.maisObeso = i; mais = paciente.peso[i]; } if(paciente.peso[i] < menos){ resultado.menosObeso = i; menos = paciente.peso[i]; }
-
C++ Como receber mais de um nome em uma variavel char
Flávio Pedroza respondeu ao tópico de Felipe Hoffmeister em C/C#/C++
Tá lá no meus post string nome; getline(cin, ag.nome); -
C++ Como receber mais de um nome em uma variavel char
Flávio Pedroza respondeu ao tópico de Felipe Hoffmeister em C/C#/C++
Não recomendo misturar "c" e "c++". Se está programando em c++, não use scanf ou char[]. Use cin e string. Também não use as bibliotecas do "c". template <typename TIPO, int MAX> struct Agenda{ TIPO ID[MAX]={}, CPF[MAX]={}, Cel[MAX]={}, CNPJ[MAX]={},Empresa[MAX]={}, Tcomercial[MAX]={}; string nome; int quantidade; }; cout<<"NOME: "; getline(cin, ag.nome); cout<<ag.nome; -
veja se isto ajuda: http://geekycircle.blogspot.com/2014/03/adding-icon-to-dev-c-program.html#.XZea1oPwYdU
-
C++ Como utilizar struct em uma biblioteca?
Flávio Pedroza respondeu ao tópico de Felipe Hoffmeister em C/C#/C++
Basta incluir esse fragmento de código no ".h" da biblioteca. -
C Como receber uma sigla e printar resultados na ordem em que foi solicitada
Flávio Pedroza respondeu ao tópico de Julia Leite em C/C#/C++
Veja se é isso que queria: int main(){ int n1=0, n2=0 , rmdc = 0, rmod = 0, rpot = 0; char fim[] = "OOO"; char op[4]; while(1){ printf("Entre operação: "); scanf("%s",op); if (strcmp(op, fim) == 0) return 0; printf("Entre n1:"); scanf("%d",&n1); printf("Entre n2:"); scanf("%d",&n2); if (strcmp(op, "MDC") == 0) { rmdc = MDC(n1,n2); printf("MDC(%d,%d) = %d\n",n1,n2,rmdc); } else if (strcmp(op, "MOD") == 0) { rmod = MOD(n1,n2); printf("MOD(%d,%d) = %d\n",n1,n2,rmod); } else if (strcmp(op, "POT") == 0) { rpot = POT(n1,n2); printf("POT(%d,%d) = %d\n",n1,n2,rpot); } } } -
C# Como Adicionar funções no programa
Flávio Pedroza respondeu ao tópico de Ivan de Freitas Correa em C/C#/C++
Que funções que incluir? -
Usa o visual studio?
-
C++ Como utilizar struct em uma biblioteca?
Flávio Pedroza respondeu ao tópico de Felipe Hoffmeister em C/C#/C++
Posta o código. -
Não está certo. Para calcular a média você soma os elementos e divide pela quantidade de elementos: case 2: media = 0 for(it = numeros.begin(); it != numeros.end(), it++) { media += *it; } media = media / numeros.size(); cout << "A media é: " << media << enl; cout << "Pressione enter para continuar" << endl; cin.get(); break;
-
Acredito que a forma abaixo esteja mais próxima do pedido no exercício. #include <vector> #include <iostream> using namespace std; int main(){ int x; string continuar; vector<int> numeros; numeros.size(); do{ cout << "Digite um numero: "; cin >> x; numeros.push_back(x); cout << "Deseja continuar? (s/n)"; cin >> continuar; }while(continuar == "s"); cout << "Saiu" << endl; int opcao; int soma; vector<int>::iterator it; do { cout << "Escolha a opção" << endl; cout <<"1: Imprimir o somatório de seus elementos" << endl; cout <<"2: Imprimir a média de seus elementos" << endl; cout <<"3: Imprimir a média e o somatório" << endl; cout <<"4: Substituir por zero todos os valores negativos e imprimir a média" << endl; cout <<"5: Substituir por zero todos os valores repetidos e imprimir a média e o somatório" << endl; cout<<"6: mostrar o vetor ordenado" << endl; cout <<"0: Sair da aplicação" << endl; cin >> opcao; cin.ignore(); switch (opcao) { case 1: // SOMA soma = 0; for (it = numeros.begin(); it != numeros.end(); it++) { soma += *it; } cout << "A soma é: " << soma << endl; cout << "Pressione enter para continuar" << endl; cin.get(); break; case 2: break; case 3: break; case 4: break; case 5: break; case 6: break; case 0: break; } } while (opcao != 0); cout << "Tchau!"; return 0; } Veja se consegue fazer o resto (média, ordenar, etc.).
-
Não, são coisas completamente diferentes. switch/case é equivalente a condicionais if/else.
-
sizeof retornar variável do tipo unsigned long, ou std::size_t em c++. São tipos de variáveis positivas que vão de zero até um valor máximo, nunca negativas. Quando você compara com números negativos, dá erro, pois o compilador vai transformar o número negativo no tipo sem sinal, ficando um número positivo com valor alto. Rode o exemplo abaixo para entender melhor. #include <iostream> using namespace std; int main() { int a = -1; //variável com sinal unsigned long b = 0;// variável sem sinal int c= 0;//variável com sinal if (a < b) cout << "a eh menor que b" << endl; //comparando signed com unsigned - erro! else cout << "erro???" << endl; if (a < c) cout << "a eh menor que c" << endl; //comparando signed com signed - ok! else cout << "erro???" << endl; //o que acontece quando transformo um tipo negativo em unsigned? cout << (unsigned long)a; return 0; } Em resumo, não compare números negativos com varáveis unsigned.
-
Recursividade tem execução mais lenta é ocupa mais memória - não tem como evitar. Se isso é um problema, use laços então.
-
Depois
-
tem que fazer o case switch para cada opção, tipo: int opcao; cin >> opcao; switch (opcao) { case 1: break; case 2: break; case 3: break; case 4: break; case 5: break; case 6: break; case 7: break; case 8: break; case 9: break; case 0: break; }
-
C++ Problemas em fazer menu e sub menu em c++
Flávio Pedroza respondeu ao tópico de Felipe Hoffmeister em C/C#/C++
do { cout<<"\t\tMENU\n\n\t1 AUTORES\n\t2 JOGAR\n\t3 SAIR\n\t>"; cin>>escolha; cin.ignore();//acrescentar para ele ignorar o ENTER; system("cls"); if(escolha==1) { system("cls"); cout<<"\tAUTORES:\n\tFelipe Hoffmeister\n\tRicardo Carvalho\n\tGuilherme"<<endl; } if(escolha==2) { do{ cout<<"\tDigite o nome do jogador da cartela 1:"; //gets(nome1); depreciado cin.getline (nome1,256); cout<<"\tDigite o nome do jogador da cartela 2:"; cin.getline (nome2,256); -
C Séries infinitas (Calculo Numerico)
Flávio Pedroza respondeu ao tópico de Jonathan Storari Ferreira em C/C#/C++
Na verdade, não acho que o programa vá funcionar do jeito que quer. Vai chegar um ponto em que o fatorial será tão grande que irá gerar erro de underflow. Tem que alterar o algortimo como sugeriu @isrnick -
Não precisa, o erro era o nome da função, você escreveu errado no .h.
-
C Séries infinitas (Calculo Numerico)
Flávio Pedroza respondeu ao tópico de Jonathan Storari Ferreira em C/C#/C++
você está calculando o fatorial de forma errada. Além disso, acredito que esteja havendo estouro da variável. A convergência da séria é muito lenta, o que leva a muito passos e incremento muito rápido da variável fat. Tenta assim: #include<stdio.h> #include<conio.h> #include<math.h> int main(void) { int n = 0, i; double fat = 1; double serie = 0; while(serie <= 0.818731) { n = n + 1; fat=fat*n; serie = serie + (pow(-1,n)*pow(0.2,n))/fat; printf("\n%f %u", serie, fat); getch(); } return(0); } -
Tem um erro nessa linha case 3: //printf("\t\t\MAPA\n"); printf("\t\tMAPA\n"); e aqui #pragma once #include <stdio.h> #include <math.h> extern int assentoC[23]; extern int assentoJ[23]; extern float valort; //void limpavetor(int *v1,int*v2); void limparvetor(int *v1,int*v2);
-
Por que será hein? Será que essa é uma sintaxe aceita pela linguagem? int SomaSerie(int i, int j, int k){ int soma = 0; if(i<j){ soma = soma + SomaSerie(i + k, j, k); }else{ soma = soma + j; } return soma; }
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