Ir para conteúdo
Fórum Script Brasil

Pesquisar na Comunidade

Mostrando resultados para as tags ''c', 'c++', 'palavra', 'string', 'caractere', 'contagem', 'programa', 'tutorial', 'ajuda', 'dicas', 'contar' ou 'contador''.

  • 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. Bom dia a todos. Quando executo o código abaixo só imprime o valor armazenado no primeiro nó. A função insere o nó no início da lista. Estou usando Xcode em um macbook Air. Alguém sabe qual o bug? #include <stdio.h> #include <stdlib.h> // definição do tipo Lista. struct Lista{ int valor; struct Lista * proximo; }; // função insere_iniciio(). struct Lista* insere_inicio(struct Lista* n, int valor){ // declaração de variáveis. struct Lista* novo; if (n == NULL) { // se a lista estiver vazia. n = (struct Lista*)malloc(sizeof(struct Lista)); n->valor = valor; n->proximo = NULL; // por ser o primeiro nó não deve apontar. return n; }else{ // se a lista não estiver vazia. novo = (struct Lista*)malloc(sizeof(struct Lista)); novo->valor = valor; novo->proximo = n; return novo; } } int main(){ // declaração de variáveis. int valor; struct Lista* inicio; struct Lista* novo; struct Lista* temp; // aloca memória para a lista. inicio = (struct Lista*)malloc(sizeof(struct Lista)); // inicializa a estrutura. inicio->valor = 20; inicio->proximo = NULL; // limpa o console. system("clear"); printf("Informe o valor para armazenar na lista: "); scanf("%d", &valor); // chamada para a função insere_inicio(). novo = insere_inicio(inicio, valor); temp = novo; while (temp->proximo != NULL) { printf("Valor armazenado: %d\n", temp->valor); temp = temp->proximo; } return 0; }
  2. 1) Escrever uma função em C que: receba dois strings como parâmetro, bem como um valor inteiro representando uma posição; insira o segundo string no primeiro, na posição indicada pelo valor. No programa principal leia os dois strings, o valor da posição, passe para a função descrita acima e escreva o resultado na tela. 2) Desenvolva uma função em C, que recebe como parâmetros um inteiro n e duas matrizes quadradas reais X e Y de ordem n, sendo a dimensão n lida do teclado. Esta função calcula soma das matrizes X e Y . Escreva no módulo principal, a matriz gerada na função. 3) Escreva um programa que solicite ao usuário o número de notas a serem digitadas, crie uma matriz, com a dimensão especificada, para armazenar as entradas, solicite as notas e chame um função que retorne a média aritmética das notas. Após imprimir a média, o programa libera a memória alocada para a matriz . 4) Escreva uma função que inverta a ordem dos caracteres de uma cadeia de caracteres que ela recebe como argumento. Use ponteiro. Exemplo: ’Saudações’ resulta ’seõçaduaS’
  3. Olá, sou novato no fórum. Peço desculpas antecipadas se o local para postar esta dúvida não for aqui. Desenvolvo aplicações utilizando o MATLAB , R e o C++. No entanto, estou querendo realmente aprender sobre C++. Alguém poderia me orientar sobre coisas básicas, como por exemplo, qual versão utilizar em desktop, notebook. Utilizo WINDOWS 7. Que literatura devo obrigatoriamente consultar. Quero realmente me aprimorar. Obrigado.
  4. não converte o codigo na hora de ir de binario para hexa ou etc #include <stdio.h> #include <math.h> #include <stdlib.h> #define SIZE 255 #define ALG 17 int number,opcao; // Esta função converte um número decimal para a base 2, 8 ou 16. // Recebe como parâmetro um número decimal (num_dec), e a base (base) cujo número será convertido. void decToBase(int num_dec, int base) { char resto[ALG] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'}, num_conv; int indx = 0; // Este loop realiza as operações de divisão. Os restos são guardados no vetor 'num_conv' while(num_dec > 0) { num_conv[indx] = resto[num_dec % base]; num_dec /= base; indx++; } // Exclui o caractere especial '\0' do final da string indx -= 1; // Utilizado para identificar a saída do programa switch(base) { case 2 : printf("BINÁŔIO: "); break; case 8 : printf("OCTAL: "); break; case 16 : printf("HEXADECIMAL: "); break; } // Inverte a string contida no vetor num_conv for(indx; indx >= 0; indx--) printf("%c", num_conv[indx]); printf("\n"); switch(opcao) { int num_salva; case 2: if(base=2) { for(indx; indx >= 0; indx--) { number+=num_conv[indx]; } } break; case 3: if(base=8) { for(indx; indx >= 0; indx--) { number+=num_conv[indx]; } } break; case 4: if(base=16) { for(indx; indx >= 0; indx--) { number+=num_conv[indx]; } } break; } } // Esta função permite converter um número na base 2, 8 ou 16 para a base decimal. // Recebe como parâmetro uma string (representação do número), e um número inteiro que // determina em qual base está o número do primeiro parâmetro. void baseToDec(char* num_base, int base) { int indx = 0, exp = 0, cont = 0, dec = 0, num = 0; // Este loop determina o tamanho da string while(num_base[cont] != '\0') { cont++; } // Neste loop, a string é percorrida de trás para frente. Cada caractere é convertido // em um número inteiro, multiplicado pela base elevada ao expoente (0..Comprimento da string) // e somado ao valor da variável 'dec', que recebe as somas sucessivas. for(exp, indx=(cont-1); exp < cont; exp++, indx--) { if(base == 16) { switch(num_base[indx]) { case 'A' : case 'a' : num = 10; break; case 'B' : case 'b' : num = 11; break; case 'C' : case 'c' : num = 12; break; case 'D' : case 'd' : num = 13; break; case 'E' : case 'e' : num = 14; break; case 'F' : case 'f' : num = 15; break; default : num = (int)num_base[indx] - (int)'0'; } } else num = (int)num_base[indx] - (int)'0'; // Aqui avalia se o usuário digitou um número válido ou não! if(num > (base-1) || num < 0) { printf("Você informou um número inválido!\n"); exit(0); } dec += num * pow(base, exp); } // O número convertido para decimal é exibido printf("DECIMAL: %d\n", dec); } // Função que imprime o menu da calculadora void menu(void) { printf("\nBEM-VINDO AO CONVERSOR DE BASES NUMÉRICAS\n"); printf("QUAL OPERAÇÃO DESEJA REALIZAR? \n"); printf("[ 1 ] DECIMAL -> BINARIO, OCTAL e HEXADECIMAL\n"); printf("[ 2 ] BINARIO -> DECIMAL, OCTAL e HEXADECIMAL\n"); printf("[ 3 ] OCTAL -> DECIMAL, BINARIO e HEXADECIMAL\n"); printf("[ 4 ] HEXADECIMAL -> DECIMAL, BINARIO, OCTAL\n"); printf("[ 0 ] SAIR\n"); } // Função que chama as funções correspondentes à opção escolhida void process_calc(int opt) { char str; switch(opt) { case 0 : printf("CALCULADORA ENCERRADA!\n"); exit(0); case 1 : printf("DECIMAL: "); scanf("%d", &number); decToBase(number, 2); decToBase(number, 8); decToBase(number, 16); break; case 2 : printf("BINÁRIO: "); scanf("%s", str); baseToDec(str, 2); decToBase(number, 8); decToBase(number, 16); break; case 3 : printf("OCTAL = "); scanf("%s", str,3); baseToDec(str, 8); decToBase(number, 2); decToBase(number, 16); break; case 4 : printf("HEXADECIMAL = "); scanf("%s", str); baseToDec(str, 16); decToBase(number, 2); decToBase(number, 8); break; default : printf("OPÇÃO NÃO PERMITIDA!\nTENTE NOVAMENTE\n"); break; } } int main(void) { menu(); printf("QUAL OPERAÇÃO DESEJA REALIZAR? "); scanf("%d", &opcao); process_calc(opcao); return 0; }
  5. Exercicio Caixa eletrônico com Notas. Ola, estou tentando fazer um ex. aqui de um caixa eletrônico, onde precisa ser feito o saque apenas com as determinadas notas: 2, 5, 10, 20, 50 e 100 reais. Consegui fazer assim, deu certo até o saque de valor 13, dai pra frente ele entrega os valores impares em notas de 2 e 5 rsrs #include <stdio.h> #include <stdlib.h> int main() { int n100=0,n50=0,n20=0,n10=0,nota5=0,nota2=0; float valor=0; int valor2=0; int op; printf("-> Quanto deseja sacar? R$"); scanf("%f",&valor); valor2=(int) valor; if(valor2%2==0){ while(valor>=100){ valor=valor-100; n100=n100+1; } while(valor>=50){ valor=valor-50; n50=n50+1; } while(valor>=20){ valor=valor-20; n20=n20+1; } while(valor>=10){ valor=valor-10; n10=n10+1; } while(valor>=2){ valor=valor-2; nota2=nota2+1; } } if(valor2%2==1){ if(nota5<=1){ while(valor>=5){ valor=valor-5; nota5=nota5+1; if(nota5>=1){ while(valor>=2){ valor=valor-2; nota2=nota2+1; } break; } } } while(valor>=2){ valor=valor-2; nota2=nota2+1; } } printf("SAQUE:\n"); printf("%d nota(s) de R$ 100.00\n",n100); printf("%d nota(s) de R$ 50.00\n",n50); printf("%d nota(s) de R$ 20.00\n",n20); printf("%d nota(s) de R$ 10.00\n",n10); printf("%d nota(s) de R$ 5.00\n",nota5); printf("%d nota(s) de R$ 2.00\n",nota2); return 0; }
  6. Pessoal, não estou conseguindo resolver o seguinte exercício. 03) Dado o programa: #include <iostream> using namespace std; int main() { cout << "Ola, Mundo!" << endl; return 0; } Sem modificar main(), altere o programa para que a saída seja: Iniciando Ola, Mundo! Finalizando
  7. Se poderem dar uma olhada no código abaixo e me dizer o que está causando o erro, eu agradeço demais ! Aceitos dicas/sugestões para melhorar o código também ! Obs: Estou tentando fazer um jogo da velha. (Ignorem as bibliotecas inúteis .-. ) #include <iostream> #include <stdio.h> //Para função gets #include <stdlib.h> //Para função malloc #include <math.h> #include <iomanip> //JOGO DA VELHA using namespace std; bool x=false,o=false; int jogadas=0; bool verificaX(char *vetor); bool verificaO(char *vetor); int main(){ char casas[3][3]={' ',' ',' ',' ',' ',' ',' ',' ',' '}; int l=0,c=0; while(jogadas<9){ cout << "\t\t" << casas[0][0] << " | " << casas[0][1] << " | " << casas[0][2] << "\n"; cout << "\t\t_________\n"; cout << "\t\t" << casas[1][0] << " | " << casas[1][1] << " | " << casas[1][2] << "\n"; cout << "\t\t_________\n"; cout << "\t\t" << casas[2][0] << " | " << casas[2][1] << " | " << casas[2][2] << "\n\n\n"; cout << "Digite uma linha: "; cin >> l; cout << "Digite uma coluna: "; cin >> c; while(l<=0 || c <=0 || l>3 || c>3){ system("cls"); cout << "Linha ou Coluna não existe!"; cout << "Digite uma linha: "; cin >> l; cout << "Digite uma coluna: "; cin >> c; } system("cls"); if(jogadas%2==0){ casas[--l][--c]='X'; }else{ casas[--l][--c]='O'; } jogadas++; verificaX(&casas); verificaO(&casas); } if(verificaX){ cout << "Jogador X ganhou!"; }else if(verificaO){ cout << "Jogador O ganhou!"; }else{ cout << "Empate!"; } return(0); } bool verificaX(char *vetor){ int l,c; for(l=0;l<3;l++){ if(*vetor[l][0] && *vetor[l][1] && *vetor[l][2] == 'X'){ jogadas=10; return x=true; }else if(*vetor[0][c] && *vetor[1][c] && *vetor[2][c] == 'X'){ jogadas=10; return x=true; } c++; } } bool verificaO(char *vetor){ int l,c; for(l=0;l<3;l++){ if(*vetor[l][0] && *vetor[l][1] && *vetor[l][2] == 'X'){ jogadas=10; return o=true; }else if(*vetor[0][c] && *vetor[1][c] && *vetor[2][c] == 'X'){ jogadas=10; return o=true; } c++; } }
  8. Se poderem dar uma olhada no código abaixo e me dizer o que está causando o erro, eu agradeço demais ! Obs: Estou tentando fazer um jogo da velha. (Ignorem as bibliotecas inúteis .-. ) #include <iostream> #include <stdio.h> //Para função gets #include <stdlib.h> //Para função malloc #include <math.h> #include <iomanip> //JOGO DA VELHA using namespace std; bool x=false,o=false; int jogadas=0; bool verificaX(char *vetor); bool verificaO(char *vetor); int main(){ char casas[3][3]={' ',' ',' ',' ',' ',' ',' ',' ',' '}; int l=0,c=0; while(jogadas<9){ cout << "\t\t" << casas[0][0] << " | " << casas[0][1] << " | " << casas[0][2] << "\n"; cout << "\t\t_________\n"; cout << "\t\t" << casas[1][0] << " | " << casas[1][1] << " | " << casas[1][2] << "\n"; cout << "\t\t_________\n"; cout << "\t\t" << casas[2][0] << " | " << casas[2][1] << " | " << casas[2][2] << "\n\n\n"; cout << "Digite uma linha: "; cin >> l; cout << "Digite uma coluna: "; cin >> c; while(l<=0 || c <=0 || l>3 || c>3){ system("cls"); cout << "Linha ou Coluna não existe!"; cout << "Digite uma linha: "; cin >> l; cout << "Digite uma coluna: "; cin >> c; } system("cls"); if(jogadas%2==0){ casas[--l][--c]='X'; }else{ casas[--l][--c]='O'; } jogadas++; verificaX(&casas); verificaO(&casas); } if(verificaX){ cout << "Jogador X ganhou!"; }else if(verificaO){ cout << "Jogador O ganhou!"; }else{ cout << "Empate!"; } return(0); } bool verificaX(char *vetor){ int l,c; for(l=0;l<3;l++){ if(*vetor[l][0] && *vetor[l][1] && *vetor[l][2] == 'X'){ jogadas=10; return x=true; }else if(*vetor[0][c] && *vetor[1][c] && *vetor[2][c] == 'X'){ jogadas=10; return x=true; } c++; } } bool verificaO(char *vetor){ int l,c; for(l=0;l<3;l++){ if(*vetor[l][0] && *vetor[l][1] && *vetor[l][2] == 'X'){ jogadas=10; return o=true; }else if(*vetor[0][c] && *vetor[1][c] && *vetor[2][c] == 'X'){ jogadas=10; return o=true; } c++; } }
  9. Olá, boa tarde. Estou com duvida sobre o porquê do meu código não rodar. Eu pesquisei na internet e aparentemente ele esta 100%, sem nenhum erro. #include <stdio.h> #include <stdlib.h> void somatorioMedia(float *a, int n, float *somatorio, float *media); int main(){ int i; float a[10]; int n = 10; float *somatorio; *somatorio = 0; float *media; *media = 0; for(i=0; i<10; i++){ printf("n[%i]: ", i); scanf("%f", &a[i]); } somatorioMedia(a, n, somatorio, media); printf("Somatorio: %.2f\n", *somatorio); printf("Media: %.2f", *media); return 0; } void somatorioMedia(float *a, int n, float *somatorio, float *media){ int i; for(i=0; i<n; i++){ *somatorio += a[i]; } *media = *somatorio / n; }
  10. eu acho que é isso :.5f nesse caso teria 5 digitos dpois da virgula, é isso mesmo? também vi com %, caso seja isso mesmo por favor me explique tudo passo a passo(oque o f faz o : e etc)
  11. Desenvolver em C++ um sistema de venda de ingressos de cinema, contendo mapa de sala e conforme o assento selecionado tiver a compra finalizada, não poderá ser vendida novamente. O sistema deverá estar de acordo com as situações reais de compras de ingresso: - Estudantes pagam meia; - Pessoas acima de 60 anos pagam meia; - O filme no qual os ingressos serão vendidos tem a faixa etária de 16 anos, ou seja, se a pessoa tiver menos de 16 anos, não poderá ser vendido o ingresso.
  12. Boa tarde! Esse é o meu primeiro post aqui, então me desculpem por qualquer erro. Eu estou tentando fazer um programa em C para cadastro de alunos. Basicamente ele precisa cadastrar quantos alunos o usuário quiser (máximo 50) e cada aluno possui uma chave (identificação) e três notas (n1, n2, n3). Até o cadastro, parece que deu tudo certo, mas ocorre um erro estranho quando tento apresentar os alunos. O código é o seguinte: #include <stdio.h> #include <stdlib.h> #include <locale.h> #include <malloc.h> #define MAX 50 //Estrutura de Alunos typedef struct{ int chave; int n1; int n2; int n3; }ALUNO; //Lista dinâmica typedef struct{ ALUNO A[MAX]; int qtdAlunos; }LISTA; //Função para iniciar lista void inicia_sistema(LISTA* li){ li->qtdAlunos = 0; printf("\n\nSistema Iniciado!\nVocê tem %d alunos cadastrados.\n--------------------------------------\n\n", li->qtdAlunos); } //Função para cadastrar alunos int cadastra_aluno(LISTA* li, ALUNO al){ int i = li->qtdAlunos; if(li->qtdAlunos == 0){ li->A[0] = al; return 1; }else{ i++; li->A[i] = al; return 1; } return 0; } //Função para listar alunos void lista_aluno(LISTA* li){ int i; for (i=0; i < li->qtdAlunos; i++){ printf("Aluno %d\n", i); printf("Nota 1: %i\n", li->A[i].n1); printf("Nota 2: %i\n", li->A[i].n2); printf("Nota 3: %i\n\n\n", li->A[i].n3); } } int main(){ setlocale(LC_ALL, "Portuguese"); LISTA* li = (LISTA*) malloc(sizeof(LISTA)); ALUNO al[MAX]; int op, cont, result; do{ printf("Pressione para escolher:\n"); printf("1 - Iniciar Sistema\n"); printf("2 - Cadastrar Aluno\n"); printf("3 - Listar Alunos\n"); printf("0 - Sair\n"); scanf("%d", &op); switch(op){ case 1: inicia_sistema(li); break; case 2: system("cls"); printf("Cadastro de Alunos\n\n--------------------------------------\n\n"); printf("Você tem %d alunos cadastrados.\n", li->qtdAlunos); printf("Nota 1: "); scanf("%d", &al[li->qtdAlunos].n1); printf("Nota 2: "); scanf("%d", &al[li->qtdAlunos].n2); printf("Nota 3: "); scanf("%d", &al[li->qtdAlunos].n3); al[li->qtdAlunos].chave = li->qtdAlunos; result = cadastra_aluno(li, al[li->qtdAlunos]); li->qtdAlunos++; if(result > 0){ printf("Aluno cadastrado!\n"); printf("Você tem %d alunos cadastrados.\n\n", li->qtdAlunos); }else{ printf("Aluno não cadastrado!\n"); printf("Você tem %d alunos cadastrados.\n\n", li->qtdAlunos); } break; case 3: system("cls"); printf("Listar Alunos\n\n--------------------------------------\n\n"); lista_aluno(li); break; } }while(op!=0); } A saída, para um caso de 3 alunos cadastrados, está em anexo.
  13. Olá, estou com um exercício da faculdade que não consegui resolver, é um exercício onde preciso utilizar ponteiro para ponteiro em uma struct mas estou muito perdido na sintaxe. o exercício é o seguinte: Faça uma struct com dois campos, uma string para nome e um int para armazenar um número inteiro. Na main peça para o usuário digitar o tamanho do array da struct. Crie uma função para alocar dinamicamente esse array de struct e ler os dados digitados pelo usuário. Faça uma função que verifica os números pares digitados pelo usuário na struct e se o número for par dentro do if se chama outra função para manipular esse número par passando toda a struct, essa função deve receber a struct mas manipular apenas o número par dela e dividi-lo por 2 alterando a struct original. No final o programa deve imprimir na main o array dos números. Eu consegui fazer alocando na própria main, mas dessa forma com uma função separada não consegui. Vou deixar meu código, que deve ter vários erros mas serve pra ilustrar bem o que o exercício pede. #include <stdio.h> #include <stdlib.h> #include <locale.h> struct dados{ char nome[5]; int num; }; typedef struct dados dado; void manipula_um_par(dado **q){ **q.num=**q.num/2; } void manipula_pares(dado **q,int *x){ int i; for(i=0;i<*x;i++){ if(*(*q[i]).num%2==0){ manipula_um_par(&q[i]); } } } void define_structs(int *n, dado *q){ dado *p; int i; p = (dado *) malloc(*n*sizeof(dado)); printf("\n"); for(i=0;i<*n;i++){ printf("Digite o %dº nome: ",i+1); gets(p[i].nome); setbuf(stdin,NULL); printf("Digite o %dº número: ",i+1); scanf("%d", &p[i].num); setbuf(stdin,NULL); printf("\n"); } q=&p; } int main(){ setlocale(LC_ALL, "Portuguese_Brazil"); int n, i; dado **q; printf("Digite o tamanho do vetor de struct: "); scanf("%d",&n); setbuf(stdin,NULL); q = (dado *) malloc(n*sizeof(dado)); define_structs(&n,q); manipula_pares(q,&n); for(i=0;i<n;i++){ printf("%d\n", **q[i].num); } printf("\n"); return 0; }
  14. Estou tentando finalizar um processo, mas o processo-pai acaba relançando ele. Quero que o processo-pai pare de dar fork neste processo. O problema é que o processo pai é o init (então não posso matar ele, e é um processo NÃO É UM SERVIÇO que eu quero matar): init.d fork() quero saber se alguma dessas ideias é viável: fazer um LD_PRELOAD no meu Android para alterar a chamada fork de forma que eu consiga rastrear o processo (se é que existe e não é apenas o ActivityManager ou o systemserver) que está fazendo o init forkar de novo. Algum programa que bloqueie os sinais de parentesco entre o init e o processo que eu quero matar (SIGCHLD) De alguma forma editar o código do programa do processo que eu quero matar (é um binário do sistema) É isso. Qualquer ajuda é bem-vinda :)
  15. Olá, bom dia! Tenho que fazer o seguinte algoritmo: "Construa um programa que receba um número natural positivo n (60 >= n >=1) e a seguir uma lista de n valores inteiros positivos. O programa determina e imprime o tamanho da maior subsequência crescente. Entenda-se por tamanho da subsequência o número de elementos (naturais) que ela apresenta. Observação: Sejam a, b e c valores inteiros. Considere a sequência de valores {a, b, c}, dizemos que uma subsequência de tamanho 2 {a, b} é crescente se a < b ou a = b; assim, se a<=b e b<=c, a subsequência {a, b, c} é crescente e tem tamanho 3. Além disso, o tamanho da menor subsequência de qualquer sequência não vazia é 1 (qualquer valor da sequência é considerado uma subsequência). Exemplos: 1. Entrada: 1 9 Saída: 1 2. Entrada: 3 3 2 1 Saída: 1 3. Entrada: 3 1 1 1 Saída: 3 4. Entrada: 6 1 2 3 4 4 3 Saída: 5 " Eu criei o seguinte algoritmo: #include <stdio.h> int main (){ char vet[100]; int i, cont; scanf("%[^\n]", vet); for (i=0; vet!='\0'; i++) { int cod=(int)vet; if (cod >=48 && cod <=57) { if (cod >= cod-1) { cont++; } } } printf("%d", cont); return 0; } Não sei onde estou errando, não sei se a minha lógica está correta, poderiam me orientar?
  16. Boa noite, eu comecei faz pouco tempo a estudar a linguagem Java (é a primeira que comecei) e para reforçar meus aprendizados e também explorar a programação resolvi começar uma simples janela com caixa de entrada para texto. Porém eu queria também adicionar uma mensagem diferente ao colocar um nome específico como se estivesse fazendo um "login", e se caso não digitasse esse nome aparecesse outra mensagem do tipo "nome não encontrado". Aqui está a cópia do código (não sei se o espaçamento está certo): import javax.swing.JOptionPane; public class Login { public static void main(String args[]) { String nome, Fulano, Ciclano, Beltrano; int idade; idade = 20; JOptionPane.showInputDialog(null, "seu nome", "informativo", 0); if ("Input".equals("Fulano")) { JOptionPane.showMessageDialog(null, "Fulano, a sua idade é de " + idade + " anos"); } else { JOptionPane.showMessageDialog(null, "nome não encontrado"); } } }
  17. Olá colegas, Meu problema é o seguinte. Estou recebendo os dados através de uma comunicação USART ("microcontrolador"), e ele está chegando em forma de string. Por exemplo: Buffer[] = {'1','2','3'}; Gostaria de armazenar estes dados em uma única variável, da forma: unsigned char var = 123; tentei fazer desta forma: var = 100*(Buffer[0]) + 10*(Buffer[1]) + (Buffer[2]); Porem não obtive êxito, ele me retornava uns valores estranhos. Alguém tem alguma ideia de como fazer?
  18. Me ajudem eu fiz esse algoritmo mas n sei se está correto . Escreva um algoritmo em linguagem C com as seguintes instruções: 1. Declare três variáveis (inteiro, real e char); 2. Declare três ponteiros; 3. Associe as variáveis aos ponteiros; 4. Modifique os valores de cada variável indiretamente usando os ponteiros associados. Para armazenar os valores nas variáveis, armazene na variável char a primeira letra do seu nome, na variável inteira os dois últimos dígitos do seu RU e na variável real os 4 últimos dígitos do seu RU, sendo os 2 últimos os valores com virgula; 5. Imprima na tela os valores das variáveis antes e após a modificação. #include <stdio.h> int main(void){ int x; x= 04; float y; y = 49.04; char z; z = 'm'; int *ponteiro1; ponteiro1 = &x; float *ponteiro2; ponteiro2 = &y; char *ponteiro3; ponteiro3 = &z; printf("\nValor antes: %i\n", *ponteiro1); printf("Valor depois: %i\n\n", &x); printf("Valor antes: %f\n", *ponteiro2); printf("Valor depois: %f\n\n", ponteiro2); printf("Valor antes: %c\n", *ponteiro3); printf("Valor depois: %c", *ponteiro3); }
  19. Programa que calcula o perímetro de triângulo. Recebe como dados de entrada as coordenadas dos vértices do triângulo e retorna o perímetro na unidade de medida escolhida. #include <stdio.h> #include <stdlib.h> #include <math.h> //definição do tipo Ponto. struct Ponto{ float x; float y; }; typedef struct Ponto PONTO; //definição da estrutura Triangulo com vértices do tipo PONTO. struct Triangulo{ //Vértices do triângulo. PONTO p[3]; }; typedef struct Triangulo TRIANGULO; //definição da função gerarTriangulo, que retorna uma estrutura do tipo //TRIANGULO. TRIANGULO gerarTriangulo(){ //variáveis. TRIANGULO tr; int contador; //Limpa a tela. system("cls"); //Entrada das coordenadas dos vértices do triângulo. for(contador = 0; contador < 3; contador++){ printf("Obtendo p%i:\n", contador + 1); printf("Abscissa: "); scanf("%f%*c", &tr.p[contador].x); printf("Ordenada: "); scanf("%f%*c", &tr.p[contador].y); } return tr; } float perimetro(TRIANGULO t){ //declaração de variáveis. float d1, d2, d3; //Cálculo do tamanho dos lados do triângulo. d1 = sqrt(pow(t.p[0].x - t.p[1].x, 2) + pow(t.p[0].y - t.p[1].y, 2)); d2 = sqrt(pow(t.p[0].x - t.p[2].x, 2) + pow(t.p[0].y - t.p[2].y, 2)); d3 = sqrt(pow(t.p[1].x - t.p[2].x, 2) + pow(t.p[1].y - t.p[2].y, 2)); //Retorno da soma dos lados que é o perímetro do triângulo. return d1 + d2 + d3; } int main(){ //Declaração de variáveis. char unidade_medida; system("cls"); //Solicita um tipo de unidade de medida até que o usuário escolha uma das opções //válidas. do{ printf("Escolha a unidade de medida: \n"); printf("c - centimetros, m - metros: "); scanf("%c%*c", &unidade_medida); }while(unidade_medida != 'c' && unidade_medida != 'm'); //Exibe o resultado de acordo com a unidade de medida escolhida. //Considera até três casas decimais. switch(unidade_medida){ case 'c': printf("O perimetro do triangulo e: %.3f cm.\n", perimetro(gerarTriangulo())); break; case 'm': printf("O perimetro do triangulo e: %.3f m.\n", perimetro(gerarTriangulo())); } return 0; }
  20. Olá pessoal, pesquisando pela rede vi algumas informações sobre um software ser feito com mais de uma linguagem, exemplo uma feito o algoritmo com c++ e o scripts em python. Mas não consegui encontrar como isso é feito, se é por uma framework, uma ide, uma library ou sei la. Acredito que não encontrei, por não ter usado as palavras-chaves corretas para a pesquisa. Para aqueles que tem essa informação, se puder me passar as palavra-chaves, fontes e tudo mais, agradeceria. até mais
  21. Fiz esse código, porém, a intenção de restringir o controle do programa ao usuário não está funcionando... O programa é simples mas está entrando num loop que só é possível parar fechando a aplicação. Tá aí o código caso alguém queira olhar... P.s: O código é de estudo, caso achem alguma falha muito grotesca... #include<iostream> #include<stdlib.h> #include<conio.h> using namespace std; float num1, num2; int op; char a; float r; int T; int soma, sub, mult, division; char tecla; int main() { while(true) { if(kbhit() && (tecla = getch()) && (tecla=='A')) break; soma = 1; sub = 2; mult = 3; division = 4; cout << "Bem vindo a calculadora teste!!" << endl; cout << "Digite sua operacao!!" << endl; cout <<"Para indicar a operacao que deseja siga a legenda!! " << endl ; cout <<"soma = 1"<<endl<<"subtracao = 2" << endl << "multiplicacao = 3 " << endl << "divisao = 4" << endl; cout <<""<<endl<<""<<endl<<"."<<endl; cin >> num1 >> op >> num2; switch (op) { case 1: r = num1 + num2; cout <<num1 <<"+"<< num2 <<"= " << r <<endl; break; case 2: r = num1 - num2; cout <<num1 <<"-"<< num2 <<"= " << r <<endl; break; case 3: r = num1 * num2; cout <<num1 <<"*"<< num2 <<"= " << r <<endl; break; case 4: r = num1 / num2; cout <<num1 <<"/"<< num2 <<"= " << r <<endl; break; } cout <<"Se sua operacao tenha dado certo por favor clique T, senao clique F" << endl; cin >> a; if(a = T) { cout << "Obrigado por contribuir com o estudo calculadora!!" << endl; } else { cout << "Obrigado por contribuir com o desenvolvimento do estudo calculadora!!" << endl; } cout << "."<<endl<<"."<<endl; } cout << "A tecla de seguranca foi usada!!"<<endl; system("pause"); return 0; }
  22. Sou novato em php/mysql e estou com uma emergência p resolver na loja. O problema é a sintaxe, pois não sei ainda. A lógica da rotina eu já tenho. Preciso que alguém possa por favor me ajudar nisso pois é uma emergência das grandes! Eu tenho uma tabela, chamada "caixa" nela dois campos "faltapagar" e "status". Quando um produto não está pago, o campo "faltapagar" fica com valor acima de '0' ou seja, fica com valor do saldo a pagar, e o campo "status" fica com valor 'pendente'. E sempre que um produto é totalmente pago, o campo "faltapagar" fica '0' e o código ao ler isso, muda o campo "status" para 'sucesso' e o cliente recebe um email com a liberação do produto para retirada. Até ai está certo. Mas começou a acontecer um problema justo na saída do programador e estou com uma emergência enorme aqui na loja que eu mesmo terei que resolver. O problema é o seguinte: Devido a um erro de execução que eu ainda n descobri a origem, o campo "status" tem mudado o valor para 'sucesso' com "faltapagar" sem estar '0', e isso está fazendo produtos não pagos ficarem com status de pago. Está dando um problema muito sério com os clientes, e é uma emergência muito grande resolver isso hoje!!! Por isso preciso muito de uma ajuda aqui bem objetiva, de quem puder me ajudar. Uma solução rápida e paleativa que encontrei aqui é complementar um código que no momento da execução olhe na tabela "caixa" e faça assim: Se "status" está com valor 'sucesso' com "faltapagar" tendo um valor acima de '0' então alterar "status" para valor 'pendente'. Ou até mesmo se fosse o caso, fazer também um script roando no crontab em que de minuto em minuto examinasse a tabela "caixa" e comparar os campos "faltapagar" e "status", quando "status" estiver com valor 'sucesso' sem que "faltapagar" esteja com valor '0', esse script iria corrigir o valor 'sucesso' para 'pendente'. A lógica do que é para ser feito eu já sei, mas o problema é a sintaxe, que não sei. Alguém , me ajuda a montar esse script? É uma emergência!! Desde já agradeço muito!
  23. Felipe G.

    Ajude-me

    Como criar um código onde o mesmo inicia assim que o documento é aberto? Fiz uma programação de login no Access através da programação VBA, mas não sei fazer com que assim que abra o documento ele fixe a tela de login até preencher seus dados.
  24. Gente, eu to passando muita dificuldade pra entender strings em C, preciso fazer um código q eu dou entrada em 16 valores (q são tanto números, quanto letras), cada valor lido vai ter um resultado diferente, porém quando o próximo valor for zero ele tem q finalizar a execução e apenas executar os resultados respectivos dos valores já lidos. Na lógica que eu montei eu criei uma função pra tentar fazer isso sem ter q colocar uma sequencia de mil e um "if" e "else" porque são mais ou menos 20 valores diferentes que podem ser combinados com vários outros valores e isso é código dms pra digitar, por isso tentei fazer usando só uma função em q eu chamasse o código, passasse os parametros e via se daria certo, porém o código n funcionou, refiz a lógica já umas 6 vezes, em nenhum momento deu certo e a única vez q de forma ilusória pareceu dar mais certo foi essa: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <locale.h> char* leitor(char vl1[], char vl2[], char c1[], char resultado[]) { if(strcmp(vl1, c1)) //comparação entre duas strings, pra ver se o valor 1 recebido comparado ao valor q é respectivo ao resultado é esse, se não fosse ele simplesmente daria retorno nulo { if(strcmp(vl2, "0")) //comparação entre o próximo valor e o valor 0, se for igual ele executa a ação do valor 1, se { return resultado; } else { return 0; } } else { return 0; } } int main() { setlocale(LC_ALL, "Portuguese"); int c=0; char v[16][200]; printf("Digite os 16 valores: \n"); while(c<16) { c = ++c; printf("Bloco %i: ", c); gets(v[c]); } printf("Ações: %s", leitor(v[1], v[2], "1", "feliz")); return 0; } O código ta dando sempre como resultado nulo, e se por algum motivo eu troco o valor do parametro c1[] pra "10" e o zero sendo comparado com o vl2 pra "00" o resultado sempre é "feliz" independente da lógica ser certa ou n, me socorram, acredito q o problema seja com as strings, a forma q declarei elas ou qualquer coisa assim, agradeço desde já s2
  25. Tenho esse algoritmo pra fazer:Codifique, compile e execute um programa em C que declare na função principal uma estruturapara o cadastro de alunos de uma academia. a) Para cada aluno armazenar: nome, sobrenome (apenas um), ano de nascimento e um vetor de 6posições indicando quais dias da semana o aluno frequenta a academia. Lembrando que aacademia funciona de segunda a sábado;b) Ao iniciar o programa, o usuário deverá informar o número de alunos que serão armazenados;c) O programa deverá alocar dinamicamente a quantidade necessária de memória para armazenaros registros dos alunos;d) O programa deverá pedir ao usuário que entre com as informações dos alunos;e) Ao final, o programa deve exibir na tela os dados armazenados e liberar a memória alocada. Não esqueça de usar funções para estruturar o seu código.Consegui fazê-lo rodar mas sem o uso de ponteiro e creio que estou confundindo o conceito de ponteiro e alocação dinâmica. Então gostaria que avaliassem meu código e dissessem o que estou fazendo de errado.Código: #include <stdio.h> #include <stdlib.h> #include <locale.h> #include <string.h> #include <math.h> int main(){ setlocale(LC_ALL, "Portuguese_Brazil"); struct cadastro{ char nome[20]; char sobrenome[30]; char ano[10]; int dias[6]; }; int n,i,j,*p; printf("Digite quantos alunos cadastrar: "); scanf("%d",&n); setbuf(stdin,NULL); printf("\n"); p=(int *) malloc(n*sizeof(int)); struct cadastro c[*p]; for(i=0;i<n;i++){ printf("%dº aluno para cadastrar:\n\n",i+1); printf("Nome: "); fgets(c[p[i]].nome,20,stdin); setbuf(stdin,NULL); printf("Sobrenome (apenas um): "); gets(c[p[i]].sobrenome); setbuf(stdin,NULL); printf("Ano de nascimento: "); gets(c[p[i]].ano); setbuf(stdin,NULL); printf("\nDias na semana que frequenta a academia (0 para não; 1 para sim):\n"); setbuf(stdin,NULL); for(j=0;j<6;j++){ printf("Dia %d: ",j+1); scanf("%d",&c[p[i]].dias[j]); setbuf(stdin,NULL); } printf("\n\n"); } printf("\n\nDados cadastrados dos alunos: \n\n"); for(i=0;i<n;i++){ printf("%dº aluno: \n",i+1); printf("Nome: %s",c[p[i]].nome); printf("Sobrenome: %s\n",c[p[i]].sobrenome); printf("Ano de nascimento: %s\n",c[p[i]].ano); printf("O aluno foi na academia nos seguintes dias:\n"); if(c[p[i]].dias[0]==1) printf("Segunda, "); if(c[p[i]].dias[1]==1) printf("Terça, "); if(c[p[i]].dias[2]==1) printf("Quarta, "); if(c[p[i]].dias[3]==1) printf("Quinta, "); if(c[p[i]].dias[4]==1) printf("Sexta, "); if(c[p[i]].dias[5]==1) printf("Sábado"); printf("\n\n\n"); } free(p); return 0; }
×
×
  • Criar Novo...