-
Total de itens
883 -
Registro em
-
Última visita
Posts postados por vangodp
-
-
tal como você tem da a entender que estão separados por espaço...
while (arquivo >> dados) cout << dados << endl;
a) o menor dos números:
você precisa de uma variável na qual você deve inicializar com o maior valor possivel ao que possa ser armazenado em um int. logo ir guardando cada int lido caso seja menor que a tal variável.
#include<iostream> #include<climits> using namespace std; int main(){ int n = INT_MAX; int aux = 3000; cout << "Antes" << n << endl; cout << "Antes" << aux << endl; //n é maior que aux, vai ser atribuido o valor de aux a n if ( aux < n ){ n = aux; } cout << "Depois" << n << endl; cout << "Depois" << aux << endl; aux = 5000; //agora n é menor que aux, n vai acontecer nada if ( aux < n ){ n = aux; } cout << "Agora" << n << endl; cout << "Agora" << aux << endl; aux = 10; //aux é menor que n... sempre que isso acontecer o valor de aux vai ser guardado em n "anotando" o menor numero sempre. if ( aux < n ){ n = aux; } cout << "Fim" << n << endl; cout << "Fim" << aux << endl; return 0; }
é dizer... cada vez que ler um numero guarda ele na aux e compara ele com n para ver si aux é menor, caso for assim você copia o aux no n. Por isso precisa inicializar n com o maior valor possivel, isso acontece quando fazemos int n = INT_MAX. O INT_MAX é o maior valor que cabe em um int, se fizer um ++ ao n você verá que passa a ser negativo. também tem INT_MIM etc. você pode ver aqui exemplos: https://www.cplusplus.com/reference/climits/
b) o maior dos números
o maior dos números é a mesma coisa... só que desta vez com INT_MIN ou simplesmente atribuindo 0 ao n. Tome cuidado porque si tiver números negativos melhor usar INT_MIN, e em caso de n ter negativos talvez inicializando n com 0 seja suficiente. Dica.. se no arquivo n tiver numeros negativos talvez seja melhor usar unsigned int n em vez de int... fica mais "profissional".
tenta ai e me diz como foi.
c) a soma de todos os números.
A soma é o mais fácil... você precisa de uma variável chamada somatória do tipo int que deve ser inicializado e cada vez que ler um numero do arquivo você deve fazer:
n = n+aux; -
como estão esses números no arquivo?
separado por espaços, virgulas etc?
-
se contador é uma constante você n pode fazer ++. Tire o const
-
pode ser que o codeblocks n ache gdb.exe, você tem que indicar para codeblocks. vai em settings/Debuger Settings e en default você precisa buscar o gdb.exe. O gbd.exe costuma estar na pasta do compilador chamada bin.
https://prnt.sc/WcjVReXc6ZjdSe tiver dificuldade me avise e pode que seja possivel lhe ajudar.
gbd.exe costuma estar junto na pasta do gcc.exe, g++.exe etc(pasta bin)
como na foto em executable path você precisa indicar a pasta bin e o nome do arquivo... neste caso gdb.exe
-
qual sua duvida?
-
qual sua duvida?
-
pega ele aqui para ver
-
Em 16/04/2022 em 04:52, M. Karolina Souza disse:
O que eu mais gosto de usar é o Clion da JetBrains galera, quem fizer faculdade ou algum curso superior, tem uma assinatura gratuita com todos os produtos da JetBrains, eu uso o Clion e o Pycharm nela, depois procurem sobre, é uma IDE muito boa!
é uma ide muito boa sim.. mas também muito dependente de cmake, para estudo isso adiciona uma nova capa de complexidade.
-
que isso?
-
também vamos ter de adivinhar o que faz o programa...? se você comentar ele ou talvez explicar o que você achar que ele deveria fazer nas partes mais criticas do seu programa.
Assim de entrada vejo coisas que podem causar erros como a linha "double maior;" dentro da função maior.quando declarar uma variável tenha em mente que você esta reservando um espaço da memoria, e que esse espaço pode vir com dados de outros programas incluídos("lixo"), se outro programa tiver usado esse espaço anteriormente é bem provável que lá tenha algum valor previo.
Dai se você fizer...int i; double maior; for(i=0; i!=tam; i++){ if(vetor[i] > maior){ maior=vetor[i];
pensando que maior vale 0 você pode topar com erros pois na realidade se a função tiver lixo poderia ser algo como isso
int i; double maior = (aqui poderia ter qualquer valor); for(i=0; i!=tam; i++){ if(vetor[i] > maior){ maior=vetor[i];
isso pode causar erros imprevisíveis, porque poderia funcionar seu programa, ou funcionar as vezes, ou até mesmo sair dragão na tela.
Quando você precisar fazer cálculos com uma variável o melhor é dar um valor inicial
int i; double maior = 0; // aqui temos controle porque sabemos que valor inicial vai ter for(i=0; i!=tam; i++){ if(vetor[i] > maior){ maior=vetor[i];
Fora isso você deveria comentar as formulas e cada parte critica etc. Somos todos pessoas ocupadas e realmente eu não sou estudante de pscologia XDDD. E ainda sou bem ruim em matematicas kkk. Se você me facilitar o que você espera que o programa faça, talvez, ou certamente seja possivel lhe ajudar. A linguagem C faz muitas coisas implícitas, que muitas vezes o programador desconhece, por isso você pode estar tendo problemas.
-
coisas a dominar antes de tocar aí seriam entender o processo de compilação, linkado, e logo a geração de makefiles básicos, para logo ir escalando.
não imagino que erro esta acontecendo.você sabe usar makefiles?
-
mas por que você ta mexendo ai...? Isso é um arquivo makefile gerado pelo dev c++ automaticamente cada vez que você compila acredito. você sabe usar makefiles? o que você quer fazer exatamente..?
-
No c e c++ se você errar uma coisinha da "tropecentos" mil erros. o truco é ir arrumar o primeiro que provavelmente o resto volte a vuncionar. Para isso preste atenção nesta linha:
\Users\magsm\OneDrive\┴rea de Trabalho\desafios\passagem de aviÒo\passagens.cpp: In function 'int main()':
No arquivo passagens.cpp: dentro da função main na linha 20 acontece o seguinte erro:
error: expected primary-expression before ')' token
esta esperando uma expressão antes do parêntesis de fechamento )
20 | switch (){ | ^
talvez você n saiba... ou pode que sim. tanto switch, como if, como while , etc, quer que você ponha algo dentro de ( e ) para ser avaliado. Dependendo do resultado da expressão dentro dos parêntesis for verdadeiro o falso se entra no corpo {} ou não. se os parêntesis estão vazios, o switch n serve para nada, e esse é o erro pois n se avalia nada.
só com isso deve se arrumar os outros 200 mil erros kkk -
eu
-
-
#include<iostream> using namespace std; int main(){ cout << __DATE__ << endl; return 0; }
https://www.cprogramming.com/reference/preprocessor/__DATE__.html
-
"Lixo" no buffer.
Insira depois de cada cin "cin.sync();" para sincronizar a entrada padrão com o que for guardado na variável, isso evitará problemas.cin>>blabla...
cin.sync();busque sobre como limpar o buffer em c++.
-
float kilometros = 7;
printf("%f km equivale a %f", kilometros, (kilometros*4.349597));
-
n vi todo o programa porem quando declarar struct base db[2]; você só tem 2 elementos, porem neste for você tenta acessar um terceiro elementos que n existe. Ou seja você esta estourando a capacidade do tal vetor.
-
para isso se deveria usar o operador new para reservar dinamicamente uma matriz dinâmica de chars. Se quiser ir mais longe você pode usar o container vector
-
Aparte disso você esta multiplicando um double por outro double e tentando guardar o resultado em um float causando assim a perda de informação. O que acontece neste caso é uma conversão implícita de tipos de double a float e isso pode dar lugar a erros importantes no seu código em um futuro.
procure fazer desta forma:
float a = 100.64f * 100.64f;O sufixo especifica o de literal de numero real:
(sem sufixo) se define um double
Com sufixos f ou F se define float
Com sufixos l ou L se define long double
O numero 100.64 se diz que é um literal de ponto flotante porem pode dar lugar a ambiguidades. você pode querer um double, um float, um long double, etc, por isso você deve informar o compilador usando os sufixos acima mencionados assim da a entender que você tem o controle do seu programa.
Existem muitos tipos de literais, para praticamente todos os tipos, lhe recomendo que procure sobre o tema. -
Em 28/11/2021 em 03:01, Davi_c disse:
Há a possibilidade de abrir ele com a+, mas se eu fizer isso a minha função login não vai ser mais capaz de permitir a ninguém logar.
Existem outras opções de abertura como r+
-
claro que podemos ajudar.... mas manda o que levar feito.
-
Me ajudem a fazer essa função
em Grupo de Estudos
Postado
float foo(){
return 3.14;
}