Jump to content
  • ×   Pasted as rich text.   Paste as plain text instead

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Content

    • By marcelojoss
      //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;
      }
       
        
    • By Onaita
      Boa noite, preciso de uma ajuda com o código abaixo:
      - Dentro da variável '$dados' tenho uma array em que o id repete com datas diferentes, preciso descartar uma das duas arrays repetidas com o mesmo 'id', mantendo a de menor data, ou seja, o resultado final seria:
      "Array ( [0] => Array ( [id] => 12 [data] => 2020-07-02 ) , [1] => Array ( [id] => 13 [data] => 2020-06-10 ) ) "
      - já tentei de tudo um pouco a princípio estou trabalhando com a ideia de loop dentro de loop, para varrer e comparar, mas como vcs podem ver estou deixando passar alguma coisa;
      <?php
      $dados =     [array("id" =>12, "data"=>"2020-07-02"),
                  array("id" =>13, "data"=>"2020-06-10"),
                  array("id" =>13, "data"=>"2020-06-15"),
                  array("id" =>12, "data"=>"2020-05-12")];
      $total = count($dados);
      foreach($dados as $item){
          for($i=1; $i < $total; $i++){
              if($item['id'] == $dados[$i]['id']){
                  if(strtotime($item['data']) <= strtotime($dados[$i]['data'])){
                      unset($dados[$i]);
                      $dados = array_values($dados);
                      $total = count($dados);
                      
                  }    
              }    
          }    
      }
      print_r($dados);
      Array ( [0] => Array ( [id] => 12 [data] => 2020-07-02 ) ) //resultado
       
      Se alguém achar o erro, ou uma forma de resolver esse problema ficarei muito agradecido!
      Obrigado e Um grande abrs a todos!
    • By Licht
      Quero um programa que leia vários numeros e informa quantos pares foram digitados. Quando o número 0 (zero) for digitado ele para a execucao. O programa entra num loop e nao funciona como gostaria <?php             $cont= 0;             do {                 echo "<form method='GET' action='exemplo.php'><br/>";                 echo "<h1>Quantidade de numeros pares</h1><br/>";                 echo "<label for='num'>Numero: </label><br/>";                 echo "<input type='number' name='num'/><br/><br/>";                 echo "<input type='submit' value='Verificar'>";                 echo "</form>";                 echo "Contador: $cont";                 $num_verificar = isset($_GET["num"]) ? $_GET["num"] : ' ';                 if($num_verificar%2 == 0)                     $cont ++;             } while ($num_verificar != 0);             echo "Quantidade de numeros pares eh $cont! <br/>"; ?>             
    • By aqueiroz2
      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;
      }
    • By {Hyroshima)
      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.
×

Important Information

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