Ir ao conteúdo
  • Cadastre-se

devair1010

Membro Pleno
  • Posts

    6.249
  • Cadastrado em

  • Última visita

Tudo que devair1010 postou

  1. @roibomdia o enunciado diz para descobrir se os números na matriz são um número perfeito , mas seu código está detectando se uma Matriz é um Quadrado Mágico , e esse laço for(i=0;i<TAM;i++){ l[i]=0; c[i]=0; d1[i]=0; d2[i]=0; } não precisa , pode se inicializar um vetor ou matriz no momento da criação , int l[TAM] = { 0 }; int c[TAM] = { 0 }; /// TODAS AS posições COM VALOR ZERO int d1[TAM] = { 0 }; int d2[TAM] = { 0 }; e essas comparações if((l[0]==c[1]) && (d1[1]==d2[0]) && (d2[0]==l[1])) { printf("\nÉ um quadrado mágico!!"); } não foram o suficiente para esse objetivo , pois precisa comparar com todas as linhas e todas as colunas e a diaGonal priNcipal e a diagoNal sEcundaria if( i && ( l[i] != l[i-1] || l[i] != c[i-1] ) ) /// bool i eh TRUE ( != 0 ) ou FALSE ( == 0 ) e seu código com modificações ficou assim : /* Uma Matriz Quadrado MAgico eh formada quando a soma de todos os nUmeros de cada linha e cada coluna e da diagonal principal e da diagonal secundaria sAo iguais */ /* Um NUmero eh um QuadraDo Perfeito Quando lhe extraindo a Raiz Quadrada eh exata */ #include <stdio.h> #include <conio.h> #include <math.h> #define TAM 4 #define cls system("cls||clear"); /// Linux e Windows int pausar(); int main() { float f = 15.48; /// matriz com nUmeros selecionados especIficos para Quadrado MaGico int mat[TAM][TAM] = {20,6,7,17,9,15,14,12,13,11,10,16,8,18,19,5}; printf("normal sQrt DE 15.48 = %5.2f\n", sqrt(f) ); printf("ABS sQrt DE 15.48 = %5.2f\n", abs( sqrt(f) ) ); printf("Int sQrt DE 15.48 = %5d\n\n",(int) sqrt(f) ); if( sqrt(f) == (int) ( sqrt(f) ) ) printf("eh raiz exata !\n"); else printf("não eh raiz exata . Aguarde . . . !\n\n"); pausar(); pausar(); int sair = 0 ; char ax[10] = {""}; do { int l [TAM] = {0}; /// linha Horizontal int c [TAM] = {0}; /// coluna Vertical int dP = 0 ; /// DiaGonaL Pricipal int dS = 0 ; /// DiaGonaL secundAria int i = 0 ; int j = 0 ; cls printf("\t\tTecle ESC para Parar . . . !\n\n"); int flg = 0 ; printf("Quer escolher os Numeros da Matriz ? ( S / N ) "); scanf("%s",ax); for(i=0; i<TAM; i++) { l[i] = 0; c[i] = 0; /// inicializa cada posiCAo desse Vetor com valor zero for(j=0; j<TAM; j++) { printf("Digite o %3d%c valor inteiro: %3d Enter\n",i*4+j+1,167,mat[i][j]); if(ax[0] == 's' || ax[0] == 'S') scanf("%d" , & mat [i] [j] ); else mat[i][j] = rand() % 500 + 1; /// Gera num Aleatorios apenaS para testar , dps use scanf l[i] += mat[i][j]; /// armazena a soma de todos os numeros dessa linha da matriz c[i] += mat[j][i]; /// Acumula a soma de todos os numeros dessa colUna da matriz } dP += mat[i][ i]; /// Guarda a soma de todos os numeros da Diag Princ da matriz dS += mat[i][3-i]; /// Fixa a soma de todos os numeros da Diag SecunD da matriz if( i && ( l[i] != l[i-1] || l[i] != c[i-1] ) ) /// bool i eh TRUE ( != 0 ) ou FALSE ( == 0 ) { flg = 1; } } printf("\n"); if( l[0] != dP || l[0] != dS ) flg = 1; for(i=0; i<TAM; i++) { for(j=0; j<TAM; j++) { printf("\t%03d ",mat[i][j]); if(j<TAM-1)printf(","); } printf("\n"); } if( flg ) { printf("\nEssa não Eh Uma Matriz Do Tipo QuaDrado mAGgico . . . !\n"); } else { printf("\nEssa Sim , Eh Uma Matriz Do Tipo QuaDrado mAGgico . . . !\n\n"); return 1; } sair = pausar(); printf("\t Tecle . . . !\n"); getch(); } while( sair != 27 ); if( sair == 27 ) return 32768; } int pausar() { int r = 0; for(int f=0; f<6; f++) for(int n=0; n<6000; n++) if( kbhit()) { r = getch();break; } return r; }
  2. @MakyBR mas e se ligar o cabo sata do HD na placa de outro pc que esteja funcionando , não consegue copiar os dados e depois colocar no SSD que já está conectado no notebook da @Juliana Serral Gomes ? não ?
  3. @sararibeiro22 você pode usar o comando "repita " ou o "enquanto" para pesquisar quantas pessoas quiser , e sem precisar limitar a que quantidade será , e use um contador se precisar obter a quantidade de pessoas entrevistadas , use letras minúsculas nos comando que são mais fáceis de escrever , e também o VisualG 3.0 não faz distinção de maiúsculas e minúsculas , e se você usar esse símbolo "<>" code , que está desenhado lá na barra de ferramentas da janela de postar , perceberá que seus códigos ficarão mais bem organizados e fácil de copiar para testar : algoritmo "pesquisa AldeístiCa" // Professor : Antonio Carlos Nicolodi // Data atual : 02/11/2022 var contador , f, m : inteiro resp , genero : caractere inicio enquanto resp <> "n" faca repita escreva("introduza o seu género ") leia( genero ) escreval(" genero ", genero ) se ( genero <> "f" ) e ( genero <> "m" ) então // o comando então não tem til escreval ( "erro . . . !" ) // ai está assim pelo corretor ortográfico fimse // do fórum , delete esse ( ã ) e escreva apenas a no lugar ate ( genero = "f" ) ou ( genero = "m" ) // aqui são duas comparações se genero = "f" então // aqui eh apenas uma comparação f <- f + 1 senao m <- m + 1 fimse escreva("pesquisar outro S \ N ") leia( resp ) contador := contador + 1 fimenquanto escreval escreval escreval(" Total De Pessoas Entrevistadas --: " , contador:2:2 ) // o primeiro :2 eh qtd de espaCos escreval(" Total De Mulhres ----------------: " , f :2:2 ) // e o outro :2 eh qtd de casas escreval(" Total DE Homens -----------------: " , m :2:2 ) // decimais depois virgula escreval escreval fimalgoritmo
  4. @Cambalinho é que você não postou essa função , e sim , o SetPixel plota um pixel por vez , assim demora muito mesmo , e você já tentou usar uma função nativa da linguagem c++ , para desenhar Linhas ? , " MoveToEx " e " LineTo " ,, , MoveToEx(tela, static_cast<int>(sin(i*3.141615/180)*100+700), static_cast<int>(cos(i*3.141615/180)*100+250),NULL) ; /// posição de inicio for( j=1; j<4; j++ ) LineTo( tela , static_cast<int>(sin((i+ j*120+00)*3.141615/180)*100+700) , static_cast<int>(cos((i+ j*120+00)*3.141615/180)*100+250)); /// vai para essas posições
  5. @Cambalinho e essA Func DrawLine3D(); ? , DrawLine3D ( HDCConsole , LinePositions[0], LinePositions[1], LinePositions[2], LinePositions[3], LinePositions[4], LinePositions[5] );
  6. @Cambalinho para quê o zero ? , somar com zero não modifica nada , e se quer mover um ponto no eixo Z das coordenadas cartesianas , basta somar para o ponto se mover para baixo e subtrair para que o ponto se mova para cima . ex.: ex.: p = 50,40,5; /// ponto inicial p = 50 , 40 , 5 + 1; /// mover um ponto para baixo p = 50 , 40 , 5 - 3; /// mover três ponto para cima
  7. @roibomdia você quer detectar se uma matriz é um Quadrado mágico , ou se um número dessa matriz é um qUadrado peRfeito ?
  8. @FezokaJv você pode usar uma classe e / ou uma struct , que armazena vários tipos de dados , e para ler do teclado podes usar o comando ReadLine() , , , e se você já tiver feito um código sobre esse exercício , poste aqui e ajudaremos se precisar , . . ,,,
  9. @bigles21 "nb" eh outra variável igual aquela "nr" que está no seu código .
  10. @bigles21 essa variável nr = ler_teclado(); //Lê constantemente o teclado aí no código no while while(1) { nr = ler_teclado(); /// Lê constantemente o teclado nb = ler_teclado(); /// Lê constantemente o teclado /// Sequencia do A nr = nr * 10 + nb; /// digitando 0 e enter e 1 e enter eh igual 1 /// digitar 1 e enter e 0 e enter eh igual 10 if( nr == 0X01 ) { clr_bit(PORTC,LIN0); set_bit(PORTD,COL0); _delay_ms(MAY_DELAY); clr_bit(PORTD,COL0); } }
  11. @bigles21 use outra variável , assim : nr_1 = ler_teclado(); // Lê a primeira Tecla diGitada no teclado nr_2 = ler_teclado(); // Lê a SeguNda teCla DigiTada no teclado
  12. @KassioACB o que seria um "arquivo binário " ? , e não é a linguagem que controla a velocidade do código , e sim o processador de seu computador ,
  13. @Ana70820 faça aos poucos , uma parte de cada vez , e vá testando , e poste seus códigos aqUI e ajudaremos se precisar .
  14. @Lipeco esse seu código não está compilando e nem func , mas creio que você possa usar uma função criada pelo usuário chamada " gotoxy " , para posicionar o cursor nas posições que você quer desenhar o labirinto , mas no console não conseguirá fazer um gráfico bem elaborado , e então precisa usar uma biblioteca de terceiros , como a Allegro , ou a SDL , ou a QT ou outras e até mesmo a API do windows que nem precisa ser instalada , , .... ,
  15. @alicesky12 se você já tiver feito um código sobre esse exercício , poste aqui e ajudaremos .
  16. @walison de sousa costa imagino que essa matriz "rotas" contém a qtd de quilômetros de uma cidade até a outra cidade , e esse enunciado tem poucas inmformações .
  17. @walison de sousa costa esse enunciado não diz sobre como fazer esse cálculo dos tempos , e nem de onde vem os números referentes a tempo das viagens ,
  18. @Sanjey teste com esse exemplo: #include <stdio.h> #include <math.h> int main() { printf("Hello World\n\n"); char digitado[50]="123"; int numero = atoi(digitado); int i,a; for(i=0; i<3; i++) { a = numero%10; printf("%d , ",a); numero /= 10; } return 0; }
  19. @Riddiick essa é a diagonal secundária da matriz , int mult = mat[0][5[; int y = 5; for( x=0; x<6; x++ ) { mult *= mat[x][y]; y--; } printf("multiplicCAo eh ---: %3d\n\n\n",mult);
  20. @Sanjey e você quer escrever os números separados por vírgula ? , você pode escrever os dígitos da string digitado um por um , ou desmembrar os dígitos do numero do tipo int transformado pela função atoi , extraindo os dígitos pelo comando mod "%" 10 . que vai separa os dígitos do último para o primeiro .
  21. @Filipe Antony você colocou ponto e virgula no for . for( k = 0; k < Tmatriz; k++) /// esse ponto_e_virgula ; { cout << "linha-1: "<<linha-1 << " k: " << k << " ValorLinha: " <<valorlinha << " tamanhoMatriz: "<<Tmatriz; matriz[linha-1][k] = valorlinha * matriz[linha-1][k]; }
  22. @pedrogeisler sim sua placa tem slot PCIe 16x , 3.0 , e essa placa de vídeo , também tem um conector do mesmo formato fisicamente são iguais , porém , essa placa é da versão mais atual e ela é 4.0 , então pose conectada nessa sua placa e vai funcionar bem normal , porém os novos recursos da placa não serão aproveitados . , e nesse link você pode ter informações : placa de vídeo RX 5500 xt 4GB placa AMD RX 5500 XT 4GB no techtudo diz assim : Por exemplo, será possível usar uma placa PCIe 3.0 em um slot PCIe 4.0 sem problemas, embora dessa forma o potencial do novo PCIe não seja plenamente aproveitado https://www.techtudo.com.br/noticias/2019/06/pci-express-40-conheca-o-padrão- mais-rápido-para-placas-de-vídeo-e-ssds.ghtml.
  23. @Luisa Lucia qual valor está errado ? , testei aqui e o resultado desses cálculos que é o valor da variável total está certo ! . #include <iostream> #include <math.h> #include <windows.h> #define _h GetStdHandle(STD_OUTPUT_HANDLE) int main () { float a = 0.0; float b = 0.0; float c = 0.0; float media = 0.0; float p1 = 0.0; float p2 = 0.0; float p3 = 0.0; float total = 0.0; SetConsoleTextAttribute(_h , 11 + ( 0 << 4 ) ); printf("Digite o primeiro valor e sua media respectivamente -: "); scanf("%f%f", &a , &p1); printf("Digite o segundo valor e sua media respectivamente --: "); scanf("%f%f", &b , &p2); printf("Digite o terceiro valor e sua media respectivamente -: "); scanf("%f%f", &c , &p3); media = a * p1 + b * p2 + c * p3; /// ordem de prevalencia * / + - total = media / ( p1 + p2 + p3 ); SetConsoleTextAttribute(_h , 12 + ( 15 << 4 ) ); printf("\n\n A media eh --: %5.9f \n\n\n", total); SetConsoleTextAttribute(_h , 7 + ( 0 << 4 ) ); return 0; }
  24. @donutLukke nesse link , você pode ter mais informações sobre a API do windows na linguagem C : http://vulms.vu.edu.pk/Courses/CS410/Downloads/Charles Petzold - Programming Windows - 5th Ed.pdf

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

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!