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. Queria um fazer um jogo da adivinhação em linguagem c com comandos simples como printf, scanf, if, while, já tenho uma base de como gerar um numero aleatorio, só queria fazer algo em cima disso. Como dar continuidade depois q o usuario, digita os valores como um laco repeticao, para dar continuidade ao game #include <stdio.h> #include <stdlib.h> #include <time.h> int sortearNumero(int nInicial, int nFinal){ int numeroSorteado; numeroSorteado = (rand() % (nFinal-nInicial+1) ) + nInicial; return numeroSorteado; } int main(void){ int numero, vInicial, vFinal; printf("\nDigite o primeiro valor: "); scanf("%d", &vInicial); printf("\nDigite o segundo valor: "); scanf("%d", &vFinal); srand(time(NULL)); numero = sortearNumero(vInicial, vFinal); printf("\nO número sorteado foi: %d\n", numero); }
  2. Opa boa tarde! Estou com problema pois quero mostrar a média no for, ele até mostra a primeira média, mas depois ele fica somando e queria saber como fazer para ele não somar e mostrar a média dos 5 alunos separado. Segue a imagem:
  3. Escreva uma função recursiva que retorne a profundidade do nó cuja informação seja igual a um valor x dado. Se a árvore for vazia, a função deve ter como valor de retorno o valor -1, caso contrário, deve-se assumir que o nó com valor x sempre estará presente na árvore. Lembre-se que a profundidade do nó raiz é 0 (zero): int profundidade (Arv* a, int x) Exemplo: Considere a seguinte ABB: >>Para x = 105 retornará 3 >>Para x = 170 retornará 1 >>Para x = 150 retornará 0
  4. Boa noite pessoal, tudo bem com voces. Voces podem me ajurdar por favor? – Escreva um programa que com uma func¸ao chamada calcula que: • recebe como parametros duas variaveis inteiras, X e Y; • retorna em X a soma de X e Y; • retorna em Y a subtrac¸ao de X e Y . (a) Crie um arquivo de biblioteca (.h) com o nome lista08bib.h e coloque a declaraçao e prototipo da funçao calcula na biblioteca. (b) Crie um programa para chamar a funçao calcula. Salve e envie o seu arquivo com o nome programa01.c. Atençao: Lembre-se que ao final dessa lista voce devera enviar tambem o arquivo lista08bib.h.
  5. estou sem tempo para realizar esses 2 desafios com prazo de entrega no dia 27, quem se interessar pode me encaminhar uma mensagem e combinamos detalhes, tem os codigos de base para os 2 programas
  6. Um programa recebe por linha de comando um termo e uma frase (nessa ordem), e o programa deve detectar e imprimir as posições do termo. Ex: ./programa --termo ro --frase "O rato roeu a roupa do rei de roma" -> posições do termo: 7, 14 e 30. O que fiz até agora: #include<stdio.h> int posicao(char *frase, char *termo){ int j=0,i=0,n=0; for(i=0; i != '\0'; i++){ for(j=0; j != '\0'; j++){ if(frase[i] == termo[j]){ n = n+1; printf("posicao : %d\n",i); } else if(n==0){ printf("não foi achado\n"); } } } } int main(int argc, char *argv[]){ char *frase, *termo; termo = (argv[1]); frase = (argv[2]); posicao(frase, termo); return 0; }
  7. Pergunta: "Escreva um programa que ordene alfabeticamente, de forma crescente, as letras existente numa “string” previamente pedida ao utilizador. Esta ordenação deverá ser efetuada num vetor auxiliar que será inicializado com os endereços de memória de cada uma das letras existente na “string”. A construção deste vetor, o qual é constituído por endereços de memória, não poderá alterar a “string” original." Por exemplo: a palavra "ana", no output ficaria "aan" Já tentei mas não percebo porque está a dar erro #include <stdio.h> #include <string.h> void ordenarString(char *string, int tamanho); main() { char string[100]; int tamanho; printf("Introduza uma palavra\n"); gets(string); tamanho=strlen(string); ordenarString(string,tamanho); scanf("%d",&string); } void ordenarString(char *string, int tamanho){ int i, j, *aux[tamanho]; for(i=0;i<10;i++){ for(j=i+1;j<10;j++){ if(strcmp(string[j], string[i])==-1){ strcpy(aux, string[i]); strcpy(string[i], string[j]); strcpy(string[j], aux); } } } }
  8. davigomes

    Tarefa em C

    Considere as structs abaixo: struct data { int dia; // dia da tarefa int mes; //mês da tarefa int ano; //ano da tarefa }; struct hora { int hora; //hora da tarefa int min; //minutos da tarefa int sec; //segundos da tarefa }; struct evento { char descri[80]; //descrição do evento char evento[20]; //nome do evento char tipo; //1 – escolar, 2 – médico, 3 – familiar, 4 - amigos struct data evd; //data do evento struct hora evh; //hora do evento }; Elaborar um programa em C para operar uma agenda, segundo o menu principal: Agenda de eventos EP2015 1 – Inserir novo evento 2 – Alterar evento existente 3 – Excluir evento existente 4 – Listar eventos por dia 5 – Listar eventos por semana 6 – Listar eventos por mês 7 – Listar eventos por tipo no mês ou na semana ESC - Sair Considerações: 1. Não será aceito a utilização de variáveis globais; 2. Cada uma das opções deverá ser manipulada por uma função que recebe o endereço da struct, ou seja, a função deve acessar a struct por ponteiro; 3. O main() deverá operar somente o menu principal e as operações com arquivo; 4. Ao iniciar o programa, o vetor de structs deve ser lido de um arquivo cujo nome o usuário informa; 5. Ao encerrar o programa, o vetor de structs deve ser salvo num arquivo cujo nome o usuário informou no início; 6. Na inclusão de um evento é obrigatório o preenchimento das variáveis: evento, tipo, data e hora; 7. Só poderão ser cadastrados 5 eventos no mesmo dia; 8. Quando um feriado for cadastrado, não poderão ser cadastrados eventos escolares e/ou médicos no mesmo dia; 9. Para efeitos de organização, o programador poderá incluir novas variáveis na estrutura; 10. No hora do evento, o programa deverá apresentar uma mensagem de texto e sonora alertando o evento; 11. Para criação da estrutura, utilizar struct evento agenda[365]; 12. Não serão consideradas (corrigidas) as cópias de código; 13. Na avaliação serão observados os critérios de originalidade, eficiência do código, telas de apresentação do menu e das listagens e a utilização correta dos comandos em C. Sugestão: para salvar a agenda em arquivo e posterior leitura, utilizar os comandos fread() e fwrite().
  9. void inputData(){ FILE* arquivo; REGISTRO ctt; arquivo = fopen("registro.txt", "ab"); if(arquivo == NULL){ printf("Arquivo não encontrado ou arquivo inexistente.\n\n"); } else{ do{ if (contador <=5){ cabecalho(); fflush(stdin); printf("Digite o nome: "); gets(ctt.nome); fflush(stdin); printf("Digite a matricula: "); gets(ctt.matri); printf("Digite o RA: "); scanf("%d",&ctt.ra); fflush(stdin); printf("Digite a extensão do arquivo: "); gets(ctt.extensao); fwrite(&ctt, sizeof(REGISTRO), 1, arquivo); }else{ printf("Você já registrou 5 alunos.") } printf("Deseja continuar(s/n)?"); }while(getche() == 's'); fclose(arquivo); getch(); } }
  10. Tenho esse código em C que permite adicionar no inicio e no fim da lista e remover do inicio da lista, precisava criar um método para remover do fim da lista, porém não estou conseguindo, alguém pode me ajudar? typedef struct abstracao { int valor; struct abstracao *prox; }lista; lista *inicio; lista *aux; lista *fim; int op, x, contador; void InserirInicio(int a) { printf(" ---- -INSERIR- ----"); struct abstracao *novo = malloc(sizeof(struct abstracao)); novo->valor = a; if (inicio ==NULL) { inicio = novo; fim = novo; fim->prox = NULL; } else { novo->prox = inicio; inicio = novo; } contador++; } void Apresentar() { if(inicio == NULL) printf("Lista esta VAZIA.\n"); else { aux = inicio; printf("\n"); while(aux!=NULL) { printf(" %d - ", aux->valor); aux = aux->prox; }printf("\n"); printf("Quantidade de elemento da lista: %d\n", contador); } } void RemoverInicio() { aux = inicio; inicio = aux->prox; free(aux); aux = inicio; } void InserirFinal(int a) { printf(" ---- - INSERIR- ----\n"); struct abstracao *novo = malloc(sizeof(struct abstracao)); novo->valor = a; if(inicio==NULL) { inicio = novo; fim = novo; fim->prox = NULL; } else { fim->prox = novo; fim=novo; fim->prox = NULL; } } void main() { inicio = NULL; aux = NULL; do { printf(" --- Digite uma opção para lista --- \n"); printf("1 - Inserir no INICIO\n"); printf("2 - Apresentar\n"); printf("3 - Remover\n"); printf("4 - Inserir FINAL\n"); printf("5 - Remover FINAL\n"); scanf("%d", &op); switch(op) { case 1: { printf("Digite um valor para inserir na lista: \n"); scanf("%d", &x); InserirInicio(x); }break; case 2: { Apresentar(); }break; case 3: { RemoverInicio(); }break; case 4: { printf("Digite um valor para inserir na lista: \n"); scanf("%d", &x); InserirFinal(x); }break; case 5: { RemoverFinal(); } } }while (op<6); }
  11. //INICIO #include <xc.h> // CONFIG #pragma config FOSC = HS #pragma config WDTE = OFF #pragma config PWRTE = OFF #pragma config BOREN = OFF #pragma config LVP = OFF #pragma config CPD = OFF #pragma config WRT = OFF #pragma config CP = OFF #define _XTAL_FREQ 4000000 int display(int numero); int C1 = 0, C2 = 0; void __interrupt() tratamento_interrupcao(void) { static int contador = 0; static int led = 1, sel_display = 1; if (INTCONbits.TMR0IF == 1) { // Reset flag after overflow INTCONbits.TMR0IF = 0; TMR0 = 131; contador++; if (contador == 125) { contador = 0; led = !led; PORTDbits.RD0 = led; } //Atualização dos Displays sel_display = !sel_display; if (sel_display == 1) { PORTDbits.RD1 = 1; PORTDbits.RD2 = 0; PORTC = display(C2); } else { PORTDbits.RD1 = 0; PORTDbits.RD2 = 1; PORTC = display(C1); } } if (INTCONbits.INTF == 1) { INTCONbits.INTF = 0; C1++; if (C1 == 10) { C1 = 0; C2++; } if (C2 == 10) { C1 = 0; C2 = 0; } __delay_ms(50); } } void main(void) { //Inicialização e configuração TRISC = 0x00; //Saídas TRISD = 0X00; //Saídas TRISBbits.TRISB0 = 1; //Entrada TRISBbits.TRISB1 = 1; //Entrada // Configuração do Timer0 // Select timer mode OPTION_REGbits.T0CS = 0; OPTION_REGbits.PSA = 0; // Set Prescaler to 64 OPTION_REGbits.PS = 0b101; // Configura o valor inicial TMR0 = 131; // Habilita Timer0 interrupt INTCONbits.TMR0IE = 1; // Habilita External interrupt INTCONbits.INTF = 1; INTCONbits.INTF = 0; // Habilita global interrupt INTCONbits.GIE = 1; while(1){ } } int display(int numero) { switch (numero) { case 0: return 0x3F; break; case 1: return 0x06; break; case 2: return 0x5B; break; case 3: return 0x4F; break; case 4: return 0x66; break; case 5: return 0x6D; break; case 6: return 0x7D; break; case 7: return 0x07; break; case 8: return 0x7F; break; case 9: return 0x6F; break; defaut: return 0x00; break; } } Quem pode me ajudar, preciso implementar um contador de fluxo de pessoas, com incremento quando entra uma pessoa por um porta e decremento quando sai por outra porta.
  12. Olá pessoas, acabei tendo dificuldades em representar o programa que tem de ter arquivo e mostrar na tela o conteúdo do texto e em seguida mostrar ele em maiúsculo, por gentileza se puderem fazer as alterações necessárias pra uma melhor compreensão eu ficaria grato. #include <stdio.h> #include <stdlib.h> int main(void) { FILE *fptr; short int ch ; if ((fptr = fopen("arqtext.txt","r")) == NULL) { puts(" não foi possivel abrir o arquivo"); system("pause"); } while (( ch = fgetc(fptr)) != EOF) printf(" %c",ch); printf(" em maiusculo : %s",strupr(ch)); fclose(fptr); return 0; }
  13. Tozzi

    strings

    hello, could someone help me with a string exercise? the exercise is in C Write a program that receives an N> 0 value that indicates the amount of electronic products. Next, ask the user to provide the names of these N> 0 devices and count how many of these names are the same, regardless of whether they are written in letters upper or lower case. The program ends when one of the names receives the value 0 (zero).
  14. Boa noite a todos, Preciso de uma ajudinha em um exercício em C. Segue abaixo. O dono da loja “Bugigangas e Cia Ltda” compra um determinado produto para revender. O valor de revenda é calculado da seguinte forma: se o comerciante pagar menos de R$ 20,00 pelo produto, ele deseja obter um lucro de 55%; se o valor de compra é maior ou igual a R$ 20,00, o valor de revenda é tal que o comerciante deseja um lucro de 40%. Em ambos os casos, o programa deve calcular o valor do imposto que é 17% a ser pago a partir do preço de revenda. Com base nestes dados, construa um programa que, leia o valor de compra de um produto e calcule e escreva o valor de compra, o valor de revenda do produto e o valor do imposto.
  15. Projeto Calendário Permanente (veja a imagem abaixo): Como eu faço? Abaixo está um código base para você. As matrizes A1, A2, B e C já estão preenchidas. Você implementará a função procurarLinha, que varre uma matriz, em busca de um valor, e retorna somente a linha em que encontrou o elemento. Adicionalmente, precisará terminar o main: -Com base no ano, decida se vai fazer a primeira pesquisa em A1 (ano até 2000) ou A2 (a partir de 2001). Use para a pesquisa somente os últimos dois dígitos do ano (para isso você pode usar o resto da divisão inteira por 100: ano%100). Esta pesquisa é feita com a chamada da função procurarLinha; só interessa saber em que linha da matriz está este ano. -Use a linha achada acima e a coluna correspondente ao mês para ler um valor da matriz B. -Some o valor lido da matriz B ao dia: esta soma deverá ser procurada na matriz C, com a chamada da função procurarLinha; só interessa saber em que linha da matriz está esta soma. Esta linha contém o dia da semana correspondente a data em questão: 0 para domingo, 1 para segunda, 2 para terça, 3 para quarta, 4 para quinta, 5 para sexta e 6 para sábado. Exemplo numérico para melhorar o entendimento: vamos descobrir que dia da semana corresponde a 01/09/2018: 1) 2018 > 2000, então procuro 18 na matriz A2: está na 10ª linha. 2) Na matriz B, 10ª linha, coluna correspondente ao mês de Setembro, leio o número 6. 3) Somo 6 mais o dia (1), obtendo 7. 4) Procuro em que linha da matriz C existe o número 7: última linha, correspondente à Sábado!! Código de apoio: #include <stdio.h> #include <locale.h> int procurarLinha(int L, int C, int mat[L][C], int proc) { //aqui você completa .... //esta função retorna a linha em que proc aparece na matriz for(....) { for(...) { if(...) { } } } } //Calendário permanente de 1901 a 2092 int A1[28][4], A2[28][4]; int B[28][12]= {{4,0,0,3,5,1,3,6,2,4,0,2}, {5,1,1,4,6,2,4,0,3,5,1,3}, {6,2,2,5,0,3,5,1,4,6,2,4}, {0,3,4,0,2,5,0,3,6,1,4,6}, {2,5,5,1,3,6,1,4,0,2,5,0}, {3,6,6,2,4,0,2,5,1,3,6,1}, {4,0,0,3,5,1,3,6,2,4,0,2}, {5,1,2,5,0,3,5,1,4,6,2,4}, {0,3,3,6,1,4,6,2,5,0,3,5}, {1,4,4,0,2,5,0,3,6,1,4,6}, {2,5,5,1,3,6,1,4,0,2,5,0}, {3,6,0,3,5,1,3,6,2,4,0,2}, {5,1,1,4,6,2,4,0,3,5,1,3}, {6,2,2,5,0,3,5,1,4,6,2,4}, {0,3,3,6,1,4,6,2,5,0,3,5}, {1,4,5,1,3,6,1,4,0,2,5,0}, {3,6,6,2,4,0,2,5,1,3,6,1}, {4,0,0,3,5,1,3,6,2,4,0,2}, {5,1,1,4,6,2,4,0,3,5,1,3}, {6,2,3,6,1,4,6,2,5,0,3,5}, {1,4,4,0,2,5,0,3,6,1,4,6}, {2,5,5,1,3,6,1,4,0,2,5,0}, {3,6,6,2,4,0,2,5,1,3,6,1}, {4,0,1,4,6,2,4,0,3,5,1,3}, {6,2,2,5,0,3,5,1,4,6,2,4}, {0,3,3,6,1,4,6,2,5,0,3,5}, {1,4,4,0,2,5,0,3,6,1,4,6}, {2,5,6,2,4,0,2,5,1,3,6,1}}; int C[7][6]; int main() { int l,c,x; //populando a tabela A1 x=-3; for(c=0;c<4;c++) for(l=0;l<28;l++, x++) if(x<1) A1[l][c]=-1; else if(x<100) A1[l][c]=x; else if(x==100) A1[l][c]=0; else A1[l][c]=-1; //populando a tabela A2 x=-19; for(c=0;c<4;c++) for(l=0;l<28;l++, x++) if(x<1) A2[l][c]=-1; else A2[l][c]=x; //populando a tabela C x=1; for(c=0;c<6;c++) for(l=0;l<7;l++, x++) if(x>37) C[l][c]=-1; else C[l][c]=x; int dia, mes, ano, resposta, linha; setlocale(LC_ALL, "Portuguese"); printf("\nEntre com uma data no formato DD/MM/AAAA: "); scanf("%d/%d/%d", &dia, &mes, &ano); if(ano<1901 || ano>2092) printf("Erro!! O ano deve ser de 1901 a 2092.\n"); //aqui você completa ...... //decida se vai usar A1 ou A2 //extraia os dois últimos dígitos para procurar em A1 ou A2 -----> encontrei uma linha para olhar na matriz B //com o mês eu terei uma coluna na matriz B (Janeiro é mês 1 mas corresponde à coluna 0, Fevereiro é mês 2 mas corresponde à coluna 1, ........Dezembro corresponde à coluna 11) //some o dia fornecido com o valor encontrado na matriz B //procure este último cálculo na matriz C ------> linha linha == 0 ---> Domingo // linha == 1 ---> Segunda // .... // linha == 6 ---> Sábado// return 0; }
  16. #include <stdio.h> #include <stdlib.h> typedef struct { int valor; struct Registro * prox; }Registro; typedef struct{ Registro *inicio; int tamanho; }Lista; Lista * criarLista(){ Lista *l = malloc(sizeof(Lista)); l->inicio = NULL; l->tamanho = 0; return l; } Registro * criarRegistro(int valor){ Registro *r = (Registro *) malloc(sizeof(Registro)); r->valor = valor; r->prox = NULL; return r; } void inserirLista(Lista *L, int valor){ Registro * r = criarRegistro(valor); if(L->tamanho == 0){ L->inicio = r; }else{ r->prox = L->inicio; L->inicio = r; } L->tamanho++; } void teste(Lista *L){ int v1 = L->inicio->valor; int v2 = L->inicio->prox->valor; } int main() { Lista *L = criarLista(); inserirLista(L,10); inserirLista(L,20); teste(L); return 0; }
  17. não consegui fazer com que ele gere o token com letra e número aleatório, nem passar o valor desse token pro primeiro registro (tokenGerado) devido a concatenação também, por isso o segundo registro está em char, porque assim eu podia usar strcat, mas não deu certo. ``` #include <stdio.h> #include <string.h> #include <stdlib.h> typedef struct{ char tokenGerado; int idPessoaGerou; float dataGerado; char TextoDoDocumento[100]; }PessoaToken; typedef struct{ char numeroAleatorio; char letraAleatoria; char diaTokenGerado; char mesTokenGerado; char anoTokenGerado; }Token; int main() { char letras[26] = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'}; Token tok; PessoaToken pessoa; printf("Dia token gerado: \n"); scanf("%s", &tok.diaTokenGerado); //printf("%s\n", &tok.diaTokenGerado); printf("Mes token gerado: \n"); scanf("%s", &tok.mesTokenGerado); //printf("%s\n", &tok.mesTokenGerado); printf("ano token gerado: \n"); scanf("%s", &tok.anoTokenGerado); //printf("%s\n", &tok.anoTokenGerado); tok.numeroAleatorio = rand() % 10; int i = rand() % 23; printf("%d i valor\n",i); printf("%c letra do array",letras[i]); tok.letraAleatoria = letras[i]; printf("%c numero\n", &tok.numeroAleatorio); printf("%c letra\n", &tok.letraAleatoria); /*strcpy(pessoa.tokenGerado,tok.diaTokenGerado); strcat(pessoa.tokenGerado, tok.numeroAleatorio); strcat(pessoa.tokenGerado, tok.mesTokenGerado); strcat(pessoa.tokenGerado, tok.letraAleatoria); strcat(pessoa.tokenGerado, tok.anoTokenGerado); puts(pessoa.tokenGerado);*/ return 0; } ```
  18. Estou com dificuldades na questão abaixo: O usuário deve indicar uma posição dentro da matriz, e o programa deve informar a soma dos valores do ponto inicial (0,0) até ao ponto informado pelo usuário. A movimentação será deve ser feita por linhas. Exemplo: Usuário informou posição (1,1), para a matriz na imagem abaixo, o programa irá retornar o valor igual a 21, que é a soma dos valores 1 + 2 + 3 + 4 + 5 + 6. não estou conseguindo fazer 😞 #include <stdio.h> int main() { int matriz[4][3], i, j; for(i=0;i<4;i++){ for(j=0;j<3;j++){ printf("Linha[%d]Coluna[%d]= ", j, i); scanf("%d",&matriz[i][j]); } } for(i=0;i<4;i++){ for(j=0;j<3;j++){ printf("%d ",matriz[i][j]); } printf("\n"); } for(i=0;i<4;i++){ for(j=0;j<3;j++){ matriz[4][3]=matriz[4][3]+matriz[i][j]; } } for(i=0;i<4;i++){ for(j=0;j<3;j++){ printf("%d", matriz[i][j]); } printf("\n"); } return 0; }
  19. Qualquer número natural de quatro algarismos pode ser dividido em duas dezenas formadas pelos seus dois primeiros e dois últimos dígitos. Exemplos: 1297: 12 e 97. 5314: 53 e 14. Escreva um programa que imprime todos os milhares (4 algarismos) cuja raiz quadrada seja a soma das dezenas formadas pela divisão acima. Exemplo: raiz de 9801 = 99 = 98 + 01. Portanto 9801 é um dos números a ser impresso. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 #include <stdio.h> int main(){ int i,d1,d2; for(i = 1000; i <= 9999; i += 1){ d1 = i%100; d2 = i/100; if( (d1+d2)*(d1+d2) == i ) printf("%d\n",i); } return 0; }
  20. Eu estou fazendo um cadastro escolar onde eu crio uma lista duplamente encadeada circular para inserir os alunos, e uma lista simplesmente encadeada para inserir uma disciplina do aluno. Na parte de cadastrar aluno deu tudo certo, mas na hora de inserir a lista de disciplina na lista do aluno selecionado da erro. Quem puder me ajudar eu agradeço. Segue o código: aluno.h #ifndef ALUNO_H_INCLUDED #define ALUNO_H_INCLUDED typedef struct DisciplinasListas { char nome[100]; struct DisciplinasListas * prox; }Disciplina; struct AlunosLista{ char nome[100], dataNascimento[11],matricula[10]; Disciplina * disciplinas; struct AlunosLista * next; struct AlunosLista * prev; }; void cadastrarAluno(); void imprimirLista(); void cadastrarDisciplinas(); struct AlunosLista * buscaAluno(char *); #endif main.c #include <stdio.h> #include <stdlib.h> #include <string.h> #include <stdbool.h> #include "aluno.h" typedef struct AlunosLista node; node *head = NULL, *tail = NULL; void cadastrarAluno() { node *newNode = (node *) malloc(sizeof(node)); printf("\nForneca a matricula: "); fgets(newNode->matricula,10,stdin); setbuf(stdin,NULL); printf("\nForneca o nome: "); fgets(newNode->nome,100,stdin); setbuf(stdin,NULL); printf("\nForneca a data de nascimento: "); fgets(newNode->dataNascimento,11,stdin); setbuf(stdin,NULL); newNode->disciplinas=NULL; newNode->next = newNode; newNode->prev = newNode; if(head==NULL) { head = newNode; tail = newNode; } else { tail->next = newNode; newNode->next = head; newNode->prev = tail; tail = newNode; head->prev = tail; } } void imprimirLista() { if(head==NULL) return; node *current = head; do { printf("\n%s", current->matricula); Disciplina *currentDisc = current->disciplinas; do { printf("\n%s", currentDisc->nome); currentDisc = currentDisc->prox; } while(currentDisc != current->disciplinas); current = current->next; } while(current != head); } struct AlunosLista * buscaAluno(char matricula[]) { if(head==NULL) return; node *current = head; do { if(!strcmp(current->matricula,matricula)) { return current; current = current->next; } } while(current != head); return 0; } void cadastrarDisciplinas() { char disciplina[100], matricula[10]; if(head==NULL) return; printf("\nForneça a matricula do aluno:"); fgets(matricula,10,stdin); setbuf(stdin,NULL); struct AlunosLista *busca = buscaAluno(matricula); if(busca!=0) { printf("\nForneça o nome da disciplina:"); fgets(disciplina,100,stdin); setbuf(stdin,NULL); node *current = head; do { if(current==busca) { if (!strcmp(current->matricula,matricula)) { Disciplina * lDisciplina = (Disciplina *)malloc(sizeof(Disciplina)); strcpy(lDisciplina->nome,disciplina); lDisciplina->prox = current->disciplinas; current->disciplinas->prox = lDisciplina; break; } } current = current->next; } while(current != head); } else printf("\nAluno inexistente!!!"); } int main(){ int opcao; do{ printf("\n1-cadastrar aluno"); printf("\n2-cadastrar disciplinas do aluno"); printf("\n3-listar"); printf("\n4-sair"); printf("\nForneca a sua opcao: "); scanf("%d",&opcao); setbuf(stdin,NULL); switch(opcao){ case 1: cadastrarAluno(); break; case 2: cadastrarDisciplinas(); break; case 3: imprimirLista(); break; } }while(opcao!=4); return 0; }
  21. Olá pessoal, to começando a programa e me indicaram o VS Code, podem está dando erro na hora de compilar. Estou começando a programar em C, sempre que peço para o programa compilar aparece que deu erro, alguém poderia me ajudar???
  22. Boa noite, alguém pode me ajudar a colocar a opção excluir nesse código, tem que procurar pelo nome da pessoa e fazer a exclusão, segue o que eu conseguir fazer até agora. Eu até coloquei a opção excluir ali mas não ta funcionando. #include<stdio.h> #include<stdlib.h> #include<string.h> #include <locale.h> struct stNo { int info, idade, celular; char nome[100],endereco[100], sexo, cidade[80], email[40]; struct stNo *prox; }; struct stNo *cria_no() { struct stNo *p; if ((p = (struct stNo *) malloc(sizeof(struct stNo))) == NULL) return NULL; else { p->prox = NULL; return p; } } void insereLista(struct stNo **list){ struct stNo *p,*q; int n, idade, celular; char name[100], endereco[100], sexo, cidade[80], email[40]; fflush(stdin); printf("\nDigite o valor do nó:"); scanf("%i",&n); fflush(stdin); printf("\nDigite o nome:"); gets(name); fflush(stdin); //printf("\nDigite o seu sexo [F][M]:"); //scanf("%c",&sexo); //fflush(stdin); //printf("\nDigite sua idade:"); //scanf("%i",&idade); //fflush(stdin); //printf("\nDigite seu endereço:"); //gets(endereco); //fflush(stdin); //printf("\nDigite sua cidade:"); //gets(cidade); //fflush(stdin); //printf("\nDigite seu celular:"); //scanf("%i",&celular); //fflush(stdin); //printf("\nDigite seu e-mail:"); //gets(email); //fflush(stdin); if(*list==NULL){ //lista vazia p = cria_no(); *list = p; p->prox = NULL; p->info = n; strcpy(p->nome,name); p->sexo=sexo; p->idade=idade; strcpy(p->endereco,endereco); strcpy(p->cidade,cidade); p->celular=celular; strcpy(p->email,email); } else{ p=*list; while(p->prox!=NULL) p=p->prox;// posiciona no final da lista q = cria_no(); p->prox = q; q->prox = NULL; q->info = n; strcpy(q->nome,name); *list = q; }; }; void mostraLista(struct stNo **list){ struct stNo *p; if(*list!=NULL){ p=*list; while(p->prox!=NULL){ printf(" %d->",p->info); p = p->prox; }; printf(" %d->",p->info); } else printf("\nLista Vazia"); }; void excluirLista(struct stNo **list){ struct stNo *p,*q; int n; char name[100]; if(*list!=NULL){ //lista vazia p = *list; while (p->prox!=NULL && strcmp(p->nome, name) != 0) { p = p->prox; }; if(strcmp(p->nome, name) == 0){ printf("\nCódigo: %d",p->info); printf("\nNome: %s",p->nome); if(p->prox==NULL){ free(p); *list =NULL; }else{ while(p->prox!=NULL){ q=p; p=p->prox; } q->prox=NULL; free(p); else{ q=p->prox; free(p); *list=q; } else{ q->prox=NULL; free(p); } }else{ printf("\nLista Vazia"); } }; void visualizarLista(struct stNo **list){ struct stNo *p; int n; char name[100]; fflush(stdin); printf("\nDigite o nome:"); gets(name); fflush(stdin); if (*list!=NULL) { p = *list; while (p->prox!=NULL && strcmp(p->nome, name) != 0) { p = p->prox; }; if(strcmp(p->nome, name) == 0){ printf("\nCódigo: %d",p->info); printf("\nNome: %s",p->nome); //printf("\nSexo: %c",p->sexo); //printf("\nIdade: %d",p->idade); //printf("\nEndereço: %s",p->endereco); //printf("\nCidade: %s",p->cidade); //printf("\nCelular: %i",p->celular); //printf("\nE-mail: %s",p->email); }; } else printf("\nLista Vazia"); }; main(){ setlocale(LC_ALL,"Portuguese"); struct stNo *lista; int menu; lista = NULL; // inicializando a lista vazia do{ system("cls"); printf("\n"); mostraLista(&lista); printf("\n\n"); printf("[1-Inserir] "); printf("[2-Visualizar] "); printf("[3-Excluir] "); printf("[4-Sair] "); printf("Opção:"); scanf("%i",&menu); switch(menu){ case 1 : insereLista(&lista); break; case 2 : visualizarLista(&lista); break; case 3 : excluirLista(&lista); break; case 4 : printf("\nSaindo..."); break; default: printf("\nCódigo Inválido"); } printf("\n");system("pause"); }while(menu!=3); }
  23. Boa noite, alguém pode me ajudar a colocar a opção excluir nesse código, tem que procurar pelo nome da pessoa e fazer a exclusão, segue o que eu conseguir fazer até agora. Eu até coloquei a opção excluir ali mas não ta funcionando. #include<stdio.h> #include<stdlib.h> #include<string.h> #include <locale.h> struct stNo { int info, idade, celular; char nome[100],endereco[100], sexo, cidade[80], email[40]; struct stNo *prox; }; struct stNo *cria_no() { struct stNo *p; if ((p = (struct stNo *) malloc(sizeof(struct stNo))) == NULL) return NULL; else { p->prox = NULL; return p; } } void insereLista(struct stNo **list){ struct stNo *p,*q; int n, idade, celular; char name[100], endereco[100], sexo, cidade[80], email[40]; fflush(stdin); printf("\nDigite o valor do nó:"); scanf("%i",&n); fflush(stdin); printf("\nDigite o nome:"); gets(name); fflush(stdin); //printf("\nDigite o seu sexo [F][M]:"); //scanf("%c",&sexo); //fflush(stdin); //printf("\nDigite sua idade:"); //scanf("%i",&idade); //fflush(stdin); //printf("\nDigite seu endereço:"); //gets(endereco); //fflush(stdin); //printf("\nDigite sua cidade:"); //gets(cidade); //fflush(stdin); //printf("\nDigite seu celular:"); //scanf("%i",&celular); //fflush(stdin); //printf("\nDigite seu e-mail:"); //gets(email); //fflush(stdin); if(*list==NULL){ //lista vazia p = cria_no(); *list = p; p->prox = NULL; p->info = n; strcpy(p->nome,name); p->sexo=sexo; p->idade=idade; strcpy(p->endereco,endereco); strcpy(p->cidade,cidade); p->celular=celular; strcpy(p->email,email); } else{ p=*list; while(p->prox!=NULL) p=p->prox;// posiciona no final da lista q = cria_no(); p->prox = q; q->prox = NULL; q->info = n; strcpy(q->nome,name); *list = q; }; }; void mostraLista(struct stNo **list){ struct stNo *p; if(*list!=NULL){ p=*list; while(p->prox!=NULL){ printf(" %d->",p->info); p = p->prox; }; printf(" %d->",p->info); } else printf("\nLista Vazia"); }; void excluirLista(struct stNo **list){ struct stNo *p,*q; int n; char name[100]; if(*list!=NULL){ //lista vazia p = *list; while (p->prox!=NULL && strcmp(p->nome, name) != 0) { p = p->prox; }; if(strcmp(p->nome, name) == 0){ printf("\nCódigo: %d",p->info); printf("\nNome: %s",p->nome); if(p->prox==NULL){ free(p); *list =NULL; }else{ while(p->prox!=NULL){ q=p; p=p->prox; } q->prox=NULL; free(p); else{ q=p->prox; free(p); *list=q; } else{ q->prox=NULL; free(p); } }else{ printf("\nLista Vazia"); } }; void visualizarLista(struct stNo **list){ struct stNo *p; int n; char name[100]; fflush(stdin); printf("\nDigite o nome:"); gets(name); fflush(stdin); if (*list!=NULL) { p = *list; while (p->prox!=NULL && strcmp(p->nome, name) != 0) { p = p->prox; }; if(strcmp(p->nome, name) == 0){ printf("\nCódigo: %d",p->info); printf("\nNome: %s",p->nome); //printf("\nSexo: %c",p->sexo); //printf("\nIdade: %d",p->idade); //printf("\nEndereço: %s",p->endereco); //printf("\nCidade: %s",p->cidade); //printf("\nCelular: %i",p->celular); //printf("\nE-mail: %s",p->email); }; } else printf("\nLista Vazia"); }; main(){ setlocale(LC_ALL,"Portuguese"); struct stNo *lista; int menu; lista = NULL; // inicializando a lista vazia do{ system("cls"); printf("\n"); mostraLista(&lista); printf("\n\n"); printf("[1-Inserir] "); printf("[2-Visualizar] "); printf("[3-Excluir] "); printf("[4-Sair] "); printf("Opção:"); scanf("%i",&menu); switch(menu){ case 1 : insereLista(&lista); break; case 2 : visualizarLista(&lista); break; case 3 : excluirLista(&lista); break; case 4 : printf("\nSaindo..."); break; default: printf("\nCódigo Inválido"); } printf("\n");system("pause"); }while(menu!=3); }
  24. Gente estou começando a estudar linguagem em c/c++, e to com uma duvida, eu consigo usar uma variavel char em uma função for, estou tentatndo fazer com que para executar o resta do codigo o usuario precise se manifestar com seu nome e senha, o nome e senha preciso que seja em caracter, pois em numero fica chato kkkk, tentei fazer com variavel int e deu certo, mas ainda fica minha duvida, alguém pode me dar uma força? Obrigado!!!
  25. Um amigo meu esta impossibilidade de usar o seu computador e esta com algumas dificuldades no final do seu semestre. Como eu estou de férias estou tentando ajudar ele com um programa, porém nem sei como começar. Ficaria muito grato se alguém pudesse dar uma ajuda, fazer uma partezinha do programa.... Muito Obrigado! Segue a proposta: Modelo DLA utiliza uma rede quadrada (matriz n × n com n > 100). 1. Cria uma lista de sitios ocupados ao redor do centro da rede (utilize uma matriz com zeros (vazio) e uns (ocupado)). 2. Determine aleatoreamente um sitio da rede que não é vizinho do agregado (utiliza a função rand()). 3. Iniciando o movimento neste sitio seguindo um movimento aleatorio ate a partícula sai do quadro (os elementos matricias com indices minimos ou máximos) ou se encontra na vizinhança de uma partícula do agregado (utilize a função rand() para mover um passo para cima ou para baixo ou para esquerda ou para a direita). 4. No caso que a partícula encontrou um lugar vizinho ao agregado atualize o agregado incluindo o novo sitio (os novos indices do elemento da matriz). 5. Execute a sequencia dos passos 2 at´e 4 at´e o comprimento da lista dos sitios ocupados alcance o valor n.
×
×
  • Criar Novo...