Ir para conteúdo

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


Todas as áreas do Fórum

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Desenvolvimento Web
    • Desenvolvimento frontend
    • Javascript
    • PHP
    • Ruby
    • Python
    • Java
    • .NET
    • Docker, Kubernets e outros ambientes
    • Desenvolvimento com Wordpress
    • Desenvolvimento de apps
    • Desenvolvimento ágil
    • Desenvolvimento de Games
    • Banco de Dados
    • Design e UX
    • Algoritmos & Outras Tecnologias
  • Entretenimento e uso pessoal
    • Segurança & Malwares
    • Geral
    • Boteco iMasters

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


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Encontrado 96 registros

  1. biza

    Como integrar uma string num campo char array

    Ola Estou a construir um datalogger em código C.Desta forma necessito passar os dados entre ficheiros. O meu problema está na inclusão de algumas variáveis no topo de um arquivo .txt onde os dados são salvos. Variáveis como tempo de data e hora, id do dispositivo e muito mais... Para isso preciso de ajuda, gostaria que os dados estivessem disponíveis para todos os arquivos, até aí é fácil, basta incluir a variável como extern, no arquivos *.h e incluí-lo em todos os outros que você deseja que a variável esteja disponível. mas como posso fazer para ter acesso a ele dentro do array que preciso? Exemplo: main.c #include "main.h" char dateTimeFormat[24]; void main(void){ dateTimeFormat = "22-02-22 13:23:04"; } main.h extern char dateTimeFormat[24]; teste.c #include "main.h" extern char dateTimeFormat[24]; /*Header .txt file initialization*/ volatile char headerFile[] ="\n\n" "# HEALT MONITORING SYSTEM \r\n" "# DEVELOPED: BIZA \r\n" "# VERSION: B \r\n" "# DATATIMECAPTURE:"+dateTimeFormat+ "\r\n" "# SAMPLINGFREQUENCY: 500 \r\n" "# SAMPLECHANNELS: 1 2 3 4 5 6 7 8 \r\n" "# SAMPLINGRESULUTION: 24 \r\n" "# IDDEVICE: HEALTHY \r\n" "# ENDOFHEADER Como posso incluir a variável "dateTimeFormat" dentro do headerFile como descrevi acima?
  2. #include <stdio.h> #include <stdlib.h> #define MAXTAM 1000 int Frente, Tras, Lista[MAXTAM]; void Lista_Construtor(){ Frente=0; Tras=-1; } int Lista_Vazia(){ if(Tras==-1) return 1; else return 0; } int Lista_Cheia(){ if(Tras==MAXTAM-1) return 1; else return 0; } int Lista_Tamanho(){ return Tras+1; } int Lista_Inserir_Inicio(int Valor){ if(Lista_Cheia()){ return 0; }else{ /*se quero inserir na posição 0, vou deslocar todos os elementos para frente*/ for(int i=Tras+1;i>Frente;i--){ Lista=Lista[i-1]; } Lista[Frente]=Valor; Tras++; return 1; } } int Lista_Inserir_Fim(int Valor){ if(Lista_Cheia()){ return 0; }else{ Tras++; Lista[Tras]=Valor; return 1; } } int Lista_Inserir(int Valor, int Posicao){ if(Lista_Cheia()){ return 0; }else{ /* Para verificar se a posição está no meio da lista */ if(Posicao>Frente && Posicao<Tras){ for(int i=Tras+1;i>Posicao;i--){ Lista=Lista[i-1]; } Lista[Posicao]=Valor; Tras++; return 1; }else{ return 0; } } } int Lista_Remover_Inicio(int *Valor){ if(Lista_Vazia()){ return 0; }else{ *Valor =Lista[Frente]; for(int i=Frente;i<Tras;i++){ Lista=Lista[i+1]; } Tras--; } } int Lista_Remover_Fim(int *Valor){ if(Lista_Vazia()){ return 0; }else{ *Valor=Lista[Tras]; Tras--; return 1; } } int Lista_Remover(int *Valor, int Posicao){ if(Lista_Vazia()){ return 0; }else{ if(Posicao>Frente && Posicao<Tras){ *Valor=Lista[Posicao]; for(int i=Posicao;i<Tras;i++){ Lista=Lista[i+1]; } Tras--; return 1; } } } int Lista_Get_toda(int *Valor){ if(Lista_Vazia()){ return 0; }else{ *Valor=Lista[Frente]; return 1; } } int Lista_Get_inicio(int *Valor){ if(Lista_Vazia()){ return 0; }else{ *Valor=Lista[Frente]; return 1; } } int Lista_Get_Fim(int *Valor){ if(Lista_Vazia()){ return 0; }else{ *Valor=Lista[Tras]; return 1; } } int Lista_Busca_Valor(int Valor, int *Posicao){ int i; if(Lista_Vazia()){ return 0; }else{ for(i=Frente;i<Tras;i++){ if(Lista==Valor){ break; } } if(i==Tras){ return 0; }else{ *Posicao=i; return 1; } } } int Lista_Busca_Posicao(int *Valor, int Posicao){ if(Lista_Vazia()){ return 0; }else{ if(Posicao>Frente && Posicao<Tras){ *Valor=Lista[Posicao]; return 1; }else{ return 0; } } } int main(){ int i,Valor,op=0,pos; Lista_Construtor(); while(op!=12){ printf("*** Menu de opções ***\n"); printf("1-Inserir início\n"); printf("2-Inserir fim\n"); printf("3-Inserir meio\n"); printf("4-Excluir início\n"); printf("5-Excluir fim\n"); printf("6-Excluir meio\n"); printf("7-Mostrar toda lista\n"); printf("8-Mostrar primeiro item da lista\n"); printf("9-Mostrar último item da lista\n"); printf("10-Mostrar a posição de um item da lista\n"); printf("11-Mostrar o valor de uma posição\n"); printf("12-Sair\n"); printf("Escolha uma opção: "); scanf("%d", &op); switch(op){ case 1: printf("Digite o valor a ser inserido: "); scanf("%d", &Valor); Lista_Inserir_Inicio(Valor); break; case 2: printf("Digite o valor a ser inserido: "); scanf("%d", &Valor); Lista_Inserir_fim(Valor); break; case 3: printf("Digite o valor a ser inserido: "); scanf("%d", &Valor); printf("Digite a posição que deseja inserir: "); scanf("%d", &pos); Lista_ Inserir_meio(int Valor, pos); break; case 4: printf("Digite a remoção do início: "); scanf("%d", &*Valor); Lista_ Excluir_inicio(*Valor); break; case 5: printf("Digite a remoção do fim: "); scanf("%d", &*Valor); Lista_ Excluir_fim(*Valor); break; case 6: printf("Digite a remoção do meio: "); scanf("%d", &Valor); printf("Digite a posição que deseja remover: "); scanf("%d", &*Posicao); Lista_ Excluir_meio(intValor, * pos); break; case 7: printf("Digite ao a mostrar toda lista: "); scanf("%d", &Valor); Lista_ mostrar_toda_lista(Valor); break; case 8: printf("Digite ao a mostrar primeiro item da lista: "); scanf("%d", &*Valor); Lista_ mostrar_primeiro_item_da_lista(*Valor); break; case 9: printf("Digite ao a mostrar último item da lista: "); scanf("%d", &*Valor); Lista_ mostrar_ultimo_item_da_lista(*Valor); break; case 10: printf("Digite ao a mostrar a posição de um item da lista: "); scanf("%d", &Valor); printf("Digite a posição que deseja mostrar na lista: "); scanf("%d", &* pos); Lista_ mostrar_posicao_de_um_item_da_lista(intValor, *pos); break; case 11: printf("Digite ao a mostrar o valor de uma posição: "); scanf("%d", &*Valor printf("Digite a posição que deseja mostrar no valor: "); scanf("%d", &pos); Lista_ mostrar_posicao_de_um_valor_da_lista(int*Valor, pos); break; case 12: default: printf("Valor Invalido!\n"); system("PAUSE"); } } return 0; }
  3. oromotoceu

    struct arquivo carro

    bom dia pode me ajudar nessa questão por favor O programa deverá trabalhar dados de um veículo, onde será armazenado, Nome do proprietário, placa do carro, modelo do carro e preço do carro. O programa deve ter as seguintes opções: Inserir dados (todos os dados sugeridos no enunciado acima). Excluir um Carro específico com a busca pela placa. Editar dados de um Carro com a busca pela placa. Consultar carro por Placa. Exibir todos os dados cadastrados. Finalizar programa. A opção exibir todos os dados, apresenta tudo que já foi cadastrado e está na memória.
  4. TK_T

    Ajuda String

    olá sou iniciante consegui fazer um o código de um exercício só que quando eu peço o valor 12ab ele lê como numérica alguém pode me ajudar? Exercício: Leia uma string e diga se a mesma é numérica (na base decimal) ou não. Ex.: "123" -> numérica "abc" -> não numérica "12ab" -> não numérica "12.34" -> numérica #include <stdio.h> int main() { char Numero; printf("Digite Algo: "); scanf("%c", &Numero); if(Numero == '1' || Numero == '2' || Numero == '3' || Numero == '4' || Numero == '5' || Numero == '6' || Numero == '7' || Numero == '8' || Numero== '9' || Numero == '0') printf("\tNumérica...\n"); else printf("\tNão Numérica\n"); return 0; }
  5. cgm2k7

    liberando a memoria heap corretamente...

    Boa noite! Bom preciso de uma dica/ajuda em uma problema... tenho duas structs, LIST e NO. lista duplamente encadeada. //insiro/crio 100.000 nos. struct no{ char *nome; char sexo; float nota; float media; int id; struct no *next, *prev; }; struct list{ long int size_list; struct no *begin, *end; }; typedef struct no NO; typedef struct list LIST; for(int y = 0; y < 100000; y++) inserir_inicio(*list); void CreateNo(NO **no) { *no = (NO*)calloc(1,sizeof(NO)); if (*no) { (*no)->nome = "cicero"; (*no)->sexo = 'M'; (*no)->nota = 0.0; (*no)->media = 1; (*no)->id++; (*no)->next = NULL; (*no)->prev = NULL; is_Ok = true; } else { printf("ERRO: Ao alocar memoria em 'void CreateNo(NO **no)'\n"); is_Ok = false; return; } } void inserir_inicio(LIST *list) { NO *no; CreateNo(&no); if (is_Ok) { no->next = list->begin; list->begin = no; list->size_list++; } } // destroy os nos void DestoyList(LIST **list) { if ((*list)->begin == NULL) { free(*list); printf("Lista vazia!\n\n"); } else { NO *p = (*list)->begin, *tmp = NULL; while (p != NULL) { tmp = p; p = p->next; /*tmp->nome = "0"; tmp->sexo = '\0'; tmp->id = 0; tmp->media = 0;*/ free(tmp); } free(p); (*list = NULL); } } o problema é o seguinte: quando inicio o aplicativo ele começão com 512kb, quando criando 100.000 na memoria heap, aumenta para mais ou menos uns 7,8mb, bom ate aqui tudo oks mas quando delete este nos com o free() esperava eu q retornasse para os mesmo 512kb inicias do aplicativo, mas isso não acontece, ele retorna para 1,3mb. minha pergunta é: porque não deleta tudo, já setei zeros e para todos os membros da struct no mas mesmo assim não deleta tudo. Se alguém poder meda da uma dica. OBS: não quero código pronto eu quero apenas dicas se possível bem explicada porque sou meio novato em c kkk.
  6. Sharank

    Strcat Function In C++

    Strcat Function In C++ I'm new to C and C++ programming, can anyone give me a hint on what I'm doing wrong here. I'm trying to write to concat function that takes to pointers to chars and concatenates the second to the first. The code does do that, but the problem is that it adds a bunch of junk at the end. For instance, when passing the arguments - "green" and "blue", the output will be "greenblue" plus a bunch of random characters. I also wrote the strlen function that strcat uses, which I will provide below it for reference. I'm using the online compiler at InterviewBit The exact instructions and specification is this: int main(int argc, char** argv) { const int MAX = 100; char s1[MAX]; char s2[MAX]; cout << "Enter your first string up to 99 characters. "; cin.getline(s1, sizeof(s1)); int size_s1 = strlen(s1); cout << "Length of first string is " << size_s1 << "\n"; cout << "Enter your second string up to 99 characters. "; cin.getline(s2, sizeof(s2)); int size_s2 = strlen(s2); cout << "Length of second string is " << size_s2 << "\n"; cout << " Now the first string will be concatenated with the second string "; char* a = strcat(s1,s2); for(int i = 0; i<MAX; i++) cout <<a; // system("pause"); return 0; } //strcat function to contatenate two strings char* strcat(char *__s1, const char *__s2) { int indexOfs1 = strlen(__s1); int s2L = strlen(__s2); cout <<s2L << "\n"; int indexOfs2 = 0; do{ __s1[indexOfs1] = __s2[indexOfs2]; indexOfs1++; indexOfs2++; }while(indexOfs2 < s2L); return __s1; } //Returns length of char array size_t strlen(const char *__s) { int count = 0; int i; for (i = 0; __s != '\0'; i++) count++; return (count) / sizeof(__s[0]); }
  7. Elizandro Veloso

    Como persistir os dados ?

    Preciso de ajuda em um projeto, esse projecto , precisa alterar, guardar as fichas, como faço para alterar, guardar etc ? switch(menu) { case 'c': case 'C': printf("\n-----------------------------------------------------------\n"); printf("\t\t Ficha de Componentes\n"); printf("-----------------------------------------------------------\n"); componente = inserirComponente(componente); break; case 'p': case 'P': printf("\n-----------------------------------------------------------\n"); printf("\t\t Posto de Trabalho\n"); printf("-----------------------------------------------------------\n"); posto = inserirPostoTrabalho(posto); break; case 'f': case 'F': printf("\n-----------------------------------------------------------\n"); printf("\t\t Ficha de Funcionário\n"); printf("-----------------------------------------------------------\n"); funcionario = inserirFuncionario(funcionario); break; case 'o': case 'O': printf("\n-----------------------------------------------------------\n"); printf("\t\t Ficha das Operações\n"); printf("-----------------------------------------------------------\n"); operacao = inserirOperacao(operacao); break; case 'e': case 'E': printf("\n-----------------------------------------------------------\n"); printf("\t\t Ficha de Empresa\n"); printf("-----------------------------------------------------------\n"); empresa = inserirEmpresa(empresa); break; case 's': case 'S': printf("\n-----------------------------------------------------------\n"); printf("\t\t Obrigado e volte sempre\n"); printf("-----------------------------------------------------------\n"); break; default: printf("\n---------------------------------------------------------------\n"); printf("\t\t A instruçao inserida não existe no Menu!!\n\n\t\t Aguarde para digitar novamente...\n"); printf("-----------------------------------------------------------------\n"); sleep(4); system("cls"); } }while(menu != 'S' && menu != 's');
  8. #include <stdio.h> #include <stdlib.h> int arr[3][5]; int main(){ printf("Favor inserir os dados...\n"); for(int i = 0; i < 3; i++){ for(int j = 0; j < 5; j++){ scanf("%d", &arr[j]); } } printf("os valores inseridos foram...\n"); for(int i = 0; i < 3; i++){ for(int j = 0; j < 5; j++){ printf(" %d ", arr[j]); } printf("\n"); } return 0; }
  9. marceloDiegues

    Custo e Tecnologia.

    Olá, amigos. Por favor, me ajude com a seguintes perguntas. Qual a complexidade de um projeto desse? Qual o preçp de um projeto desse tipo? Quero contratar algum profissional para criar um site que tenha as seguintes funcionabilidades: 1- Cadastro de usuário; 2- Login e senha; 3- O site seria muito parecido com o www.qconcursos.com, o usuário resolveria questões online. Contudo, haveria a possibilidade de criar salas tipo aqueles bate-papo da &nbsp;UOL. Então, o usuário criaria salas de estudos, em que , resolveria questões e conseguiria se comunicar por chat com usuários que estejam na mesma sala. Exemplo em anexo:
  10. Danilo194

    Preciso de Ajuda - Shift-and

    Pessoal me ajudem não encontrei muita coisa sobre isso.. o exercício é o seguinte, tenho que desenvolver um programa em linguagem C, Java ou C# para a busca em texto utilizando o método SHIFT-AND. DESCRIÇÃO: O programa deverá ler um ARQUIVO TEXTO contendo o texto objeto de pesquisa com todas as letras escritas em minúsculas (texto que será pesquisado), deverá ler do teclado o texto à pesquisar (Padrão) e realizar a busca do Padrão no Texto utilizando o método SHIFT-AND. SAÍDA: O programa deverá pesquisar pelo PADRÃO no TEXTO, utilizando o método SHIFT-AND e converter em MAIÚSCULAS todas as ocorrências do PADRÃO no TEXTO, ou exibir na tela uma mensagem informando que o PADRÃO não foi encontrado no TEXTO, se este for o caso. Alguém pode me ajudar ?
  11. atkinson

    Modificar linha em FILE txt (C)

    Oi, estou fazendo um sistema de locadora de carros pra um projeto de faculdade em C, mas estou tendo problemas em uma parte. Meu código ele registra carros e os localiza quando disponíveis, e no arquivo carros.txt os dados ficam organizados dessa maneira: 1 XXX1234 Gol 120 0 YYY1234 Corsa 110 O 1 e 0 no começo pra determinar disponível ou indisponível O XXX1234 é a placa do carro Logo depois da placa vem o modelo do carro E no final é o valor da diaria de cada carro, sendo o gol 120 reais por dia e o corsa 110 reais por dia. Eu gostaria de saber, entre todos os carros, como eu poderia por exemplo, digamos que alugaram o gol, como eu faço pro meu sistema localizar o Gol, e modificar o 1 pra 0. Não estou conseguindo achar os comandos q fazem essa busca e alteração. Se alguem puder me ajudar, agradeço muitíssimo. Obrigado pelo seu tempo!
  12. Bem pessoal, eu estou querendo adicionar pontos em um valor inteiro, para explicar melhor vamos ao código: char text[30]; int value = 10000000000; sprintf(text, "O valor ganho foi de: %d", value); cis->print_message(text); Eu queria saber uma forma de retornar o valor com pontos, ficando da seguinte forma: 10.000.000.000 Alguém tem alguma ideia ?
  13. Vitor Araldi

    PROBLEMA DE UM TRABALHO

    escreva um programa que eprmita o usuario, informar os elementos de uma matriz A de numeros inteiros, ed ordem 3x3. apos a digitação da matriz A o programa deve: 1. gerar a matriz B que corresponde e transposta de A. 2. gerar a matriz C que é a soma da A+B. 3. Gerar a matriz D tal que e a mult de A*B. 4. Mostrar as matrizes A,B,C e D. 5. Dizer quantos numeros primos existem na diagonal principal na matriz D 6. Mostrar o fatorial de todos os elementos da matriz B. 7. Mostrar a Media aritmetica dos elementos da diagonal principal da matriz C. obs:. 1.o programa tera as seguintes funcÕes a) uma que recebe o numero inteiro e devolve o seu fatorial. b) uma que recebe o numero inteiro e devolve 1 se ele for primo, 0 se não. c) a função main. 2. somente a função main faz I/O. FIZ ATE AQUI int main(int argc, char *argv[]) // MOSTRAR MATRIZ {int matA[3][3], i,j,k,matB[3][3],matC[j],matD[j],somaProd; for (i=0; i <3; i++) {for(j=0; j <3; j++) {printf("\nINFORME ELEMENTO (%d) (%d): ", i+1,j+1); scanf ("%d",&matA[j]); } } // MATRIZ TRANSPOSTA DA MATRIZ A printf("\n\tVEJA SUA MATRIZ\n"); for(i=0;i<3;i++) {for(j=0;j<3;j++) printf("\t%d",matA[j]); printf("\n"); } for(i=0; i< 3;i++) {for(j=0;j<3;j++) matB[j]=matA[j]; } printf("\n\tVEJA MATRIZ B\n"); for(i=0; i<3;i++) {for(j=0;j<3;j++) printf("\t%d", matB[j]); printf("\n"); } //SOMA DAS MATRIZES for(i=0;i <3; i++) {for(j=0;j<3;j++) matC[j] = matA[j] + matB[j]; } printf("\n\tVEJA A SOMA DAS MATRIZES, A+B=C\n"); for(i=0;i<3;i++) {for(j=0;j<3;j++) printf("\t%d",matC[j]); printf("\n"); } // MULT DAS MATRIZES for(i=0;i<3;i++) {for(j=0;j<3;j++) {somaProd = 0; for(k=0; k<3;k++) somaProd = somaProd + matA[k] * matB[k][j]; matD[j] = somaProd; } } printf("\n\tVEJA O PRODUTO A*B=D\n"); for(i=0; i< 3; i++) {for(j=0;j<3;j++) printf("\t%d",matD[j]); printf("\n"); } //QTD DE PRIMOS NA DIAGONAL PRINCIPAL DA MATRIZ D
  14. 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); }
  15. 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;
  16. 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
  17. 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; }
  18. 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!
  19. Villain

    Problema Olímpico com Números Pares

    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?
  20. 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?
  21. 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!
  22. 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á!
  23. 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); }
  24. 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;
  25. henriquemss

    [Resolvido]Somar todas diagonais de uma matriz

    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á.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.