Ir para conteúdo
Fórum Script Brasil

Pesquisar na Comunidade

Mostrando resultados para as tags ''c ''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Fóruns

  • 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

Encontrar resultados em...

Encontrar resultados que...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

  1. 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
  2. Estamos desenvolvendo um projeto mobile com c++, inovação que necessita de ajuda especializada. Em fato iremos transpor planilhas Excel VBA macro para alocar em modulo c++ protegido, com vistas a ceder informações com melhor controle do gestor, mais facilidade de acesso aos usuários funções incluirão mudar a linguagem dos cálculos excel para c++, implantação de funcionalidades web em servidor, transposição vba para c++ e criação de bd cloud criar plataforma com registro mac para acesso controlado dos usuários disponibilizar acessos a mobile e computadores depois desse serviço poderão existir outros, uma vez que temos muitas planilhas Excel para serem adaptadas ao novo molde. (temos uma escola e pretendemos colocar as informações didáticas com mais facilidade a nossos alunos) (por favor me retorne com alguns exemplos de serviços que tenha realizado). Queremos iniciar o projeto imediatamente. obrigado Felipe Klein CONTATO 11 95916 7597 W APP
  3. Boa noite, primeira vez postando aqui, pessoal estou com um problema(que já me deparei em outro programa em tinha que fazer pra faculdade) espero que consigam me ajudar a achar o erro... O exercício pede para usar Struct para criar como se fosse um banco de dados de uma biblioteca do tipo Nome, Autor, Nº Paginas e Preço e depois imprimir eles... Meu código: #include <stdio.h> #include <string.h> #define NMAX 5 #define STRMAX 100 struct BIBLI { char livro[NMAX]; char autor[NMAX]; int pag; double valor; }; int main(){ struct BIBLI l[NMAX]; int i; for(i=0; i<NMAX; i++){ printf("Digite o nome do livro: \n "); fgets(l[i].livro, STRMAX, stdin); strtok(l[i].livro, "\n"); printf("Digite o autor do livro: \n "); fgets(l[i].autor, STRMAX, stdin); strtok(l[i].autor, "\n"); printf("Quantidade de paginas: \n" ); scanf("%i", &l[i].pag); printf("Valor do livro: \n"); scanf("%lf", &l[i].valor); } for(i=0; i<NMAX; i++){ printf("Nome do livro: %s \n", strlen(l[i].livro)); printf("autor: %s \n", strlen(l[i].autor)); printf("%i Paginas", l[i].pag); printf("Valor em reais: %lf", l[i].valor); printf("-------- \n"); } } O erro que ocorre é o seguinte: Digite o nome do livro: aisdjaidsajdis Digite o autor do livro: iajsdiasjdi Quantidade de paginas: 30 Valor do livro: 49,00 Digite o nome do livro: Digite o autor do livro: // ELE PULA A ENTRADA DO PRÓXIMO LIVRO
  4. Eu estou fazendo um xadrez como trabalho pra faculdade, e queria fazer a IA dele pra além de ser player 1 vs player 2, tenha player vs comp. Acontece que não faço a menor ideia de como fazer, alguém pode me dar uma luz de como fazer o comp jogar sozinho?
  5. /* // main.c #include <stdio.h> #include <stdlib.h> #include "estrutura.h" int main(){ Pilha p[MAX]; int i,op; criar_pilha(&p); do{ system("cls"); printf("---MENU---\n"); printf(" 1 - EMPILHAR \n"); printf(" 2 - DESEMPILHAR \n"); printf(" 3 - LISTAR \n"); printf(" 4 - LISTAR TOPO \n"); printf(" 5 - SAIR \n"); printf("\n ESCOLHA UMA OPCAO: "); scanf("%d",op); fflush(stdin); switch(op){ case 1: // caso 1 opção de Empilhar empilhar(&p); break; case 2: // caso 2 opção de Desempilhar desempilhar(&p); break; case 3: // caso 3 opção de Listagem da Pilha listar(&p); break; case 4: // listarTopo(&p); break; } }while(op!=5); return 0; } */ /* // estrutura.h #define MAX 3 typedef struct Dados{ int topo; char nome[30]; int tel; }Pilha; void criar_pilha(Pilha *p); void empilhar(Pilha *p); void desempilhar(Pilha *p); void listar(Pilha *p); void listarTopo(Pilha *p); */ /* //pilha.c #include "estrutura.h" void criar_pilha(Pilha *p){ p->topo=-1; } void empilhar(Pilha *p){ system("cls"); if(p->topo==MAX-1){ printf("\n >>>--- PILHA CHEIA /!\ --- \n\n"); }else{ printf("\n\t\t---- EMPILHAR ----\n"); p->topo++; printf("\n\t\tNOME:"); gets(p[p->topo].nome); printf("\n\t\tTEL:"); scanf("%d",&p[p->topo].tel); } system("pause"); } void desempilhar(Pilha *p){ system("cls"); if(p->topo==-1){ printf("\n >>>--- PILHA VAZIA \../ --- \n\n"); }else{ p->topo--; printf("\n >>>--- OPERACAO-REALIZADA COM SUCESSO :-) --- \n\n"); } system("pause"); } void listar(Pilha *p){ system("cls"); int i=0; if(p->topo==-1){ printf("\n >>>--- PILHA VAZIA \../ --- \n\n"); }else{ printf("\n\t\t---- PILHA ----\n\n"); printf("\n\t\t#################\n"); for(i=p->topo; i>=0; i--){ printf("\n\t\t>>%s", p[i].nome); printf("\n\t\t>>%d", p[i].tel); printf("\n\t\t---------------------\n"); } printf("\n\t\t#################\n"); } system("pause"); } */
  6. Por favor alguém me ajude com um programa. Tenho que contar quantas vezes a palavra "escola" se repete em uma frase que o usuário entrar no programa
  7. Não consigo usar o Allegro no Clion para programar um jogo em C. Alguém sabe como importar a biblioteca corretamente e ensinar o computador a compilar?
  8. void ListarCadCliente() { FILE* arquivo; arquivo = fopen("cadUser.txt","r"); char nome[120], endereco[200], telefone[20], email[120], cpf[20], rg[20]; arquivo = fopen("cadUser.txt","r"); // abrir arquivo em modo leitura while(!feof(arquivo)) { //Se o nome tem espaços ele não continua a leitura do documento e entende que a cada espaço tem uma variável a ser atribuída// fscanf(arquivo,"%s %s %s %s %s %s\n", nome, endereco, email, telefone, cpf, rg); // acessar os dados printf(" Nome: %s / Endereço: %s \n E-mail: %s / Telefone: %s / CPF: %s / RG: %s\n\n",nome, endereco, email, telefone, cpf, rg); // exibir na tela } } } fclose(arquivo); // FECHAR O ARQUIVO printf(" Fim da listagem!"); getch(); } No print abaixo eu tenho 2 situações 1* Se eu escrever os nomes todos juntos ele le certinho, porém não posso deixar o programa assim, pois preciso digitar o endereço da pessoa. 2*Se eu criar um arquivo onde os dados são separados por virgula e os nomes estão escritos normalmente utilizando espaços pra escrever, o programa entende que a cada espaço tem uma variável a ser atribuída um valor... Problema:Como faço pra ler uma string toda e parar na vingula e a próxima da mesma maneira... sempre entendendo que o final da string é a virgula?
  9. Boa noite, Minha tarefa é fazer um programa que, dado o nome dos times participantes do campeonato, a sua pontuação até então e o placar dos últimos jogos, determine qual foi o time campeão e a pontuação final desse time. Preciso implementar as 3 funções a seguir: /* devolve a posição de time no vetor de n strings times */ int pos_time(int n, char times[][50], char * time); /* devolve a pontuação do time que fez gols1 e levou gols2 * em uma partida */ int calc_pontos(int gols1, int gols2); /* devolve o índice da posição no vetor n elementos pontos que * possui o maior valor */ int campeao(int n, int pontos[]); Entrada: A entrada contém vários casos de teste. A primeira linha contém um inteiro N (2 ≤ N ≤ 100) representando a quantidade de times que estão participando do campeonato. Seguem N linhas contendo o nome do time S e a pontuação do time P até então (0 ≤ P ≤ 100). Logo após, seguem N/2 linhas contendo o placar de cada jogo da última rodada, no formato "TimeA golsA-golsB TimeB", conforme ilustrado no exemplo abaixo. A entrada termina com N = 0, a qual não deve ser processada. Saída: Para cada caso de teste na entrada, seu programa deve produzir uma linha de saída, contendo caso o Sport seja o campeão: "O Sport foi o campeao com X pontos :D", sendo X a quantidade total de pontos. Caso contrário, o seu programa deve produzir a seguinte linha: "O Sport não foi o campeao. O time campeao foi o S com X pontos :(", sendo S o nome do time vencedor e X a quantidade total de pontos. Deixe uma linha em branco depois de cada caso de teste. Regras desse campeonato: • Cada gol marcado valerá 3 pontos; • Caso os times empatem, será adicionado +1 ponto para cada time da partida; • O time vencedor de uma partida ganhará +5 pontos. Observações: • É garantido que sempre haverá um time vencedor do campeonato; • O time Sport sempre aparece nas entradas do problema; • Não haverá empates de pontuação final entre dois ou mais times após os placares dados; • O nome do time da entrada sempre terá apenas uma palavra; • Os nomes dos times não se repetem, não contém caracteres especiais e possuem no máximo 49 caracteres; • Nenhum dos times joga mais de uma vez (mais de uma partida no mesmo caso de teste). Já terminei as últimas duas funções, só que não estou conseguindo desenvolver a função pos_time. Que no momento está assim: int pos_time(int n, char times[][50], char * time) { int i; for(i =0; i< n; i++) { /*if(strcmp(time[i],*time) == false) { break; }*/ } return i; } O maior problema que não estou conseguindo comparar as strings desta função. Caso seja necessário, posso postar o código da main também.
  10. Estou fazendo um código teste, simulando um sistema de locação de carros: #include <stdio.h> #include <math.h> #include <stdlib.h> int main() { int pt, p1, p2, p3; char M, T; p1=40; p2=50; p3=60; printf("Qual o modelo desejado?"); printf("\nModelo A\nModelo B\nModelo C\nEscolha:"); M = getchar(); switch (M) { case 'A': case 'a': system("clear"); printf("Este modelo custa %d reais a diária.", p1); pt= p1; break; case 'B': case 'b': system("clear"); printf("Este modelo custa %d reais a diária.", p2); pt= p2; break; case 'C': case 'c': system("clear"); printf("Este modelo custa %d reais a diária.", p3); pt= p3; break; } system("clear"); printf("Qual o tipo de cliente?\n1-Idoso\n2-Parceiro\n3-Comum\nTipo: "); T= getchar(); switch(T) { case '1': printf(" Recebe 10 por cento de desconto."); break; case '2': printf("Recebe 5 por cento de desconto."); break; case '3': printf("Pagará o valor integral."); break; } return 0; } [/CODE] Quanto eu compilo e executo a parte onde deveria ser para eu inserir o tipo de cliente(idoso, parceiro ou comum), não aparece. Simplesmente da como execução encerrada. O que pode ser?
  11. Bom Dia. Sou iniciante em C. Comecei fazendo um exercício de vetores ondepede para preencher um vetor de 5 posições e depois apresentar a soma e a multiplicação dos valores armazenados no vetor. O problema é que está aparecendo a soma e a multiplicação em cada laço e não somente o resultado final. Como consigo fazer aparecer só o resultado final das 2 operações? #include <stdio.h> #include<stdlib.h> int main(int argc, char** argv) { int i , vetor[5] ,soma=0 , mult=1 ; for(i=0; i<5; i++) { // recebendo informações do usuário printf("\nDigite um valor inteiro: "); scanf("%d", &vetor); } for(i=0; i<5; i++) { // SOMA soma= soma+ vetor; printf("\n\n Soma dos numeros é: %d", soma); if (soma > 0) { printf("\n\nO valor da soma é positivo."); } else { printf("\n\nO valor da soma é negativo."); } } for(i=0; i<5; i++) { // MULTIPLICACAO mult= mult * vetor; printf("\n\n Multiplicacao dos numeros é : %d", mult ) ; if (mult > 0) { printf("\n\nO valor da Multiplicacao é positivo."); } else { printf("\n\nO valor da Multiplicacao é negativo."); } } return 0; }
  12. Estou iniciando esse semestre a aprender programação em C e estou perdido no seguinte exercício: Escreva um programa que peça ao usuário o seu nome e senha dele e oferece três oportunidades para inserir os dados corretos, que serão "admin" e "1234". Se os dados inseridos estiverem corretos, será exibida "Bem-vindo ao sistema". Caso contrário, uma mensagem será exibida na tela indicando que o número de tentativas permitidas foi excedido e que por motivos de segurança a conta foi bloqueada. Até agora fiz o seguinte: #include <stdio.h> int main() { char login; int senha, tentativas = 0; do{ printf("Insira o login: "); scanf("%s", &login); printf("Insira a senha numérica: "); scanf("%i", &senha); tentativas = tentativas + 1; } while(tentativas < 3); return 0; } O problema é que com uma tentativa já está encerrando, e não sei o porque disso. Também não sei como colocar as outras formas de encerrar o loop. Tentei colocando || e && mas não funcionou. Alguém consegue me ajudar??
  13. Opa Alguém poderia me ajudar, já estou a um bom tempo tentando resolver mas consigo de maneira nenhuma, alguém DA UMA LUZ. Preencher os espaços em branco conforme indicado no comentário (// ... )para o programa principal e um função para resolver o seguinte problema: Dada um a pilha já com 4 elementos classificados em ordem crescente à partir do TOPO, completar as instruções do programa obter os seguintes resultados: 1. Listar a pilha original, como ela está; 2. Listar os elementos de um dado vetor de 4 elementos não classificados; 3. Ler o vetor e empilhar os seus quatro elementos na pilha, sendo que cada elemento deve ser colocado na pilha de maneira a não alterar a ordem de classificação crescente. 4. Usar uma função à parte, para incluir cada elemento do vetor, com as seguintes funcionalidades: a. Utilizar uma pilha auxiliar para armazenar os elementos da pilha original para manter a classificação. b. Para cada elemento do vetor colocá-lo na ordem correta na pilha. c. Restaurar a pilha original no final da função. 5. Listar a pilha atualizada. OBS: O resultado deve sair neste formato: Pilha Original. Pilha[9] = 0 Pilha[8] = 0 Pilha[7] = 0 Pilha[6] = 0 Pilha[5] = 0 Pilha[4] = 0 Pilha[3] = 5 <-- TOPO Pilha[2] = 7 Pilha[1] = 12 Pilha[0] = 15 Vetor para empilhar. 3 13 8 2 Atualizando a Pilha ... Pilha Atualizada. Pilha[9] = 0 Pilha[8] = 0 Pilha[7] = 2 <-- TOPO Pilha[6] = 3 Pilha[5] = 5 Pilha[4] = 7 Pilha[3] = 8 Pilha[2] = 12 Pilha[1] = 13 Pilha[0] = 15 Fim do Programa. Programa Principal #include <stdio.h> #define TAM 10 void empilharNaOrdem(int [], int*, int); int main() { int pilha[TAM] = {15, 12, 7, 5, 0, 0, 0, 0, 0, 0}; int vetor[4] = {3, 13, 8, 2}; int topo = __________, i = 0; // ... valor do topo /* Listar a pilha original*/ printf("Pilha Original.\n"); for (i = _______; i ______; i____) {// ...elementos do comando for para ler pilha printf("Pilha[_____] = _____ ", _____, _________); // ...para imprimir a pilha if (______________) // ... identificação do topo printf("<-- TOPO\n"); else printf("\n"); } //Listar vetor printf("\nVetor para empilhar.\n"); for (i = _____; i______; i____) { // ... elementos do comando for para ler o vetor printf(" _________ ", _____________); // ... imprimir o vetor } /* Empilhar 4 numeros em ordem crescente a partir do topo */ printf("\n\nAtualizando a Pilha ...\n\n"); for (i = ____; i _____; i____) { // ... elementos do comando for para ler o vetor empilharNaOrdem(_______, _________, _________); // ...parâmetros da chamada da // ...função } /* Listar a pilha atualizada*/ printf("\nPilha Atualizada.\n"); for (i = ________; i _______; i_____) { // ... elementos do comando for para ler // ... a pilha atualizada printf("Pilha[______] = _______ ", ______, _______); // ... para imprimir a // ... a pilha if (____________) // ... identificação do topo printf("<-- TOPO\n"); else printf("\n"); } printf("\nFim do Programa.\n"); getchar(); return 0; } Função para empilhar os elementos do vetor em ordem crescente. void empilharNaOrdem(int pilha[], int* topo, int n) { int pilhaAux[TAM] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; int topoAux = ____________; // ... valor do topoAux while (*topo ________ ________) { if(n <= ____________) { // ... testar elemento do vetor com o topo da pilha *topo = ________________; // ... atualizar o topo da pilha pilha[__________] = _________; // ... colocar o elemento do vetor na // ...pilha original ___________; // ... sair do while } else { topoAux__________; //... atualizar o topo da pilha auxiliar pilhaAux[_________] = pilha[________]; // ... colocar elemento da pilha[______] = _______; // ... pilha na pilha auxiliar *topo = *topo ________; // ... atualizar o topo da pilha } } if (*topo ___________) { // ... verificar se pilha original ficou vazia *topo = ____________; // ... atualizar o topo da pilha pilha[____________] = _______; // ... colocar elemento do vetor na pilha } if (topoAux ___________) // ... verificar se a pilha auxiliar está vazia return; while (topoAux _________) { // ... testar se há elementos na pilha auxiliar *topo = ________________; // ... atualizar o topo da pilha original pilha[_______] = pilhaAux[___________]; // ... colocar elemento da pilha // ... auxiliar na pilha original topoAux__________; // ... atualizar o topo da pilha auxiliar } return; }
  14. Quer aprender programação? Nós do NinjaCouple vamos traduzir o CS50 de Harvard! Nos Siga para obter mais informações: http://ninjacouple7.blogspot.com/2017/10/cs50-br.html?spref=tw
  15. Uma dúvida aqui, eu preciso fazer a validação de um CPF e pra fazer isso eu quero usar a regra pra validar, verificando os digitos verificadores, mais não sei qual o erro ali na multiplicação, a string tem valores inteiros mais quando eu multiplico ali no caso, cpf[0] * 10 o resutado é 530, o vetor inicia com os valores {5,8,7,4,8,1,3,0,7} int soma = 0; soma = cpf[0] * 10; printf("Soma = %d\n", soma); for(i = 0; i < 9; i++) { resto1 = cpf[i] * cont; cont--; printf("%d\n", cont); printf("%d\n", resto1); }
  16. Pessoal estou com dificuldade na parte de Ordenação do meu Codígo eu fiz uma Parte de uma Função mais não estou Acertado Codificação está dado erro ! #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> struct Endereco { char rua[30]; int numero; char comp[30]; char bairro[30]; int cep; char cidade[30]; char estado[3]; char pais[30]; }; struct Telefone { int dd; int tel; }; struct Aniversario { int dd; int mes; int ano; }; struct Pessoa { char nome[30]; char email[30]; struct Endereco ende; struct Telefone fone; struct Aniversario data; char obs[50]; }; void Pessoa(char contatos[100]); int main() { struct Pessoa contatos[100]; int opcao=0;/// VARIAVEL NA ESCOLHA DO MENU int indice=0;///VARIAVEL QUE CONTEM O VALOR DO INDICE DO VETOR int i,encontrou=0;///INDICA A QDE DE REGISTRO char pesq[30];///GUARDAR O NOME DA PESQUISA int j; do { system("cls"); printf("---###--AGENDA DE CONTATOS--###---\n"); printf("\n 1 - Pesquisar por NOME");//será mostrado NOME, TELEFONE, EMAIL printf("\n 2 - Pesquisar por MES ANIVERSARIO"); printf("\n 3 - Pesquisar por DIA e MES ANIVERSARIO"); printf("\n 4 - Cadastrar CONTATO"); printf("\n 5 - Excluir CONTATO"); printf("\n 6 - LISTAR todos os contatos"); printf("\n 7 - ORDENAR POR NOME"); printf("\n 8 - FINALIZAR PROGRAMA"); printf("\n ESCOLHA UMA OPCAO:"); scanf("%d",&opcao); fflush(stdin); switch(opcao) { case 1: system("cls"); printf("\n--**** PESQUISAR POR NOME ****--"); printf("\nPESQUISAR:"); gets(pesq); for(i=0; i<indice; i++) { if(strcmp(pesq,contatos.nome)==0) { printf("\nCODIGO:%i",i); printf("\n NOME:%s",contatos.nome); printf("\n EMAIL:%s",contatos.email); printf("\n TEL:%d %d",contatos.fone.dd,contatos.fone.tel); encontrou++; } } if (encontrou==0) { printf("\n NENHUM REGISTRO ENCONTRADO!\n\n"); } printf("\n"); system("pause"); break; case 2: break; case 3: break; case 4: system("cls"); printf("\n--**** CADASTRO DE CONTATO ****--"); printf("\n CODIGO:%i\n",indice); printf("\n NOME:"); gets(contatos[indice].nome); printf("\n EMAIL:"); gets(contatos[indice].email); printf("\n TELEFONE:"); printf("\n DD:"); scanf("%d",&contatos[indice].fone.dd); printf("\n TEL:"); scanf("%d",&contatos[indice].fone.tel); indice++; fflush(stdin); break; case 5: printf("\n--###----EXCLUIR CONTATO----###--\n"); break; case 6: for(i=0; i<indice; i++) { printf("\nCODIGO: %i",i); printf("\n NOME:%s",contatos.nome); printf("\n EMAIL:%s",contatos.email); printf("\n TEL:%d %d",contatos.fone.dd,contatos.fone.tel); printf("\n--------------------------------\n"); } system("pause"); break; case 7: printf("=================================\n"); printf("Ordenando por nome"); //ordena for(i=1; i < indice; i++){ for(j=0; j< indice-1; j++){ if(strcmp(contatos[j].nome, contatos[j+1].nome) > 0){ strcpy(pesq, contatos[j].nome); strcpy(contatos[j].nome, contatos[j+1].nome); strcpy(contatos[j+1].nome, pesq); } } } ///ORDENAÇÃO break; } } while(opcao!=8); return 0; }
  17. Bom gostaria de saber como passar estruturas como argumentos de função, no caso gostaria de passar o calculo de media para uma função.Segue o código para que possam me ajudar, se possível é claro: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> struct Aluno{ char nome[50]; float notas[4]; float media[4]; }; int main() { char nome[50],opcao; int cont=0,cont2=0; float media[4],notas[4]; struct Aluno alunos[50]; do{ fflush(stdin); printf ("Informe o seu nome completo: "); gets(alunos[cont].nome); printf("Informe a sua nota 1: "); scanf ("%f",&alunos[cont].notas[0]); printf("Informe a sua nota 2: "); scanf ("%f",&alunos[cont].notas[1]); printf("Informe a sua nota 3: "); scanf ("%f",&alunos[cont].notas[2]); printf("Informe a sua nota 4: "); scanf ("%f",&alunos[cont].notas[3]); fflush(stdin); printf ("\nDeseja continuar ? (S/N)"); scanf (" %c",&opcao); opcao = toupper(opcao); cont++; }while(opcao != 'N'); while(cont>cont2){ media[cont2] = (alunos[cont2].notas[0]+alunos[cont2].notas[1]+alunos[cont2].notas[2]+alunos[cont2].notas[3])/4; cont2++; } cont2=0; while(cont>cont2){ printf("\nO nome completo do aluno: %s",alunos[cont2].nome); printf ("\nA media do aluno %d e %.2f",cont2+1,media[cont2]); cont2++; } return 0; }
  18. Pessoal, alguém sabe porque não ta dando certo a implementação do QuickSort dessa forma? #include <stdio.h> #include <stdlib.h> #include <conio.h> #define TAM 8 void QuickSort(int vetor[], int inicio, int fim); int main() { int vet[TAM]; int i; printf("Informe os elementos do vetor a serem ordenados: \n"); for(i = 0; i < TAM; i++) { scanf("\n%4d\n", vet[i]); } printf("\nElementos desordenados: \n"); for(i = 0; i < TAM; i++) { printf("%4d", vet[i]); } printf("\nElementos ordenados: \n"); QuickSort(vet, 0, TAM); for(i = 0; i < TAM; i++) { printf("%4d", vet[i]); } return 0; } void QuickSort(int vetor[], int inicio, int fim) { int i, j, x, aux; i = inicio; j = fim; x = vetor[(i + j) / 2]; do { while(vetor[i] < x) i++; while(vetor[j] > x) j--; if(i <= j) { aux = vetor[i]; vetor[i] = vetor[j]; vetor[j] = aux; i++; j--; } }while(i <= j); if(inicio < j) QuickSort(vetor, inicio, j); if(i < fim) QuickSort(vetor, i, fim); }
  19. 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!
  20. Exemplo de código: #include <stdio.h> #define DIM 5 int main() { int copia[DIM]; int original[DIM]; int dobrado[DIM]; void recebe(int original[] ); recebe( original[]); return 0; } void recebe(int original[] ) { for (int i = 0; i < DIM; ++i) { printf("Entre com o elemento: "); scanf("%d", &original[i] ); } } Ali no recebe(original[]) com o -> [] da erro, por que não posso colocar e por que não precisa colocar ?
  21. Você fará um programa em linguagem C que irá adivinhar o que o usuário está pensando através de simples respostas de perguntas SIM ou NÃO (S/N). Para tanto, deve ser criado um menu com a seguinte aparência: MAE DINGA TEM O PODER DE DESCOBRIR O QUE VOCE ESTA PENSANDO !!! ESCOLHA ENTRE OS ANIMAIS ABAIXO RELACIONADOS E MEMORIZE APENAS UM DELES E não MUDE MAIS. ANIMAIS: 1 TIGRE 2 GIRAFA 3 HOMEM 4 MACACO 5 MORCEGO 6 BALEIA 7 AVESTRUZ 8 PINGUIM 9 PATO 10 AGUIA 11 TARTARUGA 12 CROCODILO 13COBRA Usando as características distintas de cada animal, você montará um programa que receba S para sim ou N para não, para solucionar o problema e adivinhar qual animal o usuário escolheu. Para isso, utilize-se das características: Mamíferos: Quadrupedes Carnívoro: Tigre Herbívoro: Girafa Bípedes Onívoro: Homem Frutífero: Macaco Voador Morcego Marinho Baleia Aves: Não Voadora De clima tropical: Avestruz De clima polar: Pingüim Voadora Nadador: Pato De Rapina: Águia Réptil Com casco Tartaruga Carnívoro Crocodilo Sem patas Cobra Caso o usuário faça uma seqüência de respostas que não atenda a nenhuma das características informe que o animal em questão não consta na lista.
  22. Gente, preciso muito da ajuda de quem entende programação. Eu não sei quase nada de programação e faço redes. Professor está pedindo para implementar (?) um cliente/servidor, onde cliente entra com um dado, de qualquer tipo, ou seja, o código tem que verificar qual tipo de dado o cliente entrou (int, char, string, float, doble...) e retornar o valor ASCII. Eu não tenho ideia de como fazer essa 'transformação' e pelo pouco conhecimento que tenho em c, não vou conseguir fazer. alguém que entenda, me ajuda por favor
  23. Olá, tenho uma atividade para fazer : Faça um código que leia caracteres, e pare de ler apenas quando for informado o caractere ‘A’ ou ‘a’. Após o loop informe quantas tentativas foram realizadas até ser informado ‘A’ ou ‘a’. eu fiz esse código abaixo , mas da errado , e não acho o erro, alguém pode me ajudar? o contador n conta corretamente #include<stdio.h> int main(void){ int cont=0; char letra; scanf("%c",&letra); while(letra != 'A' && letra != 'a'){ scanf("%c",&letra); cont = cont + 1; } printf("Foram feitas %d tentativas",cont); return 0; }
  24. Boa noite, fiz um algorítimo de estrutura de dados. Coloquei todo meu conhecimento nele. Não estou conseguindo achar o erro. Deixo o enunciado do exercício abaixo! Se puderem me ajudar fico agradecido! "Faça um programa que crie duas filas F1 e F2, de tamanho 10, cada. Leia 20 números inteiros e, se o número lido for par, insira-o na fila F1 e, se for ímpar, na fila F2. Na sequência, caso o número lido seja múltiplo de 3, retirar um elemento da fila F1, armazenando-o em uma variável auxiliar e, depois, escreva-o no vídeo e insira-o na fila F2. Caso o número lido seja múltiplo de 5, retirar um elemento da fila F2, armazenando-o em uma variável auxiliar e, depois, escreva-o no vídeo e insira-o na fila F1. Um número pode ser tanto múltiplo de 3 quanto de 5 e, neste caso, apresente uma mensagem no vídeo e não faça nada nas filas, passando para a leitura do próximo número. Pare de ler quando já tiverem sido lidos os 20 números ou quando ocorrer overflow ou underflow em alguma fila." #include <iostream> using namespace std; int main() { int f=-1, r=-1, f1[10], f2[10], cont=0, val=0, aux=0, tam=9; do{ cout << "Informe um valor: " << endl; cin >> val; cout << " " << endl; if(val%2==0){ if(r==tam){ cout << "OVERFLOW!" << endl << endl; return 0; }else{ f1[++r]=val; } }else{ if(r==tam){ cout << "OVERFLOW!" << endl << endl; return 0; }else{ f2[++r]=val; } } if(val%3==0){ if(r==f){ cout << "UNDERFLOW!" << endl << endl; return 0; }else{ aux=f1[f+1]; f++; if(f==r){ f=r=-1; cout << "Valor retirado: " << aux << endl << endl; f2[++r]=aux; } } } if(val%5==0){ if(r==f){ cout << "UNDERFLOW!" << endl << endl; return 0; }else{ aux=f2[f+1]; f++; if(f==r){ f=r=-1; cout << "Valor retirado: " << aux << endl << endl; f1[++r]=aux; } } } if(val%3==0 && val%5==0){ cout << "Numero mulitplo de 3 e 5!" << endl << endl; } cont++; }while(cont < 20); return 0; }
  25. Pessoal, to tentando resolver uma questão aqui, fiz algumas coisas mas ainda preciso de ajuda... Segue a questão e o código: Numa cidade há n pessoas. Sabe-se que existe m pares de pessoas que são amigos na cidade. Sabendo que se A ´e amigo de B e B ´e amigo de C, então A é amigo de C. Qual o tamanho do maior grupo de amigos quando: n = 10, m = 12, e os pares são = (1,2), (3,1), (3,4), (5,4), (3,5), (4,6), (5,2), (2,1), (7,10), (1,2), (9,10), (8,9)? (Dica: resolve-se usando conjuntos union-find). Código ->> #include <stdio.h> #include <stdlib.h> /* Você possui N nós, inicialmente desconectados. Serão adicionadas M arestas, e após cada operação, deseja-se saber quais vértices pertencem a qual componente conexa do grafo. Mais especificamente, as seguintes operações podem ser realizadas: Union(A, B): adicionar uma aresta entre A e B. Find(A): dizer em qual componente conexa está o vértice A. inicialmente temos parent[x] = x e rank[x] = 0 */ int find(int x,int []parent) { if (parent[x] == x) return x; return parent[x] = find(parent[x]); } void union(int a, int b, int []rank ) { int rank []; int x = find(a), y = find(b); if (x==y) return; if (rank[x] < rank[y]) { parent[x] = y; } else { parent[y] = x; if (rank[x] == rank[y]) rank[x]++; } } int main() { int n = 10, m=12; int parent []; int rank []; union (1,2); union (3,1); union (3,4); union (5,4); union (3,5); union (4,6); union (5,2); union (2,1); union (7,10); union (1,2); union (9,10); union (8,9) return 0; }
×
×
  • Criar Novo...