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. Olá pessoal, estou fazendo uma lista de exercícios de programação em C, e estou tendo dificuldades em uma das últimas questões: Faça um algoritmo para com base no nome, sexo ("M"=Masculino e "F"=Feminino), três notas e o número de faltas dos alunos de uma turma, onde o Flag será um nome igual a "fim", escrever: a. A situação final de cada aluno; b. A média das notas dos homens e a média das notas das mulheres; c. O percentual de homens e o percentual de mulheres reprovados por média; d. O percentual de homens e o percentual de mulheres reprovados por falta; e. O percentual geral de reprovação da turma. Obs.: As situações possíveis são: Aprovado, Reprovado por Falta ou Reprovado por Média. A média mínima para obter aprovação é 7,00 e o limite de faltas é 15. A reprovação por falta sobrepõe a reprovação por Média. Fiz o seguinte algoritmo: #include <stdio.h> #include <stdlib.h> int main(void){ char nome[100]; char sexo; double nota1; double nota2; double nota3; double media; double mediaM = 0; double mediaM2 = 0; double mediaF2 = 0; double mediaF = 0; double porcM = 0; double porcF = 0; double porcR = 0; int faltas; int contM = 0; int contF = 0; int contPorcM = 0; int contPorcF = 0; scanf("%s",nome); while (nome!=("fim")) { printf("Digite o Sexo: "); scanf("%c",&sexo); printf("1ª Nota:"); scanf("%lf",&nota1); printf("2ª Nota:"); scanf("%lf",&nota2); printf("3ª Nota:"); scanf("%lf",nota3); media = (nota1 + nota2 + nota3)/3; printf("Quantidade de faltas: "); scanf("%d",faltas); if ((media>=7) && (faltas<=15)){ printf("Nome:%s,Sexo:%c,Media:%ln,Faltas:%d Aprovado(a)",nome,sexo,media,faltas); }else{ printf("Nome:%s,Sexo:%c,Media:%ln,Faltas:%d Reprovado(a)",nome,sexo,media,faltas); } if (sexo=='M'|| sexo=='m'){ contM = contM +1; mediaM = (mediaM + media); } if (sexo =='F'|| sexo=='f'){ contF = contF +1; mediaF = (mediaF + media); } if ( (sexo == 'M' || sexo == 'm') && (media<7 || faltas>15)){ contPorcM = contPorcM + 1; porcM = (contPorcM*100)/contM; } if ((sexo == 'F' || sexo == 'f') && (media<7 || faltas>15)){ contPorcF = contPorcF + 1; porcF = (contPorcF*100)/contF; } if ((media<7) || (faltas>15)){ porcR = ((contPorcM + contPorcF)*100)/(contM + contF); } mediaM2 = (mediaM/contM); mediaF2 = (mediaF/contF); printf("Digite o nome: "); scanf("%s",nome); } printf("Média das notas dos homens:%ln\n ",mediaM2); printf("Média das notas das mulheres:%ln\n ",mediaF2); printf("Percentual de Homens Reprovados:%ln\n ",porcM); printf("Percentual de Mulheres Reprovados:%ln\n ",porcF); printf("Percentual Geral de Reprovação da Turma:%ln\n ",porcR); return 0; } Uso o gcc para compilar e está dando diversos erros, agradeço se alguém mais experiente puder analisar e apontar os erros. Obrigado a todos.
  2. Boa noite. Preciso de ajuda neste algoritmo em c++ da matéria de estrutura de dados. Não sei por onde começar. Obrigado! Fazer um programa que utiliza um vetor X de 10 posições e lê 20 valores inteiros situados no intervalo [1,99]. Utilize, ainda, duas variáveis, T1 e T2 inicializadas, respectivamente, com 0 e 11, de tal forma que, no vetor X, tenha-se duas pilhas de bases opostas. Para cada valor lido: se for par e maior do que 50, inseri-lo na pilha 1; se for par e menor ou igual a 50, então retirar o elemento do topo da pilha 1 e escrevê-lo; se for ímpar e maior do que 50, inseri-lo na pilha 2; se o valor lido for ímpar e menor ou igual a 50, então retirar o valor do topo da pilha 2 e escrevê-lo; se ocorrer uma situação de UNDERFLOW, escreva uma mensagem e ignore o valor lido passando a ler o novo valor; se ocorrer OVERFLOW ou se já tiverem sido lidos 20 valores, então escrever o conteúdo das duas pilhas e terminar o programa;
  3. Galera tenho um exercício para resolver da faculdade porém não sei como começar, sou iniciante em CPP. Agradeceria se alguém me ajudasse, segue abaixo o que se pede. Programa console em C++ que leia os nomes de 10 produtos. Em seguida, o programa deve solicitar a faixa de produtos que deve ser apresentada (por exemplo: de 3 a 7) e, com base nesta faixa, deve imprimir apenas os produtos nela situados.
  4. Olá pessoal, mais uma das questões difíceis para iniciante, estou tendo dificuldades para encontrar os erros no algoritmo que desenvolvi, conto com a colaboração de todos, e serei grato a toda dica construtiva de vocês que são mais experientes. #include <stdio.h> #include <stdlib.h> int main(){ int logico,i,j,n,inicol,fimcol,inilin,fimlin,degrau; int matriz[20][20]; do{ printf("Escreva a dimensao da matriz:"); scanf("%d",&n); if((n<1)||(n>20)){ printf("A dimensao da matriz precisa estar entre 1 e 20\n"); } }while((n<1) || (n>20)); printf("A matriz informada e do tipo %dX%d\n",n,n); printf("Digite os numeros da matriz abaixo:\n"); for(i=1;i<=n;i++){ for(j=1;j<=n;j++){ printf("Entre com o valor de matriz["); printf("%d,",i); printf("%d]:",j); scanf("%d",&matriz[i][j]); } } for(i=1;i<=n;i++){ printf("\n"); for(j=1;j<=n;j++){ printf("%2d",matriz[i][j]); printf(" "); } printf("\n"); } inicol=1; fimcol=n; inilin=1; fimlin=n; degrau=0; logico=1; while((logico=1)&&(inicol<fimcol) && (inilin<fimlin)){ for(i=inicol;i=fimcol;i++){ if(matriz[inilin][i]=(degrau+1)){ degrau=(degrau+1); } else{ logico=0; } } fimcol=(fimcol-1); for(i=fimcol;i=inicol;i--){ if(matriz[fimlin][i]=(degrau+1)){ degrau=(degrau+1); } else{ logico=0; } } fimlin=(fimlin-1); for(i=fimlin;i=inilin;i--){ if(matriz[i][inicol]=(degrau+1)){ degrau=(degrau+1); } else{ logico=0; } inicol=(inicol+1); } if(logico=1){ printf("A matriz e inca"); } else{ printf("A matriz não e inca"); } return 0; } Até essa parte abaixo o algoritmo está executando ok. #include <stdio.h> #include <stdlib.h> int main(){ int logico,i,j,n,inicol,fimcol,inilin,fimlin,degrau; int matriz[20][20]; do{ printf("Escreva a dimensao da matriz:"); scanf("%d",&n); if((n<1)||(n>20)){ printf("A dimensao da matriz precisa estar entre 1 e 20\n"); } }while((n<1) || (n>20)); printf("A matriz informada e do tipo %dX%d\n",n,n); printf("Digite os numeros da matriz abaixo:\n"); for(i=1;i<=n;i++){ for(j=1;j<=n;j++){ printf("Entre com o valor de matriz["); printf("%d,",i); printf("%d]:",j); scanf("%d",&matriz[i][j]); } } for(i=1;i<=n;i++){ printf("\n"); for(j=1;j<=n;j++){ printf("%2d",matriz[i][j]); printf(" "); } printf("\n"); }
  5. Alguém poderia me orientar de como fazer esse exercício? Estou pegando Estrutura de Dados na faculdade e a minha professora não domina muito bem o assunto...
  6. Então pessoal meu segundo tópico neste fórum. Estou fazendo um algoritmo para receber dois números inteiros e retornar na saída para o usuário o quociente da divisão e o resto, aha isso é muito fácil, porém não posso usar qualquer outra operação além de + e - kk, então fiz o código e tudo certinho só que nas linhas finais está dando erro e não estou sabendo arrumar, por favor conto com a experiência de todos vocês e sou grato desde já. #include <stdio.h> #include <stdlib.h> int main(){ int n1,n2,q,r,i,z,k,w; printf("Entre com 2 numeros inteiros.\n\n"); printf("N1-->"); scanf("%d",&n1); printf("N2-->"); scanf("%d",&n2); if(n1<n2){ q=0; } if(n1>n2){ i=0; z=0; while(i<n1){ while(z<n2){ z++; } i=i+z; q=q+1; } } if(i>n1){ q=q-1; } printf("%d \n",q); k=0; w=0; while(k<q){ w=w+n2; k++; } r==(n1-w); printf("%d",r); return 0;
  7. To com um problema em fazer um programa, ele recebe um arquivo .txt onde possui varios dados de varios tipos, como semestre (float), numero do trabalho (int), ano (int), titulo (char), descricao (char), de alguns trabalhos, há valor indeterminado de trabalhos no arquivo de texto, tenho q ler o arquivo, armazenar numa lista, ordenar em ordem crescente a partir do ano, semestre e o numero do trabalho, excluir duplicidades, inserir um novo trabalho e imprimir de formar ordenada no arquivo de saida .txt. não sei por onde começar...
  8. Boa noite pessoal, sou iniciante em C, e estou tendo um erro no meu programa que é uma espécie de calculadora, o erro está ocorrendo somente na divisão, eu serei eternamente grato se alguém puder dedicar um pouco do tempo para analisar esse problema, as 3 operações estão funcionando ok. Desde já agradeço a todos. #include <stdio.h> int main (void){ int n1,n2,k; float res; printf (" |-------------|Operaçoes Matematicas|---------------|\n\n"); printf ("Entre com o primeiro operando:"); scanf("%d",&n1); printf("Entre com o segundo operando:"); scanf("%d",&n2); printf("Escolha:\n\n"); printf("1-Soma\n2-Subtraçao\n3-Multiplicaçao\n4-Divisao\n\n"); printf("Digite aqui:"); scanf("%d",&k); if(k==1){ (res=(n1+n2)); printf("%f",res); } else if(k==2){ (res=(n1-n2)); printf("%f",res); } else if(k==3){ (res=(n1*n2)); printf("%f",res); } else if((k=4) && (n2!=0)){ (res=(n1/n2)); printf("%f",res); } else if((k==4) && (n2==0)){ printf("não e possivel dividir por zero."); } return 0;}
  9. To com um problema em fazer um programa, ele recebe um arquivo .txt onde possui varios dados de varios tipos, como semestre (float), numero do trabalho (int), ano (int), titulo (char), descricao (char), de alguns trabalhos, há valor indeterminado de trabalhos no arquivo de texto, tenho q ler o arquivo, armazenar numa lista, ordenar em ordem crescente a partir do ano, semestre e o numero do trabalho, excluir duplicidades, inserir um novo trabalho e imprimir de formar ordenada no arquivo de saida .txt. não sei por onde começar...
  10. Boa noite a todo. Estou fazendo um programa que consiste de uma estrutura ALUNO com os campo nome e nota_final, uma função que retorna o tipo ALUNO e uma função que verifica se o aluno foi aprovado ou não. Mas após digitar a nota o cursor pula para outra linha e fica e o programa só encerra com ctrl + z. Segue o código: #include <stdio.h> #include <stdlib.h> typedef struct{ char nome[40]; float nota_final; }ALUNO; ALUNO getAluno(); int aprovado(ALUNO a); int main(){ ALUNO al; char opt; while(1){ al = getAluno(); if(aprovado(al)) printf("\n%s aprovado", al.nome); else printf("\n%s reprovado", al.nome); printf("\n\n\nContinuar?: "); while(getchar() != '\n'); opt = getchar(); if(opt != 's' && opt != 'S')break; } return 0; } ALUNO getAluno(){ ALUNO a; system("clear"); printf("Nome aluno: "); fgets(a.nome, 40, stdin); printf("Nota: "); while(getchar() != '\n'); scanf("%f", &a.nota_final); return a; } int aprovado(ALUNO a){ if(a.nota_final >= 5.0) return 1; else return 0; } Estou usando Ubuntu e o compilador é o gcc.
  11. Comecei a aprender programação a pouco tempo, alguém poderia me explicar como se usa o ciclo for e while em C?
  12. Matheus Salles

    Erro cgi

    Olá pessoal, estou fazendo um código para cgi, usando c como base entretanto estou tendo um problema com a passagem de dados no registro, onde a partir da primeira tela após o digito da palavra que se deseja jogar, ele está registrando a palavra como vazia. gist: https://gist.github.com/Mathsellas/9d1da30b763132a8389070ccb30ebf1a
  13. Eu estou iniciando ainda e para testar o que estudei até o presente momento, decidi brincar um pouco. Então pensei num "jogo" em que aparece o ano e o usuário tenta acertar o campeão da Copa do Mundo. A princípio não quis programar se o usuário errou ou acertou, só depois que rodar esse primeiro código, que é o seguinte: #include <iostream> #include <string.h> using namespace std; int main(void){ int ano; char time[15]; char i; printf("-----------------------------------------------------------\n"); printf(" J O G O D A S C O P A S D O M U N D O \n"); printf("-----------------------------------------------------------\n"); printf("A seguir, digite quem são os campeoes dos respectivos anos\n"); printf("\n"); for(ano = 1930 ; ano < 2015 ; ano = ano + 4){ printf("Quem foi o campeao de %d ?\n", ano); scanf("%s", &time[ i ]); setbuf(stdin, NULL); } for(ano = 1930 ; ano < 2015 ; ano = ano + 4){ printf("O campeao de %d foi o %s \n",ano, time[ i ]); } system ("pause"); return 0; } Quando tento executar, ele para de funcionar, mas não consigo achar o problema.
  14. Boa tarde, sou iniciante, e todos os meus projetos estão sendo identificados como virus, o que fazer ? dei apenas um hello word e mesmo assim identifica como virus o arquivo .exe que envio para meus parentes testarem. já programei em 3 computadores diferentes , e deu a mesma coisa. Basicamente o computador foi formatado e apenas instalado o code::bloks direto do site do fabricante. e mesmo assim... então não e questão do pc que esta sendo feito o codigo.
  15. #include <stdio.h> #include <stdlib.h> #include <conio.h> /*1 2 88 42 99*/ int main(void){ int nota[4]; int rec [2]; nota[0] = 1; nota[1] = 2; nota[2] = 88; nota[3] = 42; nota[4] = 99; for(int i=0;i<5;i++){ if(nota==1 || nota==2 || nota==88){ rec=nota; printf("%d",rec); } system("PAUSE"); return 0; } }
  16. estou usando o seguinte algoritmo : #include <stdio.h> #include <stdlib.h> int main() { int num, g=0, fase, horario[2], codigo; //g = gerador de códigos de cada turma char curso[30]; scanf("%i", &num); switch(num){ case 1: codigo=g; fgets(curso,30,stdin);// <<FGETS AQUI>> scanf("%i", &fase); printf("escreva o horario de tal maneira: 13 30, onde 13 são as horas e 30 os minutos."); scanf("%i", &horario[0]); //horas scanf("%i", &horario[1]); //minutos printf("%i %i %i:%i", codigo, fase, horario[0], horario[1]); //fazer scanf do char com um looping g++;// deve ser a ultima linha do case1 EXCLUIR ISSO DEPOIS } return 0; } o programa só funciona quando tiro o fgets, ao coloca-lo ele muda completamente o printf pra lixo, não consigo entender o porque
  17. Code Blocks, C++; Olá, eu estava lendo um livro sobre C++ e me deparei com um certo tipo de variável adaptável. Trata-se do tipo "auto". Porém, quando eu tento utilizá-la (exemplo: auto var = 14;) ocorre um erro: "var does not name a type". Qual seria o problema? Pois, segundo a sintaxe, o tipo auto interpretaria o número 14 como inteiro...
  18. Boa tarde pessoal, sou novo aqui e estou com dúvidas sobre a implementação de lista encadeada com matrizes esparsas. O que já fiz até agora: main.c #include <stdio.h> #include <stdlib.h> #include "matriz.h" void main(void){ TMatriz *A, *B, *C; LeMatriz(&A, "A.txt"); ImprimeMatriz(&A); LeMatriz(&B, "B.txt"); ImprimeMatriz(&B); C = SomaMatriz(A,B); ImprimeMatriz(&C); ApagaMatriz(B); ApagaMatriz(C); LeMatriz(&B,"B.txt"); ImprimeMatriz(&A); ImprimeMatriz(&B); C = SomaMatriz(A,B); ImprimeMatriz(&C); C = MultiplicaMatriz(A,B); ImprimeMatriz(C); C = MultiplicaMatriz(B,B); ImprimeMatriz(A); ImprimeMatriz(B); ImprimeMatriz(C); ApagaMatriz(A); ApagaMatriz(B); ApagaMatriz(C); } matriz.c #include <stdio.h> #include <stdlib.h> #define TAM_BUFFER 255 #include "matriz.h" TMatriz *criaMatriz(int m, int n){ TMatriz *A; A = (TMatriz*)malloc(sizeof(TMatriz)); if(!A || m<=0 || n<=0){ return 0; } A ->inicio = NULL; A ->fimLinha = NULL; A ->fimColuna = NULL; A ->m = m; A ->n = n; iniciaCabecas(A); return A; } int iniciaCabecas(TMatriz *A){ int i=0; T_Celula *cabeca; cabeca = (T_Celula*)malloc(sizeof(T_Celula)); if(!cabeca){ return 0; } cabeca->coluna = -1; cabeca->linha = -1; A->inicio = cabeca; A->fimLinha = cabeca; A->fimColuna = cabeca; for(i = 1; i <= A->n; i++){ cabecaColuna(A); } for(i = 1; i <= A->m; i++){ cabecaLinha(A); } return 1; } int cabecaColuna(TMatriz *A){ T_Celula *cabeca; cabeca = (T_Celula*)malloc(sizeof(T_Celula)); if(!cabeca){ return 0; } cabeca->coluna = -1; cabeca->linha = 0; A->fimColuna->direita = cabeca; A->fimColuna = cabeca; cabeca->direita = A->inicio; cabeca->abaixo = cabeca; return 1; } int cabecaLinha(TMatriz *A){ T_Celula *cabeca; cabeca = (T_Celula*)malloc(sizeof(T_Celula)); if(!cabeca){ return 0; } cabeca->coluna = 0; cabeca->linha = -1; A->fimLinha->abaixo = cabeca; A->fimLinha = cabeca; cabeca->abaixo = A->inicio; cabeca->direita = cabeca; return 1; } void ImprimeMatriz(TMatriz* A){ int i, j; T_Celula *pCelula; if(!A || !A->m || !A->n){ return 0; } pCelula = A->inicio->abaixo; printf("\n"); for(i = 1; i <= A->m; i++){ for(j = 1; j <= A->n; j++){ if(pCelula->direita->linha == i && pCelula->direita->coluna == j){ printf(" \t%0.2f ", pCelula->valor); } else{ printf(" \t%0.2f ", 0.0F); } } printf("\n"); pCelula = pCelula->direita->abaixo; } return 1; } void LeMatriz(TMatriz* A, char fn[]){ FILE* f; int m, n; f = fopen(fn, "r"); fscanf(f, "%d,%d ", &m, &n); A = criaMatriz(m, n); int i, j; double valor; while(fscanf(f, "%d, %d, %lf", &i, &j, &valor)!= EOF){ insere(A, i, j, valor); } fclose(f); } void ApagaMatriz(TMatriz* A){ int i = 1; int j = 1; T_Celula *pCelula, *aux; if(!A || !A->m || !A->n){ return 0; } pCelula = A->inicio->abaixo; pCelula = pCelula->direita; for(i = 1; i <= A->m; i++){ for(j = 1; j<= A->n; j++){ if(pCelula->linha == i && pCelula->coluna == j){ aux = pCelula; pCelula = pCelula->direita; free(aux); } } pCelula = pCelula->abaixo->direita; } pCelula = A->inicio->direita; for(i = 0; i < A->n; i++){ aux = pCelula; pCelula = pCelula->direita; free(aux); } pCelula = A->inicio->abaixo; for(i = 0; i < A->m; i++){ aux = pCelula; pCelula = pCelula->abaixo; free(aux); } pCelula = A->inicio; free(pCelula); A->fimColuna = A->fimLinha = A->inicio = NULL; A->m = A->n = 0; A = NULL; return 1; } TMatriz *SomaMatriz(TMatriz* A, TMatriz* B){ int i, j; float soma; TMatriz *C; T_Celula *pCelulaA, *pCelulaB; if(A->m != B->m || A->n != B->n){ printf("\nMatrizes de ordem diferente.\nSo e possivel somar matrizes com o mesmo numero de linhas e colunas\n"); return NULL; } if(!A || !B || !A->m || !A->n){ return NULL; } C = criaMatriz(A->m, B->n); pCelulaA = A->inicio->abaixo; pCelulaB = B->inicio->abaixo; for(i = 1; i<= A->m; i++){ for(i = 1; j<= B->n; i++){ if(j == pCelulaA->direita->coluna && j == pCelulaB->direita->coluna){ soma = pCelulaA->direita->valor + pCelulaB->direita->valor; if(soma){ insere(C, i, j, soma); } pCelulaA = pCelulaA->direita; pCelulaB = pCelulaB->direita; } else if(j == pCelulaA->direita->coluna){ insere(C, i, j, pCelulaA->direita->valor); pCelulaA = pCelulaA->direita; } else if( j == pCelulaB->direita->coluna){ insere(C, i, j, pCelulaB->direita->valor); pCelulaB = pCelulaB->direita; } } pCelulaA = pCelulaA->direita->abaixo; pCelulaB = pCelulaB->direita->abaixo; } return C; } TMatriz *MultiplicaMatriz(TMatriz* A, TMatriz* B){ int i=0, j=0, k=0; float total; TMatriz *C; if(A->n != B->m){ printf("\nMultiplicacao não efetuada, numero de colunas de A e diferente do numero de linhas de B\n"); return NULL; } if(!A || !B || !A->m || !A->n || !B->n){ return NULL; } C = criaMatriz(A->m, B->n); for(i = 1; i<= A->m; i++){ for(j = 1; j<= B->n; j++){ total = 0; for(k = 1; k<= A->n; k++){ total += obterEI(A, i, k) *obterEI(B, k, j); } if(total){ insere(C, i, j, total); } } } return C; } int insere(TMatriz *A, int linha, int coluna, double valor){ int i; if (!A || A->m <= 0 || A->n <= 0 || !valor){ return 0; } if (linha>A->m || coluna>A->n || !valor || linha < 1 || coluna < 1){ return 0; } T_Celula *pCelula; T_Celula *pCelulaColuna; T_Celula *pCelulaLinha; pCelula = (T_Celula*)malloc(sizeof(T_Celula)); if(!pCelula){ //memoria cheia return 0; } for(i = 0; i<linha-1; i++){ pCelulaLinha = pCelulaLinha->abaixo; } i = 0; while(i<coluna && pCelulaLinha->direita->linha != -1){ if(pCelulaColuna->direita->coluna > pCelula->coluna){ pCelula->direita = pCelulaLinha->direita; } else{ pCelulaLinha = pCelulaLinha->direita; } i++; } if(pCelulaLinha->direita->linha == -1){ pCelula->direita = pCelulaLinha->direita; pCelulaLinha->direita = pCelula; } for(i = 0; i< coluna-1; i++){ pCelulaColuna = pCelulaColuna->direita; } i = 0; while(i<linha && pCelulaColuna->abaixo->coluna != -1){ if(pCelulaColuna->abaixo->linha > pCelula->linha){ pCelula->abaixo = pCelulaColuna->abaixo; pCelulaColuna->abaixo = pCelula; } else{ pCelulaColuna = pCelulaColuna->abaixo; } i++; } if(pCelulaColuna->abaixo->coluna == -1){ pCelula->abaixo = pCelulaColuna->abaixo; pCelulaColuna->abaixo = pCelula; } return 1; } float obterEI(TMatriz *A, int linha, int coluna){ T_Celula *pCelula; int i = 0; pCelula = A->inicio->direita; for(i = 0; i< coluna-1; i++) { pCelula = pCelula->direita; } do{ pCelula = pCelula->abaixo; if(pCelula->linha == linha){ return pCelula->valor; } }while(pCelula->coluna != -1); return 0; } matriz.h #include <stdio.h> #include <stdlib.h> typedef struct TCelula{ struct TCelula *direita, *abaixo; int linha, coluna; float valor; }T_Celula; typedef struct{ int m, n; T_Celula *inicio, *fimLinha, *fimColuna; }T_matrizEsparsa; typedef T_matrizEsparsa TMatriz; //funções TMatriz *criaMatriz(int m, int n); //cria uma matriz esparsa vazia int iniciaCabecas (TMatriz *A); //inicia as cabeças int cabecaLinha (TMatriz *A); //insere uma cabeça linha int cabecaColuna (TMatriz *A); //insere uma cabeça coluna void ImprimeMatriz(TMatriz *A); //imorime a matriz A void LeMatriz(TMatriz *A, char fn[]);//lê a matriz void ApagaMatriz(TMatriz *A); //apaga uma matriz TMatriz *SomaMatriz(TMatriz *A, TMatriz *B); //soma duas matrizes A e B, gerando um nova matriz C TMatriz *MultiplicaMatriz(TMatriz *A, TMatriz *B); //multiplica uma matriz por uma outra, gerando uma nova matriz X int insere(TMatriz *A, int linha, int coluna, double valor); float obterEI(TMatriz *A, int linha, int coluna); //obter o elemento pelo seu índice Meu programa não está rodando, gostaria de saber o que há de errado e como consertar. Desde já agradeço a ajuda e desculpe qualquer erro na postagem.
  19. Preciso implementar uma função que leia dois números, a e b, e execute o calculo da potência deles, a^b. Só há um detalhe, isso usando apenas a biblioteca stdio.h. Pensei em usar o for da seguinte forma: Armazeno uma variável C=b*b, então preciso, a cada repetição do for, fazer C*b, certo? Mas é ai que esta o problema, não sei como fazer isso. Me ajudem, por favor!
  20. Preciso de ajuda, minha professora deu um trabalho para fazer, que é o seguinte "Implementar o método simplex considerando a função objetivo como um problema de maximização e restrições do tipo menor ou igual (<=) utilizando uma linguagem de programação de sua preferência.", porém eu não consegui fazer, tem que apresentar no final a Dual e a Primal. Alguém pode me passar o código, preciso até dia 4, e minha aprovação na matéria depende desse trabalho, ajudem por favor
  21. POLIVEIRA

    Dificuldade em C

    Boa tarde, Alguém consegue me ajudar? Não consigo o programa abaixo: Fazer um programa que entra com a longitude da cidade e seu nome pelo teclado, e determina o fuso correspondente. Sabe-se que à oeste de Greenwich a longitude é positiva e a leste, negativa. Sabe-se que a cada 15 graus ocorre um fuso (de uma hora). Cidades devem usar o fuso mais próximo de forma que o desvio máximo do fuso é de 7,5 graus. Encerra quando se digita nome de cidade = “FIM". Longitude não pode estar fora da faixa [-180, 180].
  22. O meu programa esta a bugar quando eu conto o total de alunos reprovados e aprovados, nunca da o numero certo.. vai sempre incrementando mais um valor..,ajudem-me pfv.. #include <stdio.h> #include <stdlib.h> typedef struct Aluno { char nome[50]; int teste; int trab; }; main() { FILE *fp; struct Aluno vet[10]; fp=fopen("Alunos.txt","w"); int cont=0,i,somateste=0,somatrab=0,op,reprovado=0,aprovado=0; int soma[10]; float med[10] ,medglobal, nota[10]; while (op!=7) { printf("\n"); printf("------Menu------:"); printf("\n"); printf("1 - Introduza alunos \n"); printf("2 - Listar alunos \n"); printf("3 - Media dos trabalhos \n"); printf("4 - Media dos testes \n"); printf("5 - Media global dos alunos\n"); printf("6 - numero de aprovados e reprovados \n"); printf("7 - Sair \n"); printf("\n"); printf("Introduza a sua opcao \n"); scanf("%d",&op); switch (op) { case 1: { printf("Introduza o nome do aluno \n"); scanf(" %s",&vet[cont].nome); printf("Introduza a nota do teste \n"); scanf(" %d",&vet[cont].teste); printf("Introduza a nota do trabalho \n"); scanf(" %d",&vet[cont].trab); cont++; break; } case 2: { for (i=0; i<cont; i++) { printf("\n"); fprintf(fp,"Nome: %s \n",vet[i].nome); fprintf(fp,"Teste: %d \n",vet[i].teste); fprintf(fp,"Trabalho: %d \n",vet[i].trab); } break; } case 3: { for (i=0; i<cont; i++) { somatrab= somatrab +vet[i].trab ; } printf("\n"); fprintf(fp, "Media dos trabalhos = %.2f \n",somatrab/(float)cont); break; } case 4: { for (i=0; i<cont; i++) { somateste= somateste + vet[i].teste; } printf("\n"); fprintf(fp,"Media dos testes = %.2f \n",somateste/(float)cont); break; case 5: { for (i=0; i<cont; i++) { medglobal= (somateste+somatrab)/2 ; } printf("\n"); fprintf(fp, "Media global e = %.2f \n",medglobal/(float)cont); break; } case 6: for (i=0;i<cont;i++){ { nota[i] == vet[i].teste+vet[i].trab/(float)2 ; if (nota[i] <=9.5) reprovado++; if (nota[i] >9.5) aprovado++; } printf(" %d aprovado \n", aprovado); printf(" %d reprovado \n", reprovado); fprintf(fp, " %d aprovado \n", aprovado); fprintf(fp, " %d reprovado \n", reprovado); break; default:printf("");break; fclose(fp); } } } } }
  23. rbg2017

    P-Medianas C , C++

    Preciso fazer um trabalho sobre esse problema de localização, porém não tenho nenhuma base sobre o assunto, alguém ai pode dar uma ajuda ? Achei isso na net mas como não entendo nada de grafos, então não consigo fazer. (Minha principal duvida e saber a distancia entre os vértices e fazer os agrupamentos) Heurística de Teitz e Bart Enquanto (solução-inicial melhora) faça Para k=1,...,p faça Troque vértice semente por não-semente do agrupamento Ck ; Calcule o valor v correspondente à melhor realocação; Se v é melhor que solução-inicial então Atualize o vértice semente do agrupamento Ck ; Faça solução-inicial ←v; Fim_Se Fim_Para Fim_Enquanto http://www.scielo.br/pdf/ /prod/v16n2/10.pdf
  24. #include <stdio.h> #define linha 12 #define col 12 int main (void) { char OP; float M[linha][col],soma=0,div=0; int i,j; scanf("%c", &OP); // leitura da matriz for(i=linha-1; i>=0;i--) { for(j=col-1; j>=0;j--){ scanf("%f", &M[i][j]); } } // soma da parte requerida da matriz for(i=linha-1;i>=0;i--){ for(j=col-1;j>=0;j--) { if(j>i){ soma += M[i][j]; (int)div++; } } } // condicao para imprimir soma ou media if(OP=='S') printf("%.1f\n", soma); else printf("%.1f\n", soma/div); } A minha saída está diferente da saída correta para a soma de valores de 1 até 144. O valor correto é 6644.0 e a minha saída é 6358.0 Não consigo encontrar o erro. O problema pede para imprimir a soma dos numeros abaixo da diagonal secundária > https://www.urionlinejudge.com.br/repository/UOJ_1186.html.
×
×
  • Criar Novo...