Search the Community

Showing results for tags 'linguagem c'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Programação & Desenvolvimento
    • ASP
    • PHP
    • .NET
    • Java
    • C, C++
    • Delphi, Kylix
    • Lógica de Programação
    • Mobile
    • Visual Basic
    • Outras Linguagens de Programação
  • WEB
    • HTML, XHTML, CSS
    • Ajax, JavaScript, XML, DOM
    • Editores
  • Arte & Design
    • Corel Draw
    • Fireworks
    • Flash & ActionScript
    • Photoshop
    • Outros Programas de Arte e Design
  • Sistemas Operacionais
    • Microsoft Windows
    • GNU/Linux
    • Outros Sistemas Operacionais
  • Softwares, Hardwares e Redes
    • Microsoft Office
    • Softwares Livres
    • Outros Softwares
    • Hardware
    • Redes
  • Banco de Dados
    • Access
    • MySQL
    • PostgreSQL
    • SQL Server
    • Demais Bancos
  • Segurança e Malwares
    • Segurança
    • Remoção De Malwares
  • Empregos
    • Vagas Efetivas
    • Vagas para Estágios
    • Oportunidades para Freelances
  • Negócios & Oportunidades
    • Classificados & Serviços
    • Eventos
  • Geral
    • Avaliações de Trabalhos
    • Links
    • Outros Assuntos
    • Entretenimento
  • Script Brasil
    • Novidades e Anúncios Script Brasil
    • Mercado Livre / Mercado Sócios
    • Sugestões e Críticas
    • Apresentações

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

Found 92 results

  1. Implementar em C uma árvore binária de pesquisa que armazena valores do tipo inteiro. O programa deve oferecer as seguintes opções para o usuário: 1) Inserir um elemento (informado pelo usuário); 2) Buscar um elemento (é fornecida uma chave e a função informa se encontrou ou não o elemento); 3) Imprimir o conteúdo da árvore (ao selecionar essa opção devem ser mostrados na tela os dados com o caminhamento pré-fixado a esquerda); 4) Imprimir o nível da árvore; 5) Liberar a árvore da memória e encerrar. Meu código é este, porém tenho dúvidas em como fazer o item 4 e 5. #include <stdio.h> #include <stdlib.h> #include <locale.h> #include "arvore.h" struct arvore { struct _arvore *esq; int valor; struct arvore *dir; }; typedef struct arvore a; a *raiz = NULL; void Inserir(int x){ a *novo = NULL; a *aux = NULL, *auxOld = NULL; novo = malloc (sizeof(a)); novo -> valor = x; novo -> esq = NULL; novo -> dir = NULL; if (raiz == NULL){ raiz = novo; } else { aux = raiz; while (aux != NULL){ auxOld = aux; if (x < aux -> valor){ aux = aux -> esq; } else { aux = aux -> dir; } if (x < auxOld -> valor){ auxOld -> esq = novo; } else { auxOld -> dir = novo; } } } } void Buscar(int x){ setlocale (LC_ALL, ""); a *aux = NULL; aux = raiz; while (aux != NULL) { if (x == aux -> valor) { printf("Elemento encontrado.\n"); return; } else if (x < aux -> valor){ aux = aux -> esq; } else { aux = aux -> dir; } if (aux == NULL){ printf("Elemento não encontrado.\n"); } } } void PrefixEsq(a *aux){ if (aux == NULL){ return; } printf("%d ", aux -> valor); PrefixEsq(aux -> esq); PrefixEsq(aux -> dir); } void PrefixDir(a *aux) { if (aux == NULL) return; printf("%d ", aux -> valor); PrefixDir(aux -> dir); PrefixDir(aux -> esq); } void ImprimirPreEsq(){ PrefixEsq(raiz); printf("\n"); }
  2. Olá! Gostaria de saber como criar um programa que crie 100 ou até mais pastas em linguagem C. Sei que system("mkdir pasta") eu crio uma pasta, mais como faço para criar dezenas delas? Desde já abradeço! Meu sistema operacional é o UBUNTU 16.04.
  3. #include <stdio.h> #include <stdlib.h> #include <locale.h> #define const 5 struct cadastro{ int cod; char autordaobra[50]; char obra[50]; char editora[50]; }; int i, j, cad, opcao; struct cadastro livro[const]; void mostrar() { if(i != 0) { for(j=0; j<i; j++){ printf ("Código: %d\n", livro.cod); printf ("Autor da obra: %s\n",livro.autordaobra); printf ("Obra: %s\n", livro.obra); printf ("Editora: %s\n\n",livro.editora); } } else printf("Lista vazia!\n"); } void cadastro(){ if (i <const){ system("cls"); printf("1 – Inserir um novo cadastro\n"); printf("2 – Mostrar todos os cadastros\n"); printf("0 – Encerrar\n"); fflush(stdin); livro.cod = i+1; fflush(stdin); printf("Insira o nome do autor da obra %d:\n", i+1); fflush(stdin); gets(livro.autordaobra); fflush(stdin); printf("Insira o nome da obra %d:\n", i+1); gets(livro.obra); fflush(stdin); printf("Insira o nome da editora %d:\n", i+1); gets(livro.editora); fflush(stdin); system("cls"); printf("1 – Inserir um novo cadastro\n"); printf("2 – Mostrar todos os cadastros\n"); printf("0 – Encerrar\n"); i = i+1; } else printf("Sistema de cadastro lotado. Não é possível armazenar mais informações!\n"); } int main(int argc, char *argv[]) { setlocale(LC_ALL, "Portuguese"); printf("1 – Inserir um novo cadastro\n"); printf("2 – Mostrar todos os cadastros\n"); printf("0 – Encerrar\n"); i = 0; opcao = 0; do{ while(!scanf ("%d", &opcao)) { while(getchar() != '\n'); printf("Erro: opção inválida!\n"); } if (opcao > 2) {printf("Erro: opção inválida!\n"); } else switch(opcao) { case 1: cadastro(); break; case 2: mostrar(); break; } }while(opcao != 0); return 0; }
  4. Eu fiz esse código aí para testar o recebimento de valores em uma matriz e impressão dos mesmo só que os dados que eu insiro quando o programa é compilado se alteram e fica esse trem doido aí se alguém puder me dizer o que tenho que fazer pra consertar agradeço. meu código: #include <stdio.h> #include <math.h> int ze[3][3]; int i=0,j=0,k=0,l=0; int main(void){ for(i=0; i<3; i++){ for(j=0; j < 3; j++){ scanf("%d", & ze[j]); } } for(k=0; k < 3; k++){ printf("\n |"); for(l=0; l<3; l++){ printf("%d", & ze[k][l]); printf("|"); } } return 0; printf("\n"); } o que ta sendo imprimido: 1 //valores que inseri 2 //valores que inseri 3 //valores que inseri 4 //valores que inseri 5 //valores que inseri 6 //valores que inseri 7 //valores que inseri 8 //valores que inseri 9 //valores que inseri |4223040|4223044|4223048| //valores que saem |4223052|4223056|4223060| //valores que saem |4223064|4223068|4223072| //valores que saem -------------------------------- Process exited after 5.882 seconds with return value 0 Pressione qualquer tecla para continuar. . .
  5. 1) Escrever uma função em C que: receba dois strings como parâmetro, bem como um valor inteiro representando uma posição; insira o segundo string no primeiro, na posição indicada pelo valor. No programa principal leia os dois strings, o valor da posição, passe para a função descrita acima e escreva o resultado na tela. 2) Desenvolva uma função em C, que recebe como parâmetros um inteiro n e duas matrizes quadradas reais X e Y de ordem n, sendo a dimensão n lida do teclado. Esta função calcula soma das matrizes X e Y . Escreva no módulo principal, a matriz gerada na função. 3) Escreva um programa que solicite ao usuário o número de notas a serem digitadas, crie uma matriz, com a dimensão especificada, para armazenar as entradas, solicite as notas e chame um função que retorne a média aritmética das notas. Após imprimir a média, o programa libera a memória alocada para a matriz . 4) Escreva uma função que inverta a ordem dos caracteres de uma cadeia de caracteres que ela recebe como argumento. Use ponteiro. Exemplo: ’Saudações’ resulta ’seõçaduaS’
  6. Me ajudem por favor ! Ingressei na programação a pouco tempo e tenho que terminar essa atividade pra amanhã. Mas tem essa questão que eu to travado: "Desenvolva um código que leia um número inteiro x e, se x>1 mostre a soma dos múltiplos de 5 no intervalo de 1 a x." Eu com a ajuda da internet consegui fazer o código, mas não o que a questão pede. Mas acho que estou no caminho. Aqui está o código: # include<stdio.h> # include<stdlib.h> //Desenvolva um código que leia um número inteiro n e, se n>1 mostre a soma dos múltiplos de 5 no intervalo de 1 a n. main() { //Inicio do programa int soma; int n; soma = 0; printf("Digite um numero inteiro positivo"); scanf("%d", &n); for(n=100;n<200;n++) { if (n % 5 == 0) { soma = soma + n; //Soma os múltiplos de 5 } } printf("\nA soma é %d \n\n",soma); system("pause"); return 0; } //Fim do programa Pf me ajudem a fazer o código de forma que o enunciado pede ! 
  7. Estou fazendo um programa que leia um valor N e um valor X. então ele vai mostrar todos os numeros naturais multiplos de X. So que quando digito 100 e 3 ele faz certinho porem so para no 102 ao invés de parar no 99 que é o ultimo multiplo de 3. alguém ajuda a resolver pf! Preciso manda o trabalho amanha #include <stdio.h> int main() { int n,x,i,m; printf("Digite um valor para N: "); scanf("%d",&n); printf("Digite um valor para X: "); scanf("%d",&x); m = 0; while(i<=n) { i = x * m; printf("Multiplos: %d\n",i); m = m + 1; } return 0; }
  8. Olá pessoal! Sou novo aqui, então não sei direito como funciona heheh. Estou fazendo um trabalho para a faculdade, onde precisamos programar, em C, o jogo Mouse Trap, que é similar ao Pacman. Já programei algumas funcionalidades... Fiz um arquivo txt que é o mapa inicial, depois os dados desse arquivo alimentam uma matriz que é manipulada durante o jogo. Utilizei a biblioteca conio.h para agregar cores aos elementos e também dar vida ao personagem principal através da gotoxy. Enfim, com o que eu fiz o personagem já tem vida no mapa e inclusive "come os queijos" que ficam no caminho, atualizando os pontos conquistados em um score. Até agora tá tudo perfeito, mas travei na hora de dar vida aos gatos (inimigos) que seriam equivalentes aos fantasmas do pacman. A questão é que para dar vida ao rato eu fiz um while que entra em looping infinito, isso funcionou associado às funções sleep e gotoxy. Entretanto, não tenho ideia de como fazer os ratos e os gatos se moverem simultaneamente, já que o trabalho tem como requisito utilizar apenas uma função sleep. Se alguém puder me dar um apoio... agradeceria muito!!!
  9. olá pessoal, eu queria saber se alguém consegue me explicar como fazer, na linguagem C, uma representação de números do tipo double a uma string, com dimensão e elemento de letras pré definidos. Ou seja, eu só quero pegar uma string de algumas letras e a cada letra da string atribuir um número que eu vou pedir ao usuario com printf e scanf para definir. Quem souber resolver por favor ajude esse principiante hahahaha... Ex.: char[6] = 'casa'; seria: c = 2.45; a = 3.71; s = 8.49 e a = 0,31... PS.: Qualquer dúvida do que estou querendo dizer com esta publicação podem me perguntar nos comentários e bora programar hahahaha :) ;)
  10. Preciso de ajuda no CRUD(criar, visualizar, editar e deletar) do meu TCC, pois não sei nem como fazer essa parte, tem dois campos de cadastros - USUARIO e SENHA.Minha placa possuiu 4 letras, A,B,C e D, com elas utilizaria o usuário, Sendo A usuário admin, podendo, somente ele o incluir outros usuários.Usaria as letras tambem para as funçoes do CRUD, de editar, deletar... o usuario.Ao rodar de inicio o programa, já seria automaticamente usuário A, apenas incluiria uma nova senha, sendo salva na memoria EPROM(que também não saberia como fazer, pois de momento o que está rodando no meu programa é sô inserir senha, que já está salva no código).
  11. Desenvolva um programa, usando a linguagem C, para realizar os cálculos, obedecendo o seguinte: 1. O sistema deve trabalhar com um menu composto pelas seguintes opções: a. Cadastrar número de participantes i. que bebem cerveja ii. que não bebem cerveja b. Cadastrar preços dos produtos do churrasco c. Listar os preços cadastrados e as quantidades a serem compradas d. Calcular o custo total e o valor a ser pago por pessoa i. O valor para pessoas que não bebem cerveja deve ser 25% mais barato que o valor para as pessoas que bebem cerveja. 2. O sistema deve considerar os seguintes itens e quantidades:  Cerveja – 6 latinhas por pessoa que bebe  Refrigerante normal o 300 ml por pessoa que bebe cerveja o 1 litro por pessoa que não bebe cerveja  Refrigerante diet – 200 ml por pessoa  Carne de vaca – 250 g por pessoa  Lingüiça toscana – 50 g por pessoa  Lingüiça de frango – 50 g por pessoa  Limão – 50 g por pessoa  Tomate (vinagrete) – 50 g por pessoa  Cebola (vinagrete) – 10 g por pessoa  Vinagre – 1 unidade  Pão – 3 unidades por pessoa  Carvão – 0,05 saco por pessoa  Sal grosso – 0,02 saco por pessoa  Detergente – 1 unidade  Esponja de pia – 1 unidade  Papel higiênico – 0,025 pacote por pessoa OBS: as quantidades de refrigerante (normal e diet), sacos de carvão, sacos de sal grosso e pacotes de papel higiênico, se resultarem fracionado, devem ser sempre arredondados para cima.
  12. Exemplo em Linguagem em C (Lista duplamente encadeada) criar uma listagem de alunos, a listagem precisa seguir algumas normas referentes ao interesse dos alunos como por exemplo, os alunos com deficiência tem prioridade para listagem, e devem estar no inicio da lista, e apos eles, caso tenha terá a listagem dos demais alunos para o curso sobre tecnologia. Caso alguns aluno desista do curso, seu nome precisa ser removido da lista é necessário permitir a pesquisa de algum aluno. Por fim será preciso imprimir uma lista com nome de todos alunos inscritos. Deverão criar estruturas de dados para permitir a listagem de alunos com base em seus nomes ao invés de números , e criar funções de adição, remoção, pesquisa e impressão. Ao criar a função principal main, os alunos precisarão criar um menu para usuário escolher qual ação desejar realizar se é matricula normal ou deficiência, remoção de alunos, pesquisa e impressão. O menu deve ser simples impresso a cada execução com a coleta de uma opção numérica.
  13. Programa está inserindo normalmente, mais não está ordenando e nem mostrando os itens ordenados. obs1: Usando bubblesort obs2: ordenando primeiro por nome e depois por idade #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct lista { int qtd; struct Aluno * inicio; }lista; typedef struct Aluno { char nome[30]; int idade; struct Aluno * prox; }Aluno; lista * aloca_lista(); Aluno * aloca_aluno(); int inserir(lista *l, char * nome, int idade); void mostrar(lista *l); int main() { char aux[30]; int i,aux2,aux3,aux4,tam=3,pass,trocou; Aluno * aluno[3]; lista * l1; l1 = aloca_lista(); aux4 = l1->inicio; int idade; char nome[30]; for(i=0; i<3; i++) { printf("\nDigite o nome do aluno[%d]: ",i+1); fflush(stdin); gets(nome); printf("\nDigite o numero: "); fflush(stdin); scanf("%d",&idade); inserir(l1,nome,idade); } trocou = 1; for(pass=0; pass<tam-1 && trocou==1; pass++) { trocou = 0; for(i=0; i<tam-pass-1; i++) { if(strcmp(aluno[i]->nome,aluno[i+1]->nome) == 0) { if(aluno[i]->idade > aluno[i+1]->idade) { aux2 = aluno[i]->idade; aluno[i]->idade = aluno[i]->prox->idade; aluno[i]->prox->idade = aux2; strcpy(aux,aluno[i]->nome); strcpy(aluno[i]->nome,aluno[i+1]->nome); strcpy(aluno[i+1]->nome,aux); trocou = 1; } } else if(strcmp(aluno[i]->nome,aluno[i+1]->nome)>0) { aux3 = aluno[i]->idade; aluno[i]->idade = aluno[i+1]->idade; aluno[i+1]->idade = aux3; strcpy(aux,aluno[i]->nome); strcpy(aluno[i]->nome,aluno[i+1]->nome); strcpy(aluno[i+1]->nome,aux); trocou = 1; } } } printf("\nmostrando:\n\n"); mostrar(l1); return 0; } lista * aloca_lista() { lista * novo; novo = (lista*)malloc(sizeof(lista)); novo->qtd = 0; novo->inicio = NULL; return novo; } Aluno * aloca_aluno() { Aluno * novo; novo = (Aluno*)malloc(sizeof(Aluno)); novo->idade = 0; strcpy(novo->nome," "); novo->prox = NULL; return novo; } int inserir(lista *l,char * nome, int idade) { Aluno * novo, * aux; novo = aloca_aluno(); novo->idade = idade; strcpy(novo->nome,nome); if(l->inicio == NULL) { l->inicio = novo; } else { aux = l->inicio; while(aux->prox != NULL) { aux = aux->prox; } aux->prox = novo; } l->qtd++; return 1; } void mostrar(lista *l) { Aluno * aux; aux = l->inicio; while (aux != NULL) { printf("\nNome: %s",aux->nome); printf("\nIdade: %d",aux->idade); aux = aux->prox; } }
  14. Olá a todos Segue a minha contribuição: www.linguagemc.pt Esta página tem dezenas de exercícios de programação, todos resolvidos em Linguagem C, e com novas atualizações constantes. Espero que vos seja útil. Abraço
  15. lucasi

    Strings e typedef

    Gostaria de saber como a comunidade (opinião de cada um, como cada um utiliza) geralmente utiliza strings em C. Estou escrevendo uns programas e estou com dúvidas. Eu sei que em C string é um vetor de char, porém eu estou em dúvidas quanto a utilizar um typedef para criar um tipo string. Geralmente se utiliza desse modo? Se não, se utiliza vetor de char? Ponteiros? Há como fazer um cast de uma "string-ponteiro" para um vetor de char?
  16. Bom dia galera! Estava precisando de ajuda em uma atividade de programação em linguagem C, não tenho ideia de como proceder com esse exercício? 1. Escreva um programa que armazena 10 números inteiros aleatórios em um vetor. O vetor deverá ser uma variável local dentro da função “main” Em seguida, imprima: a. a quantidade de números ímpares do vetor; b. a soma dos números pares do vetor; c. a quantidade de números com valor maior do que a média dos números do vetor; d. o menor valor do vetor; e. a maior diferença em valor absoluto entre elementos consecutivos do vetor; Quem puder me ajudar, agradeço de inicio!
  17. Olá, alguém poderia me ajudar nessas duas questões de fila e pilha? Agradeço desde já (:
  18. Pessoal, preciso de freela que possa nos ajudar a transformar planilhas dinamicas Excel em mini aplicativos C objetivo: criar banco de dados de referencias pesquisar movimentações de dados e incrementar rotinas preditivas desejavel conhecimmento vba e linguagem c pode ser c++ conhecimentos em banco de dados interessados pode me contatar aqui ou no w app 11 95916 7597 sucesso a todos
  19. Preciso de ajuda em dois exercícios em linguagem C, meu professor não é muito bom e estou tendo muita dificuldade para resolve-los. 1)Faça um programa peça um valor inteiro positivo n e que em seguida calcule a diferença entre o quadrado da soma dos primeiros n números naturais e a soma dos quadrados destes números. Por exemplo, a soma dos quadrados dos 10 primeiros números naturais é 1²+2²....+10² = 385 e o quadrado da soma é (1+2+...+10)²=3025. Assim, teremos como resultado 3025 − 385 = 2640. 2)Escreva um programa que, dados dois números naturais N1 e N2, imprima todos os números primos existentes entre ambos
  20. Apenas para fins didáticos, e sem me responsabilizar por uso indevido, apresento este gerador de cpf. O gerador aqui proposto pode gerar até 11 cpfs de uma só vez, e foi criado em linguagem C. Quantidades inferiores a 1, ou maior que 11 não passa pela entrada, como também qualquer caractere, passando mesmo tão somente dígitos. Fica em sua responsabilidade o uso, não indicado pelo autor que sou eu mesmo. Veja abaixo uma imagem do programa em execução: Veja abaixo o link do código do programa: http://codigosfontes-ccplus-plus.blogspot.com.br/2017/10/gerador-de-cpf-linguagem-c.html
  21. mkz301

    Dúvida!!!

    Galera estou com uma dúvida! Gostaria de saber porque não posso chamar o método scanf() como parâmetro da chamada de uma função. Ex: funcao(scanf("%d",&n)); Ao fazer isso ele sempre passa o valor 1 como parâmetro. Alguém poderia me explicar? Desde já agradeço!
  22. #include<stdio.h> #include<stdlib.h> main(){ int a,b; printf(" informe o numero de linhas da matriz 1"); scanf("%f",&a); printf(" informe o numeros de coluna da matriz 1"); scanf(" %f",&b); int x [a]; int c,d; printf(" informe o numero de linhas da matriz 1"); scanf("%f",&c); printf(" informe o numeros de coluna da matriz 1"); scanf(" %f",&d); int y [c][d]; for(int i=0;i<1;i++){ for(int j=0;j<1;j++){ int z= x[a]+y[c][d]; }} }
  23. Olá programadores de C inteligentes, eu sou novo no Fórum, mas preciso de ajuda... estou a programar um jogo de xadrez em linguagem C, as peças estão funcionando bem em geral, mas há uma peça que está bem teimosa, o CAVALO! extrai parte do código de forma bem besta(o programa inteiro não é assim), para ver se vocês conseguem ver o problema: #include <stdio.h> char xadrez[8][8] = { {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '}, {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '}, {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '}, {' ', ' ', ' ', 'c', ' ', ' ', ' ', ' '}, {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '}, {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '}, {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '}, {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '} }; int ImprimeTabuleiro() { system("cls"); int linha, coluna, repete; for (linha=0; linha<8; linha++) { for(repete=0; repete<3; repete++) { for (coluna=0; coluna<8; coluna++) { char peca = xadrez[linha][coluna]; char letra = ((linha+coluna)%2==0) ? '\xB2' : ' '; letra = (repete == 1 && peca != ' ') ? peca : letra; if((linha+coluna)%2==0) { printf("\xB2\%c\xB2", letra); } else { printf(" %c ", letra); } } printf(" \n"); } } } int movimento(int LinOri, int ColOri, int LinDes, int ColDes) { int mover = 0; char peca; int Vertical = abs(LinDes - LinOri); int Horizontal = abs(ColDes - ColOri); if((peca == 'c') && (Vertical == 2 && Horizontal == 1)) { mover = 1; } if((peca == 'c') && (Vertical == 1 && Horizontal == 2)) { mover = 1; } if(mover == 1) { xadrez[LinDes][ColDes] = xadrez[LinOri][ColOri]; xadrez[LinOri][ColOri] = ' '; return 1; } else { return 2; } } int main() { int LinOri, LinDes, ColOri, ColDes; while (1) { ImprimeTabuleiro(); printf("\nCOORDENADAS DE ORIGEM DA PEÇA: (linha, coluna): "); scanf("%d %d", &LinOri, &ColOri); printf("\nCOORDENADAS DE DESTINO DA PEÇA: (linha, coluna): "); scanf("%d %d", &LinDes, &ColDes); if (movimento(LinOri,ColOri,LinDes,ColDes) != 1) { printf("\nERRO: O CAVALO não SE MOVIMENTA ASSIM!"); getch(); } } getch(); return 0; } Na teoria, se eu digitasse 3 3 e depois 1 2, era para ele se movimentar. por favor, me digam qual é o problema... Obrigado!
  24. Olá pessoal, mais uma das questões difíceis para iniciante, estou tendo dificuldades para encontrar os erros no algoritmo que desenvolvi, conto com a colaboração de todos, e serei grato a toda dica construtiva de vocês que são mais experientes. #include <stdio.h> #include <stdlib.h> int main(){ int logico,i,j,n,inicol,fimcol,inilin,fimlin,degrau; int matriz[20][20]; do{ printf("Escreva a dimensao da matriz:"); scanf("%d",&n); if((n<1)||(n>20)){ printf("A dimensao da matriz precisa estar entre 1 e 20\n"); } }while((n<1) || (n>20)); printf("A matriz informada e do tipo %dX%d\n",n,n); printf("Digite os numeros da matriz abaixo:\n"); for(i=1;i<=n;i++){ for(j=1;j<=n;j++){ printf("Entre com o valor de matriz["); printf("%d,",i); printf("%d]:",j); scanf("%d",&matriz[i][j]); } } for(i=1;i<=n;i++){ printf("\n"); for(j=1;j<=n;j++){ printf("%2d",matriz[i][j]); printf(" "); } printf("\n"); } inicol=1; fimcol=n; inilin=1; fimlin=n; degrau=0; logico=1; while((logico=1)&&(inicol<fimcol) && (inilin<fimlin)){ for(i=inicol;i=fimcol;i++){ if(matriz[inilin][i]=(degrau+1)){ degrau=(degrau+1); } else{ logico=0; } } fimcol=(fimcol-1); for(i=fimcol;i=inicol;i--){ if(matriz[fimlin][i]=(degrau+1)){ degrau=(degrau+1); } else{ logico=0; } } fimlin=(fimlin-1); for(i=fimlin;i=inilin;i--){ if(matriz[i][inicol]=(degrau+1)){ degrau=(degrau+1); } else{ logico=0; } inicol=(inicol+1); } if(logico=1){ printf("A matriz e inca"); } else{ printf("A matriz não e inca"); } return 0; } Até essa parte abaixo o algoritmo está executando ok. #include <stdio.h> #include <stdlib.h> int main(){ int logico,i,j,n,inicol,fimcol,inilin,fimlin,degrau; int matriz[20][20]; do{ printf("Escreva a dimensao da matriz:"); scanf("%d",&n); if((n<1)||(n>20)){ printf("A dimensao da matriz precisa estar entre 1 e 20\n"); } }while((n<1) || (n>20)); printf("A matriz informada e do tipo %dX%d\n",n,n); printf("Digite os numeros da matriz abaixo:\n"); for(i=1;i<=n;i++){ for(j=1;j<=n;j++){ printf("Entre com o valor de matriz["); printf("%d,",i); printf("%d]:",j); scanf("%d",&matriz[i][j]); } } for(i=1;i<=n;i++){ printf("\n"); for(j=1;j<=n;j++){ printf("%2d",matriz[i][j]); printf(" "); } printf("\n"); }
  25. #include <stdio.h> int palindromo (int num){ /*Essa função acha o reverso do número e o retorna para a função principal*/ int rev; while(num){ rev = (num%10 + rev)*10; num = num/10; } return (rev); } int main (void){ /*Na função main, o valor é inserido pelo usuário e o programa chama a função palindromo para determinar seu reverso. Depois a função main compara se o reverso é igual ao numero e se isso for verdade retorna se ele é palindromo.*/ int pal,num; printf("Informe um valor: "); scanf("%d",&num); //printf("%d",num); pal = palindromo(num)/10; if (pal==num) printf("O numero %d é palindromo!!",pal); else printf("O numero %d não é palindromo!!",pal); return 0; system ("pause"); } O que está em negrito é a adaptação que eu tive que fazer. Se executado o código, sem atribuir a função palíndromo dividido por 10 à uma variável, o alor retornado da função possuía sempre uma casa decimal a mais, ou seja, se o usuário digita 121 retornaria que o valor 1210 não é palíndromo. Gostaria da ajuda do pessoal para saber porque o número está retornando multiplicado por 10 e não em seu valor correto.