Jump to content

Search the Community

Showing results for tags 'c'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Desenvolvimento e Banco de Dados
    • HTML e CSS
    • Java
    • Javascript
    • .NET
    • PHP
    • Python
    • Ruby
    • Mobile
    • Ambientes de Desenvolvimento
    • Arquitetura e Métodos Ágeis
    • Banco de Dados
    • DevOps
    • Desenvolvimento de Games
    • E-Commerce e Pagamentos Online
    • SEO e Otimizações
    • WordPress
    • Algoritmos & Outras Tecnologias
  • Design e Produto
    • Fotografia
    • Photoshop
    • Design de interfaces e UX
    • Edição/Produção de Vídeos
    • Marketing Online
    • Desenho, Ilustração e 3D
  • Entretenimento e uso pessoal
    • Geral
    • Segurança & Malwares
    • Gadgets e wearable
    • Softwares e Apps
    • Entretenimento

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Found 220 results

  1. arthurdr

    Ajuda com programa

    Estou fazendo um programa, mas estou trancado em uma parte. O ojetivo desta parte do programa é ver se as letras em que o usuário digita, são iguais as permitidas. Procurei algumas maneiras de fazer isso, mas só achei essa. O problema deste programa é que quando ele vai analisar a cadeia t, ele sempre mostra que a cadeia é invalida, mesmo estando dentro do exigido, abrindo melhor a cadeia t, descobri que o programa sempre diz que a 18º letra é invalida, mas não consegui descobrir o motivo, mesmo ponto letras validas, a 18º ele mostra que é errada. A parte do programa é essa: #include <stdio.h> #include <stdlib.h> #include <string.h> main() { int M, N, i, j, a, b; char p[M], t[N]; int letrasT, letraT, letrasP, letraP; M=5; N=25; do { do { i=0; letraP=0; letrasP=0; printf ("\n Digite a cadeia p: "); scanf ("%s", p); if (M!=strlen(p)) printf ("\n\n !!!TAMANHO DE p INVALIDO!!!\n"); for (i=0; i<M; i++) if ((p!='A') && (p!='C') && (p!='G') && (p!='T')) letrasP=1; else letrasP=0; for (i=0; i<M; i++) if (letrasP==1) letraP=1; if (letraP==1) printf ("\n\n !!!CADEIA DE p INVALIDA!!!\n"); }while (letraP==1); }while (M<strlen(p)); do { do { i=0; letraT=0; letrasT=0; printf ("\n Digite a cadeia t: "); scanf ("%s", t); if (N!=strlen(t)) printf ("\n\n !!!TAMANHO DE t INVALIDO!!!\n"); for (i=0; i<N; i++) if ((t!='A') && (t!='C') && (t!='G') && (t!='T')) letrasT=1; else letrasT=0; for (i=0; i<N; i++) if (letrasT==1) printf ("*%i", letrasT); letraT=1; if (letraT==1) printf ("\n\n !!!CADEIA DE t INVALIDA!!!\n"); }while (letraT==1); }while (N<strlen(t)); printf ("\n%s", p); printf ("\n%s", t); }
  2. Gaahl

    Estrutura de dados, C++/C

    Boa noite. Preciso de ajuda neste algoritmo em c++ da matéria de estrutura de dados. Não sei por onde começar. Obrigado! Fazer um programa que utiliza um vetor X de 10 posições e lê 20 valores inteiros situados no intervalo [1,99]. Utilize, ainda, duas variáveis, T1 e T2 inicializadas, respectivamente, com 0 e 11, de tal forma que, no vetor X, tenha-se duas pilhas de bases opostas. Para cada valor lido: se for par e maior do que 50, inseri-lo na pilha 1; se for par e menor ou igual a 50, então retirar o elemento do topo da pilha 1 e escrevê-lo; se for ímpar e maior do que 50, inseri-lo na pilha 2; se o valor lido for ímpar e menor ou igual a 50, então retirar o valor do topo da pilha 2 e escrevê-lo; se ocorrer uma situação de UNDERFLOW, escreva uma mensagem e ignore o valor lido passando a ler o novo valor; se ocorrer OVERFLOW ou se já tiverem sido lidos 20 valores, então escrever o conteúdo das duas pilhas e terminar o programa;
  3. IgorExtreme

    Struct Família em C

    Olá estou com problema nesta questão: "Escreva um programa que leia e armazene em um vetor os dados de 30 pessoas. Estes dados são o nome da pessoa, sua idade, e os nomes completos do pai e da mãe. A seguir, o programa deve identificar (e mostrar os índices) das pessoas que estão relacionadas por um parentesco avô-neto e irmão-irmão. No caso dos irmãos, deve ser informado ainda qual é o mais novo dos dois." O código é esse #include<stdio.h> #include<string.h> #define NUM 4 struct pessoa { char nome[20]; char mae[20]; char pai[20]; int idade; }; main() { struct pessoa vetorPessoas[NUM]; int i; printf("Digite os dados de %d pessoas:\n", NUM); for (i = 0; i < NUM; i++) { printf("Digite o nome da pessoa %d: ", i); fflush(stdin); gets(vetorPessoas[i].nome); printf("%s\n", vetorPessoas[i].nome); printf("Digite o nome da mae da pessoa %d: ", i); fflush(stdin); gets(vetorPessoas[i].mae); printf("%s\n", vetorPessoas[i].mae); printf("Digite o nome do pai da pessoa %d: ", i); fflush(stdin); gets(vetorPessoas[i].pai); printf("%s\n", vetorPessoas[i].pai); printf("Digite a idade da pessoa %d: ", i); fflush(stdin); scanf("%d", &vetorPessoas[i].idade); printf("%d\n", vetorPessoas[i].idade); if(!strcmp(vetorPessoas[0].pai, vetorPessoas[1].nome)){ printf("%s e avo de %s\n", vetorPessoas[1].pai, vetorPessoas[0].nome); } if(!strcmp(vetorPessoas[2].pai, vetorPessoas[3].nome)){ printf("%s e avo de %s\n", vetorPessoas[3].pai, vetorPessoas[2].nome); } } /*if(!strcmp(vetorPessoas[i].pai, vetorPessoas[i].nome)){ printf("%s e pai de %s\n", vetorPessoas[i].pai, vetorPessoas[i].pai); }*/ if(!strcmp(vetorPessoas[0].pai, vetorPessoas[1].pai)){ printf("Eles sao irmaos\n"); if(vetorPessoas[0].idade > vetorPessoas[1].idade){ printf("%s mais velho\n", vetorPessoas[0].idade); } else{ printf("%s e mais novo\n", vetorPessoas[1].idade); } } if(!strcmp(vetorPessoas[2].pai, vetorPessoas[3].pai)){ printf("Eles sao irmaos\n"); if(vetorPessoas[2].idade > vetorPessoas[3].idade){ printf("%s mais velho\n", vetorPessoas[2].idade); } else{ printf("%s e mais novo\n", vetorPessoas[3].idade); } } } O problema é que ele mostra quase tudo menos a parte se tal irmão é mais velho que o outro
  4. ricardo Oliv3ira

    Me Ajuuudem nesta questão em linguagem c! pfv?

    Um cano cilíndrico de raio R1 vai ser usado para guardar outros dois canos de raio R2 e R3. Caso os dois últimos canos caibam dentro do primeiro, seu programa deve imprimir “Coube”. Caso contrário imprima “Não coube”. #include <stdio.h> int main(void) { float R1,R2,R3; printf("digite o 1º tamanho:"); scanf("%f",R1); printf("digite o 2º tamanho"); scanf("%f",R2); printf("digite o 3º tamanho"); scanf("%f",R3); if(R2,R3<R1){ printf("Coube"); } else(R2,R3>R1){ printf("Não Coube"); } return 0; }
  5. Boa tarde, estou começando a programar e ainda não sei qual linguagem de programação eu devo iniciar. Me de uma luz, Obrigado!
  6. Olá, Estou aprendendo Programação em C e preciso de ajuda. Segue o problema: Quantos naturais cujos algarismos são todos pares existem entre 2007 e 7002? Eu conheço a quantidade total de números e também algumas formas de resolver esse problema mas preciso criar um programa em C que me dê a solução. Alguém poderia me ajudar mostrando ou me dando dicas de como fazer esse programa?
  7. Olá Eu tenho um pequeno projeto de um jogo de batalha naval que está quase totalmente pronto, no entanto ainda não consegui resolver esse problema: impedir que os navios sejam colocados próximos uns aos outros. Por exemplo, digamos que o jogador colocou um submarino na posição em [1][1] (linha 1, coluna 1), eu preciso impedir que ele coloque qualquer outra coisa nas posições próximas a essa como [1][2] (direita) e [2][1] (embaixo) , já tentei mas não consegui resolver isso até o momento. Alguém pode me ajudar, por favor?
  8. GuilhermeZX

    Fettuccine, ricci - recursividade

    Boa tarde! Foi passado na faculdade 3 exercícios envolvendo recursividade. Um eu consegui fazer, que era o fibonacci. Porém fetuccine e ricci eu não consegui. Será que poderiam ajudar? Sei nem por onde começar. Valeu!! Ricci : Mesmo esquema da série de Fibonacci, porém os dois primeiros números são fornecidos pelo usuário. Fetuccine: Os 2 primeiros valores são informados pelo usuário e o termo desejado também. Se o termo for par, por exemplo: o segundo e quarto termo, então o próximo valor é: atual + anterior. Se o termo for ímpar, exemplo: terceiro termo da sequencia, quinto termo da sequencia, então o valor do próximo termo é: atual - anterior. Obrigado!
  9. Mabel P

    Exer de c++

    Os habitantes do planeta Uno possuem um terrível problema de detecção de números com mais de um algarismo, de modo que, para tudo que vão fazer, transformam qualquer valor inteiro em um número de um algarismo, realizando somas sucessivas do número até o mesmo ser reduzido a um algarismo. Por exemplo, o número 999999999991, no planeta Uno, soma-se todos os algarismos, resultando em 9+9+9+9+9+9+9+9+9+9+9+1 = 100. Como o número 100 tem mais de um algarismo, o processo se repete, resultando em 1+0+0 = 1 Uma das grandes dificuldades que os habitantes possuem está em comparar dois números e verificar qual deles é o maior, segundo as regras do planeta. Escreva um programa que, dados dois números inteiros, identifique qual deles é o maior número de um algarismo. Entrada Haverá diversos casos de teste. Cada caso de teste inicia com dois inteiros N e M (0 ≤ N ≤ 10100, 0 ≤ M ≤ 10100), indicando os dois números a serem comparados. O último caso de teste é indicado quando N = M = 0, sendo que este caso não deverá ser processado. Saída Para cada caso de teste, imprima uma linha, contendo um inteiro, indicando 1 se o primeiro número for o maior de um algarismo, 2 se o segundo número for o maior de um algarismo ou 0 se ambos os números possuírem o mesmo valor de um algarismo. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Eu sou iniciante em programação e já refiz varias vezes esse exercício, mas não da certo. Se puderem ajudar, agradeço desde já!
  10. Olá, alguém pode me ajudar? Estou fazendo um trabalho para estrutura de dados sobre arvore binária e eu decidi usar as funções fprintf para salvar as informações em arquivo e fscanf para ler essas informações e joga - las na minha função de inserção da arvore. O programa está funcionando, ele salva dos dados da arvore, só que, o que acontece é, que na hora de usar o fscanf ele não lê todas as informações contidas no arquivo, ele lê somente dois cadastros e joga pra função de inserção. Alguém sabe como eu posso corrigir isso? Arquivo fonte: Código completo: #include<stdio.h> #include<stdlib.h> #include<conio.h> #include<ctype.h> #include<string.h> struct jogador { char nome [31]; char posicao [15]; char escalacao; float salario; int numero; struct jogador *esq; struct jogador *dir; }; struct jogador *raiz; struct jogador *pointer; struct jogador *r; FILE *p; char name [31]=" ", time[51]; char position [15]=" "; char lineup; float salary=0; int num=0, aux = 0; void cadastrar(); void carregar(); struct jogador *salvar(struct jogador *i); struct jogador *criar( struct jogador *a); // função para inserir struct jogador *listar(struct jogador *i, int x); struct jogador *all (struct jogador *i); main() { pointer = NULL; raiz = NULL; int op; do { printf("\t\t\t\t\t\t--------------------------\n"); printf("\t\t\t\t\t | *-*-*Time*-*-* |\n\t\t\t\t\t | |\n\t\t\t\t\t | | \n"); printf("\t\t\t\t\t | [1] Escolher o time |\n\t\t\t\t\t | |\n"); printf("\t\t\t\t\t | [2] Contratar jogador |\n\t\t\t\t\t | |\n"); printf("\t\t\t\t\t | [4] Listar crescente | \n\t\t\t\t\t | | \n"); printf("\t\t\t\t\t | [5] Listar decrescente | \n\t\t\t\t\t | |\n"); printf("\t\t\t\t\t | [6] Excluir time | \n\t\t\t\t\t | |\n"); printf("\t\t\t\t\t | [9] Salvar | \n\t\t\t\t\t | |\n"); printf("\t\t\t\t\t | [0] Sair |\n"); printf("\t\t\t\t\t\t--------------------------\n"); printf("\t\t\t\t\t Opcao [ ]\b\b"); scanf("%i",&op); switch(op) { case 1: { aux=0; cadastrar(); } break; case 2: { cadastrar(); } break; case 4: { if(raiz==NULL) { printf("\n Nao possui cadastro.\n"); system("pause"); } else { system("cls"); listar(pointer, 1); system("pause"); } } break; case 5: { if(raiz==NULL) { printf("\n Nao possui cadastro.\n"); system("pause"); } else { listar(pointer, 2); system("pause"); } } break; case 6: { if(raiz!=NULL) { pointer=all(pointer); printf("\n Todos os jogadores foram excluidos\n"); system("pause"); } else { printf("\n*****Nenhum jogador cadastrado*****.\n"); system("pause"); } } break; case 9: { p=fopen(time,"w"); fclose(p); salvar(pointer); } break; } system("cls"); }while(op!=0); } void cadastrar () { char resposta; char answer; do { if(aux==0) { system("cls"); printf("\n\n\n\n\n\n"); printf("\t\t\t\t\t Escolha o time para iniciar \n"); printf("\t\t\t\t\t\t___\b\b\b "); fflush(stdin); gets(time); strcat(time,".csv"); carregar(); fclose(p); aux = 1; return; } system("cls"); printf("\nNome do jogador: "); fflush(stdin); gets(name); printf("\nPosicao do jogador: "); fflush(stdin); gets(position); printf("\nO jogador e titular? <S/N>: "); answer=getche(); if(toupper(answer)=='S') { lineup = 'T'; } else { lineup = 'R'; } printf("\n"); printf("\nSalario pago ao jogador: "); scanf("%f",&salary); printf("\nInforme o numero do jogador: "); scanf("%i",&num); pointer=criar(pointer); printf("\nCadastrar novamente? <S/N>: "); resposta=getche(); printf("\n "); }while(toupper(resposta)=='S'); } struct jogador *criar( struct jogador *a) { if(a==NULL) { r=(struct jogador*)malloc(sizeof(struct jogador)); if(!r) { printf("\n Nao ha memoria"); exit(1); } strcpy(r->nome,name); strcpy(r->posicao,position); r->escalacao = lineup; r->salario = salary; r->numero = num; r->esq = NULL; r->dir = NULL; if(raiz==NULL) { raiz=r; } return r; } else { if(num>a->numero) { a->dir=criar(a->dir); } else { if(num<a->numero) { a->esq=criar(a->esq); } else { printf("\n Jogador ja cadastrado\n"); system("pause"); return a; } } } fclose(p); return a; } struct jogador *listar(struct jogador *i, int x) { if(i!=NULL&&x==1) { listar(i->esq, x); printf("\t\t\t\n----------\n"); printf("\n-----|%s|-----\n",i->nome); printf("\n-----|%s|-----\n",i->posicao); printf("\n-----|%c|-----\n",i->escalacao); printf("\n-----|%.2f|-----\n",i->salario); printf("\n-----|%i|-----\n",i->numero); listar(i->dir, x); } if(i!=NULL&&x==2) { listar(i->dir, x); printf("\n-----|%i|-----\n",i->numero); listar(i->esq, x); } return i; } struct jogador *all (struct jogador *i) { if(i->esq!=NULL) { all(i->esq); } if(i->dir!=NULL) { all(i->dir); } free(i); if(i==raiz) { raiz=NULL; i=raiz; } return i; } struct jogador *salvar(struct jogador *i) // função que salva os dados no arquivo, esta funcionando. { if(i!=NULL) { salvar(i->esq); p=fopen(time,"a"); strcpy(name,i->nome); strcpy(position,i->posicao); lineup = i->escalacao; salary = i->salario; num = i->numero; fprintf(p,"%s;%s;%c;%f;%i\n",name,position,lineup,salary,num); salvar(i->dir); } fclose(p); } void carregar() // função para ler os arquivos { if((p=fopen(time,"r"))==NULL) { return; } else { while(fscanf(p,"%[^;];%[^;];%c;%f;%i%*c",name,position,&lineup,&salary,&num)!=EOF) { // esse printf foi colocado pra saber quais numeros ele esta lendo. printf("\n-----|%i|-----\n",num); // ele le somente dois cadastros, se tiver mais ele não le, e por isso não joga na função de inserção. pointer=criar(pointer); // chamada da função de inserção, os dois unicos cadastros que são lidos, são inseridos corretamente. } system("pause"); } fclose(p); }
  11. silver sanths

    Qual e o meu erro no script

    #include <stdio.h> int main() { float valor_produto = 0, valor_pagamento = 0; int troco = 0; troco = valor_pagamento - valor_produto; scanf("%f", &valor_produto); scanf("%f", &valor_pagamento); if (valor_produto < valor_pagamento) { printf("100: %d", troco / 100); printf("\n50: %d", troco % 100 / 50); printf("\n2: %d", troco % 50 / 20); printf("\n10: %d", troco % 20 / 10); printf("\n5: %d", troco % 10 / 5); printf("\n2: %d", troco % 5 / 2); printf("\n1: %d", troco % 2 / 1); } return 1;
  12. Olá, pessoal! Sou iniciante na linguagem C e preciso de uma ajuda. Preciso fazer um programa que some as diagonais de uma matriz. Conforme o exemplo em anexo. Mas estou tendo muita dificuldade. Segue código: #include <stdio.h> #include <math.h> #define M 4 #define N 3 int main(){ int i, j, soma=0; int mat[M][N]={{1,2,3},{4,5,6},{7,8,9},{10,11,12}}, result[M+N-1]; for(i=0; i<M+N-1; i++){ //deixar todos valores do vetor iguais a zero result=0; } int a, b, k=0, aux; //auxiliares for(i=M-1; i>=0; i--){ for(j=N-1; j>=0; j--){ result[k]=mat[j]; //posição 0 do vetor recebe posição 4x3 da matriz; a=i; b=j; while(a>=0 && b<N && b>=0){ //verificar se linha>=0, coluna<N e >=0 a--; //decrementa linha b++; //acrescenta coluna result[k]+=mat[a]; //valor da posição 0 do vetor soma com o proximo valo da diagonal superior direita } k++; //avança para proxima posição do vetor*/ } } for(i=0; i<M; i++){ for(j=0; j<N; j++){ printf("\t%d ", mat[j]); } printf("\n"); } printf("\n"); for(i=0; i<M+N-1; i++){ printf("%d ", result); } } Alguem poderia me ajudar? Agradeço desde já.
  13. //O valor na média (resposta) sai muito diferente, gostaria de corrigir o código próximo a lógica que ele está. #include <stdio.h> #include <stdlib.h> #include <locale.h> double media(int vetor[], int tamanho) { float soma = 0, media = 0; int i = 0; for(i = 0; i<tamanho; i++) { soma+=vetor; } media = soma / tamanho; return media; } int main() { setlocale(LC_ALL, "Portuguese"); int i, x; float soma; printf("Qual o tamanho do vetor ?\n"); scanf("%d", &x); double vet[x]; for ( i = 0; i < x; i++ ) { printf ( "Valor na %d posição:\n", i +1 ); scanf("%lf", &vet[i + 1]); printf("%lf",vet[i + 1]); soma = soma + (vet[i + 1]); } printf("\n %f", soma); float resposta = media(vet, x); printf ("A média é: %.2f \n", resposta); system ("pause"); return 0; }
  14. Olá estou com dificuldades em desenvolver um algoritmo que leia um arquivo.txt, faça a correção do texto e crie o resultado em outro arquivo de saida. O processo de leitura deverá ocorrer linha por linha, porém o arquivo de entrada possui o seguinte erro de sintaxe. O arquivo de entrada possui um problema em que diversas linhas são strings repetidas da linha anterior, diferenciando de apenas um caractere. O algoritmo deverá ter uma função que faça a comparação entre as duas strings devolver 0 se forem iguais e o 1 se um caracter for diferente. Se mais caracteres forem diferentes, retorne a quantidade de caracteres diferentes entre elas. t te tes test teste saida: "teste" ------------------------------------------------------------------------------------------------------------------------ #include <stdio.h> #include <stdlib.h> #include <string.h> // cada linha não deverá ter mais que 1000 caractere// int Comparar(char *s1, char *s2) { int i, j; while (*s1) s1++; while (*s2) { *s1 = *s2; s2++; s1++; } *s1 = '\0'; } int main(int argc, char *argv[]) { char Linha[1000] FILE *arquivo; arquivo = fopen("entrada.txt", "r"); if (arquivo == NULL) { printf("Nao foi possivel abrir o arquivo \n"); return 1; } while (fgets(Linha, 1000, arquivo) != NULL) printf("%s", arquivo); fclose( if (argc != 3) { printf("\nExecute o programa da forma:\n"); return 0; } return 0; }
  15. bom-dia pessoal, não tenho conhecimento para fazer essa conversão ou deixar compatível, se alguém puder por favor fazer isso pra mim ficarei agradecido de coração. meu problema é o código abaixo que está usando biblioteca do windows WINSOCK2.H para fazer um ping no ip fornecido por um comando ping("ip") e retornar uma msg igual ao ping do windows, gostaria se possível que o mesmo fosse utilizado em linux (centos) mantendo a mesma funcionalidade ? ping.c #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif #include <WINSOCK2.H> #define DEF_BUF_SIZE 1024 #define IP_HEADER_SIZE 20 #define ICMP_HEADER_SIZE 12 typedef struct _ICMP_HEADER { BYTE bType; BYTE bCode; USHORT nCheckSum; USHORT nId; USHORT nSequence; UINT nTimeStamp; }ICMP_HEADER, *PICMP_HEADER; USHORT GetCheckSum(LPBYTE lpBuff, DWORD dwSize) { DWORD dwCheckSum = 0; USHORT* lpWord = (USHORT*)lpBuff; while(dwSize > 1) { dwCheckSum += *lpWord++; dwSize -= 2; } if(dwSize ==1) dwCheckSum += *((LPBYTE)lpBuff); dwCheckSum = (dwCheckSum >> 16) + (dwCheckSum & 0XFFFF); return (USHORT)(~dwCheckSum); } BOOL Ping(char* lpDestIP, int *nRet_, int *nTime_) { int nTime = 0; int ret = 0; char ICMPPack[ICMP_HEADER_SIZE] = {0}; char szRcvBuff[DEF_BUF_SIZE] = {0}; int i = 0; int nRet = 0; int nLen = 0; int nError = 0; SOCKET s; PICMP_HEADER pRcvHeader; SOCKADDR_IN SourceSockAddr; SOCKADDR_IN DestSockAddr; PICMP_HEADER pICMPHeader; DestSockAddr.sin_family = AF_INET; DestSockAddr.sin_addr.S_un.S_addr = inet_addr(lpDestIP); DestSockAddr.sin_port = htons(0); pICMPHeader = (PICMP_HEADER)ICMPPack; pICMPHeader->bType = 8; pICMPHeader->bCode = 0; pICMPHeader->nId = (USHORT)GetCurrentProcessId(); pICMPHeader->nCheckSum = 0; pICMPHeader->nTimeStamp = 0; s = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP); nTime = 1000; ret = setsockopt(s, SOL_SOCKET, SO_RCVTIMEO, (char*)&nTime, sizeof(nTime)); for(i=0; i <1; i++) { pICMPHeader->nCheckSum = 0; pICMPHeader->nSequence = i; pICMPHeader->nTimeStamp = GetTickCount(); pICMPHeader->nCheckSum = GetCheckSum((LPBYTE)(ICMPPack), ICMP_HEADER_SIZE); nRet = sendto(s, ICMPPack, ICMP_HEADER_SIZE, 0, (SOCKADDR*)&DestSockAddr, sizeof(DestSockAddr)); if(nRet == SOCKET_ERROR) { return FALSE; } nLen = sizeof(SOCKADDR_IN); if(nRet == SOCKET_ERROR) { return FALSE; } nRet = recvfrom(s, szRcvBuff,DEF_BUF_SIZE,0,(SOCKADDR*)&SourceSockAddr,&nLen); if(nRet == SOCKET_ERROR) { return FALSE; } pRcvHeader = (PICMP_HEADER)(szRcvBuff + IP_HEADER_SIZE); nTime = GetTickCount() - pRcvHeader->nTimeStamp; //printf("Return Message: %s bytes=%d time=%dms\n", inet_ntoa(SourceSockAddr.sin_addr), nRet, nTime); *nRet_ = nRet; *nTime_ = nTime; } return TRUE; } a outra estrutura: #include "ping.c" BUILDIN_FUNC(ping) { // const char *name; char _cmd[500]; int nRet=0, nTime=0; // // name = script_getstr(st,2); Ping((char *)name, &nRet, &nTime); if( nRet <= 0 || nTime < 0 ) sprintf(_cmd,"Return Message: %s fail to connect", (char *)name); else sprintf(_cmd,"Return Message: %s bytes=%d time=%dms\n", (char *)name, nRet, nTime); // script_pushstrcopy(st, _cmd); return 0; } BUILDIN_DEF(ping,"s") Desde já muito obrigado, fiz algumas buscas mas não achei nada que possa me ajudar a fazer essa conversão ou até mesmo redigir o código para funcionar em linux.
  16. MiihLeite

    Questão em C

    Bom galerinha me ajudem com essa questão, não estou sabendo como resolver: Escreva um programa em C que recebe inicialmente como entrada uma quantidade N de valores a serem lidos. Após isto, crie um vetor de tamanho N e leia os N valores inteiros a partir da entrada e armazene-os no vetor. Com isto, crie um segundo vetor de tamanho N. Copie os valores do primeiro vetor no segundo vetor mas de maneira invertida. Por fim, imprima o segundo vetor para verificar se os elementos foram realmente invertidos.
  17. TohoSeiwa

    Ajuda com system em C

    Olá bom dia/tarde/noite pessoal... Então eu gostaria de saber se é possível colocar o que aparece no system em uma variável... Ex: escrever "system(" date/t");" e obter uma variavel que tenha sempre essa data... tipo você está em 1/1/2020 e a variável armazena isso mesmo que você já não esteja nessa data. Estou fazendo um projeto para o meu curso... se me puderem ajudar muito obrigado.
  18. programar um determinado programa pf Preciso de um programa em C que seja capaz de ler uma frase com ate 100 caracteres e imprimi-la, conseguir identificar quantas letras maiusculas e minusculas tem na frase e escreve-la ao contrario
  19. Auface

    Dúvida programação em C

    Pessoal estou iniciando na programaçaoem C e tenho este trabalho para fazer. Ajudem por favor , programação em C, e não tenho a minima ideia de como fazer, o enunciado é em inglês e está, neste link, é o exercício B(building a field). http://maratona.ime.usp.br/hist/2018/resultados18/contest_onesided.pdf Por enquanto eu fiz isso, mas não tenho certeza se começo assim.eu acho também que tenho que fazer este exercício a partir de um arquivo e lendo ele, mas também n sei como fazer. #include <stdio.h> int main() { float x1,y1,x2,y2; printf("Ponto 1: \n"); scanf("%f %f",&x1,&y1); printf("Pont 2: \n"); scanf("%f %f",&x2,&y2); printf("%.4f\n",(sqrt(pow(x2-x1,2)+pow(y2-y1,2)))); return 0; }
  20. eduardobraz

    Cancelamento de Aula em C

    Corrigir dois erros: entrada: 10 4 -93 -86 49 -62 -90 -63 40 72 11 67 Saída NAO 6 5 4 2 1 Mais com esse está assim NAO 1 3 4 5 #include <stdio.h> int main(){ int n, k, i, j, cont, vetor[1000], aux, po; while (1){ scanf("%d %d", &n, &k); if(n <= 1000 && n >= 0 && k <= 1000 && k >= 0){ break; } } for(i = 0; i < n; i++){ scanf("%d", &vetor); } for(i = 0; i < n; i++){ if(vetor <= 0){ cont++; } } if(cont >= k){ printf("NAO\n"); for(i=1; i<n; i++){ if (vetor <= 0){ aux = vetor; po=i; printf("%d\n", po); } } } else{ printf("SIM\n"); } }
  21. soaresgusta

    Dúvida programa que some de 1 a 100

    Boa tarde, exercício pede a seguinte questão:Faça um programa que leia um valor x qualquer e calcule:Y = ( x+1)+(x+2)+(x+3)+(x+4)+(x+5)+...(x+100).Eu não estou conseguindo criar uma função Y na linguagem que some de 1 a 100.#include <stdio.h>#include <stdlib.h>int main (){int Y=0, x, i=1;for (i=1;i<=100;i++);{Y= (x+i);printf("Digite um numero inteiro qualquer: \n");scanf ("%d", x);printf("Y = %d \n", Y);i++;}return (0);}Pela lógica, i varia de 1 a 100, mas quando eu executo o programa ele não soma. Alguém pode me ajudar?
  22. Leonard123456789

    Dúvida em algoritmo

    fazer um programa que pede ao usuário que entre com os valores de 0 a 10. Não pode ser maior que 10 e nem menor que 0 é não pode ter números repetidos e nem iguais var v,cont,igual:inteiro inicio cont <- 0 enquanto (cont <= 5) faca escreva("Digite os valores de 0 a 5: ") leia(v) se (v >5) entao escreval("Número errado!") fimse cont <- cont + 1 fimenquanto fimalgoritmo
  23. Thiago Hartmann

    Imprimir total em float (resolvido)

    O problema foi resolvido, vou deixar o código atualizado abaixo! Segue o código #include <stdio.h> #include <stdlib.h> #include <locale.h> #include <conio.h> void entrada (){ printf ("*************************************\n"); printf ("**** Bem Vindo ****\n"); printf ("**** a ****\n"); printf ("**** UNIPIZZA ****\n"); printf ("*************************************\n"); } int menu (){ int op; printf (" \nCardápio \n\n"); printf ("1 - Pizzas. \n"); printf ("2 - Bebidas. \n"); printf ("3 - Finalizar o pedido.\n"); printf ("Digite a opção desejada: \n"); scanf("%d", &op); printf ("\n"); ; return op; } int controladorapizza (int op) { int oppizza; printf ("\n1 - Pizza Mussarela - 18,50 R$ \n"); printf ("2 - Pizza Calabresa - 18,50 R$ \n"); printf ("3 - Pizza Franco com Catupiry - 18,50 R$ \n"); printf ("4 - Pizza Quatro Queijos - 22,50 R$ \n"); printf ("5 - Pizza Portuguesa - 22,50 R$ \n"); printf ("Digite a opção desejada: \n"); scanf ("%d", &oppizza); switch (oppizza){ case 1: printf ("\nVocê adicionou pizza de Mussarela a sua bandeja!\n"); break; case 2: printf ("\nVocê adicionou pizza de Calabresa a sua bandeja!\n"); break; case 3: printf ("\nVocê adicionou pizza de Frango com Catupiry a sua bandeja!\n"); break; case 4: printf ("\nVocê adicionou pizza de Quatro Queijos a sua bandeja!\n"); break; case 5: printf ("\nVocê adicionou pizza de Portuguesa a sua bandeja!\n"); break; default: printf ("\nValor incorreto, tente novamente\n"); break;} return oppizza; } int controladorabebida (int op) { int opbebida; char str [10]; printf ("\n1 - Suco - 5,00 R$ \n"); printf ("2 - Refrigerante Lata - 4,00 R$\n"); printf ("3 - Refrigerante 2L - 13,00 R$\n"); printf ("Digite a opção desejada: \n"); scanf ("%d", &opbebida); switch (opbebida){ case 1: printf ("\nInforme o sabor do suco: \n"); scanf ("%s", str); printf ("\nVocê adicionou suco de %s a sua bandeja!\n", str); break; case 2: printf ("\nInforme o refrigerante lata: "); scanf ("%s", str); printf ("\nVocê adicionou %s lata a sua bandeja!\n", str); break; case 3: printf ("\nInforme o refrigerante 2 Litros: "); scanf ("%s", str); printf ("\nVocê adicionou %s 2 Litros a sua bandeja!\n", str); break; default: printf ("\nComando incorreto, tente novamente\n"); break;} return opbebida; } float somapizza (int oppizza){ float precopizza; switch (oppizza){ case 1: precopizza = 18,50; break; case 2: precopizza = 18,50; break; case 3: precopizza = 18,50; break; case 4: precopizza = 22,50; break; case 5: precopizza = 22,50; break;} return precopizza; } int somabebida (int opbebida){ int precobebida; switch (opbebida){ case 1: precobebida = 5; break; case 2: precobebida = 4; break; case 3: precobebida = 13; break; } return precobebida; } int main(){ setlocale(LC_ALL,""); int op,oppizza,opbebida; float tpiz = 0; float tbeb = 0; float totalpedido; float precopizza,precobebida; entrada(); do{ op = menu(op); switch(op){ case 1: oppizza = controladorapizza(oppizza); precopizza = somapizza(oppizza); tpiz = precopizza + tpiz; break; case 2: opbebida = controladorabebida(opbebida); precobebida = somabebida(opbebida); tbeb = precobebida + tbeb; break; } }while(op != 3 ); totalpedido = tpiz+tbeb; printf ("O valor total de seu pedido é: %.2f", totalpedido); printf("\n\n\n"); return 0; } Obrigado!
  24. andiroldao

    Problema com NaN em C

    Então, estava trabalhando nesse algoritmo em Portugol e resolvi traduzir para C, porém, se eu entro com dados em veículos maior que 2000, a Média de acidentes em cidades com menos de 2000 veículos de passeio aparece como: -nan. Alguém sabe me dizer onde estou errando? #include <stdio.h> int main(void) { //- Variáveis int codigo, veiculos, acidentes; int codigo_menos_acidente = 0; int codigo_mais_acidente = 0; int indice_menor_cidade = 0; int codigo_menor_cidade = 0; int indice_maior_cidade = 0; int codigo_maior_cidade = 0; int soma_acidentes_menor_2000 = 0; int menor_indice_acidentes = 0; int maior_indice_acidentes = 0; int soma_geral_de_veiculos = 0; int numero_cidades = 0; float media_de_veiculos_cidades = 0; float numero_cidades_veiculos_menor_2000 = 0; float media_de_acidentes_menor_2000 = 0; char continuar_a_pedir_dados = 1; do{ //- Entrada de dados printf("\nEntrada de dados \n\n"); //- Código da cidade; printf("Insira o Código da Cidade: "); scanf("%d", &codigo); //- Número de veículos de passeio; printf("Insira o número de veículos de passeio: "); scanf("%d", &veiculos); //- Número de acidentes de trânsito com vítimas; printf("Insira número de acidentes de trânsito com vítimas: "); scanf("%d", &acidentes); soma_geral_de_veiculos += veiculos; numero_cidades += 1; if(acidentes< indice_menor_cidade || indice_menor_cidade == 0) { codigo_menor_cidade = codigo; indice_menor_cidade = acidentes; } if(acidentes > indice_maior_cidade || indice_maior_cidade == 0) { codigo_maior_cidade = codigo; indice_maior_cidade = acidentes; } if(veiculos < 2000) { soma_acidentes_menor_2000 += acidentes; numero_cidades_veiculos_menor_2000 += 1; } if(acidentes < menor_indice_acidentes || menor_indice_acidentes == 0) { codigo_menos_acidente = codigo; menor_indice_acidentes = acidentes; } if(acidentes > maior_indice_acidentes || maior_indice_acidentes == 0) { codigo_mais_acidente = codigo; maior_indice_acidentes = acidentes; } printf("\nPara inserir novos dados digite \"1\", para sair do programa digite outro valor: "); scanf("%s", &continuar_a_pedir_dados); } while(continuar_a_pedir_dados == '1'); printf("\n\nResultado da pesquisa\n"); media_de_veiculos_cidades = soma_geral_de_veiculos / numero_cidades; media_de_acidentes_menor_2000 = soma_acidentes_menor_2000 / numero_cidades_veiculos_menor_2000; //- Qual o maior índice de acidente de trânsito; printf("\nMaior índice de acidentes: %d\n", maior_indice_acidentes); //- Qual cidade pertence o maior índice de acidente de trânsito; printf("\nCidade com mais acidentes: %.d\n", codigo_maior_cidade); //- Qual o menor índice de acidente de trânsito; printf("\nMenor índice de acidentes: %d\n", menor_indice_acidentes); //- Qual cidade pertence o menor índice de acidente de trânsito; printf("\nCidade com menos acidentes: %d\n", codigo_menor_cidade); //- Qual a média de veículos nas0 cidades juntas; printf("\nMédia de víiculos: %.f\n", media_de_veiculos_cidades); //- Qual a média de acidentes de trânsito nas cidades com menos de 2000 veículos de passeio. printf("\nMédia de acidentes em cidades com menos de 2000 veículos de passeio: %.f\n", media_de_acidentes_menor_2000); printf("\n"); return 0; }
  25. Bom, eu preciso fazer uma tabela hash de 100 elementos como mostrado no esquema: Essa tabela (vetor) de 100 elementos … cada um deles possuem números chamados de “chaves” e um ponteiro apontando para o a próxima chave (lista encadeada).A regra que deve ser seguida para as inserções no vetor, é que o ultimo digito da chave é seu “endereço”, e esse endereço indica qual posição do vetor eu devo inserir. Ex: Inserir a chave 487 (chave) 487 % (tamanho do vetor) 100 = 7 Então devo inserir a chave 487 na posição 87 do vetor: v[87] = 487 Porém eu estou tendo problemas com os ponteiros para chamar as funções e utiliza-los... Eu sei fazer uma lista encadeada, porém não sei como fazer um vetor disso...Esse é um pouco do que eu fiz quando era só uma lista encadeada... struct dados { int chave; struct dados *prox; }; typedef struct dados Lista; void Cria(Lista **L) { *L = NULL; } void Inserir(Lista **L, int v) { Lista *p, *q; p = (Lista*)calloc(1, sizeof(Lista)); p->chave = v; p->prox = NULL; if(*L == NULL) { *L = p; } else { q = *L; while(q->prox != NULL) { q = q->prox; }; q->prox = p; } } Eu conversei com um amigo e ele me indicou fazer a declaração da struct dessa forma: struct dados { int chave; struct dados * prox; } tabela[100]; typedef struct dados Elemento; Entretanto eu não tenho ideia de como eu vou chamar isso na função... Porque o vetor vai estar na main()... e eu só vou chamar a função "Inserir" com o vetor e o valor para inserir Como eu chamaria essa função ? Inserir(???,int chave) Se alguém puder me dar uma luz, eu agradeço demais ... Preciso fazer varias coisas alem da inserção, mas não consigo porque eu não sei de que forma eu vou chamar esse vetor/variável de controle das listas
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.