Ir para conteúdo
Fórum Script Brasil

Justiceira

Membros
  • Total de itens

    44
  • Registro em

  • Última visita

Tudo que Justiceira postou

  1. Justiceira

    Problema em C

    Eu fiz algo meio maluco aqui pra tentar resolver este meu problema inicialmente eu pegaria as resistencias,e voltagens. #include<stdio.h> #include<math.h> int i, j, k, r[7], c[3], v[3]; int linha1, linha2, linha3, i1, i2, i3; main(){ kirchoff1(); kirchoff2(); kirchoff3(); lin1(); system("pause"); return 0; } int kirchoff1(int x[i]){ printf("Primeiro Circuito\n"); for(i=1; i<=3;i++){ printf("Informe R[%d]:",i); scanf("%d", &r[i]); } printf("V[1]:"); scanf("%d", &v[i]); } int kirchoff2(int x[i]){ printf("\nSegundo Circuito\n"); for(j=1; j<=3;j++){ printf("Informe R[%d]:",j); scanf("%d", &r[j]); } printf("V[2]:"); scanf("%d", &v[j]); } int kirchoff3(int x[i]){ printf("\nTerceiro Circuito\n"); for(k=1; k<=3;k++){ printf("Informe R[%d]:",k); scanf("%d", &r[k]); } printf("V[3]:"); scanf("%d", &v[k]); } lin1(){ linha1 = ((r[1]*i1)+((r[2]*i1)-(r[2]*i2))+((r[3]*i1)-(r[3]*i3))- v[1]); printf("Linha1: %d",linha1); return(linha1); } lin2(){ linha2 = ((r[1]*i2)+(r[2]*i2)+((r[3]*i2)-(r[3]*i3))+((r[4]*i2)-(r[4]*i1))-v[2]); return(linha2); } lin3(){ linha3 = ((r[1]*i3)+((r[2]*i3)-(r[2]*i1))+((r[3]*i3)-(r[3]*i2)) - v[3]); return(linha3); } [/codebox] So que no final eu queria que linha 1 por ex: linha1 = ((r[1]*i1)+((r[2]*i1)-(r[2]*i2))+((r[3]*i1)-(r[3]*i3))- v[1]); linha1 = ((6*i1)+((10*i1)-(10*i2))+((4*i1)-(4*i3))- 26); estivesse assim linha1 = ((20*i1)-(10*i2)-(4*i3)) =- 26; pois eu informaria de outra função o restante que é i1,i2,i3 ninguém pode me ajudar??
  2. Ola pessoal estou com um problema de logica para resolver tenho as seguintes linhas 6i1+10(i1-i2)+4(i1-i3)-26=0 5i2+5i2+5(i2-i3)+10(i2-i1)=0 => 6i1 + 10i1 - 10i2 + 4i1 -4i3 -26 = 0 => 5i2 + 5i2 + 5i2 - 5i3 + 10i2 - 10i1 = 0 em cada linha eu possuo um I1,I2 e I3 ,ficando assim depois 20i1-10i2-4i3=26 => 20*i1-10*i2-4*i3=26 -10i1+25i2-5i3=0 => -10*i1+25*i2-5*i3=0 //Ficado assim eu poderei informar os valores de i1 e i2 e i3 e resolverei os sistema => 20 * i1 -10 * i2 - 4 * i3 = 26 => -10 * i1 +25 * i2 - 5 * i3 = 0 queria saber se é possivel isso? queria uma dica
  3. Justiceira

    Problema em C

    Sim no final da execução completa do programa prtendo descobrir as correntes I1,I2 e I3. Primeiro a entrada vai ser digitada da seguinte maneira.. 6i1+10(i1-i2)+4(i1-i3)-26=0 5i2+5i2+5(i2-i3)+10(i2-i1)=0 11i3+4(i3-i1)+5(i3-i2)-7=0 porém terei que por exemplo na linha 1:Saber Quando é O Nº antes de I1 exemplo 6i1 + (10i1 - 10i2) + ( 4i1 - 4i3) - 26 = 0 e no final sei que na linha 1 terei 20i1 porque é como esse I1 fosse X1 na matematica...farei um calculo de sistema linear para encontrar I1 que multiplicara por 20 e os outros da linha pra enfim resultar alguma coisa. E quanto a outra função calcular: É porque isso eu irei retornar para outra função que já vai fazer esse calculo de sistema linear para mim. Mas de qualquer forma vou tentar fazer por aqui e posto o codigo
  4. Justiceira

    Problema em C

    Ola pessoal estou com umproblema para resolver tenho as seguintes linhas 6i1+10(i1-i2)+4(i1-i3)-26=0 5i2+5i2+5(i2-i3)+10(i2-i1)=0 11i3+4(i3-i1)+5(i3-i2)-7=0 em cada linha eu possuo um I1,I2 e I3 ,ficando assim depois 20i1-10i2-4i3=26 => 20*i1-10*i2-4*i3=26 -10i1+25i2-5i3=0 => -10*i1+25*i2-5*i3=0 -4i1-5i2+20i3=7 => -4*i1-5*i2+20*i3=7 So que isso eu resolvi a mão queria fazer em C pensei em criar um vetor de 3 posições que armazena como texto as 3 primeiras linhas. E depois diferenciar atraves da tabela ascii quem é numero e quem é texto.Pois depois disso irei informar i1,i2 e i3 para outra função calcular. alguém poderia me dar umas dicas de como posso construir com vetor ou matriz??
  5. Justiceira

    Chamar método

    Oii pessoal estou com problema para executar este programinha,alguém poderia me dar uma força?? Bom não consigo pegar os resultados e jogar para o procedimento entrar dados o que estou a errar? #define MAX 100 float x[MAX], y[MAX]; int n; void entra_dados(); void RR(); float calcula_soma(float u[MAX], float v[MAX]); void entra_dados(){ int i; printf("Informe o Numero de Pares: "); scanf("%d", &n); for(i = 1; i <= n; i++){ scanf("%f %f", &x[i], &y[i]); printf("X = %.1f Y = %.1f\n", x[i], y[i]); } RR(); } void RR(){ float somax, somax2, somaxy, somay, aux[MAX]; float alfa1, alfa2, num1, den1, soma; int i; for(i = 1; i <= n; i++){ aux[i] = 1; somax = calcula_soma(x, aux);// printf("Somax %d - %1.f\n", i,soma);//coloquei esta linha so para ver o que acontece com os results somay = calcula_soma(y, aux); somax2 = calcula_soma(x, x); somaxy = calcula_soma(x, y); num1 = somaxy - (somax * somay)/n; den1 = somax2 - (somax * somax)/n; alfa1 = num1/den1; alfa2 = (somay - alfa1 * somax)/n; } printf("Phi(x) = ", alfa1, "x + (", alfa2, ")"); } float calcula_soma(float u[MAX],float v[MAX]){ int i; float soma; soma = 0; for(i = 1; i <= n; i++){ soma = (soma + u[i] * v[i]); //printf("Soma %1.f\n", soma);//Esta linha foi colocada para verificar também. } return(soma); } main(){ entra_dados(); } [/codebox]
  6. Rsrsrs...é Kuroi é um nome legal tambem. Mas quanto ao codigo vou testar aqui o que voce sugeriu
  7. Tenho os seguintes botoes em meu formulario,NOVO,EDITAR.Quando clico em novo ele habilita os campos para que eu possa começar a preencher,salvo normalmente,porém depois disso se eu desejo editar algo ele so me retorna Você já esta no Ultimo Registro! e não sai disso. Onde estou errando? Private Sub Cmdnovo_Click() BOTAO NOVO 'habilita alguns botoes TBatividade.AddNew proximo txtcodativ.Text = txtcodativ.Text + 1 habilitarcampos'habilita os campos txtcodativ.SetFocus End Sub [/CODEBOX] [CODEBOX] Private Sub proximo() 'move para o próximo registro TBatividade.MoveLast If TBatividade.EOF = True Then TBatividade.MovePrevious End If txtcodativ.Text = TBatividade("Codatividade") End Sub Private Sub Cmdedit_Click() BOTÃO EDITAR Dim edicao As Variant Dim edita As String If TBatividade.EOF = True And TBatividade.BOF = True Then MsgBox "A Tabela está Vazia!", vbExclamation, "Aviso!" Exit Sub End If On Error GoTo Primeiro edicao = TBatividade.Bookmark TBatividade.Index = "codatividade" edita = InputBox("Informe o Código da Atividade : ", "Localiza") If edita = Empty Then Exit Sub Else TBatividade.Seek "=", edita habilitarbotao End If If Not TBatividade.NoMatch Then 'AQUI FICAM OS TEXTs Else MsgBox "Não localizado", vbExclamation, "Localiza" TBatividade.Bookmark = edicao End If Exit Sub Primeiro: If Err.Number = 3021 Then MsgBox "Você já esta no Ultimo Registro!", vbInformation, "Aviso!!" Exit Sub End If End Sub [/CODEBOX]
  8. Estou usando VB6 e DAO com access Preciso que ao preencher um formulario e for salvar na tabela TBev seja subtraido o valor de um campo de outra tabela TBat. É o seguinte no meu formulario tenho um campo(combobox)que se for escolhido sim deve ser subtraido nos campos total e vagadef e se for escolhido não vai apenas subtrair no campo total é porque no banco de dados access te preenchido alguns dados já e cada registro possui uma quantidade de pessoas q podem participar de determinado atividade exemplo cinema total=13 e vagsadef=5 se for sim ficara cinema total=12 e vagsadef=4 alguém pode me ajudar
  9. é verdade testei funcionou legal Valeu Kuroi
  10. O site é bem interessante parece ter o que eu quero,mas existe algum controle que eu adicione para que isso ocorra mesmo eu colocando o codigo,não iria faltar algum controle??
  11. Tenho o seguinte codigo que queria que me bloqueasse os usuarios sem permissão a certos forms,mas ele me retorna sempre acesso negado 'função de acesso Function VerificarUsuario(ByVal Usua As Long) As String Dim varAcesso As String Dim TBusuario As Recordset Set TBusuario = bancodedados.OpenRecordset("usuario", dbOpenTable) TBusuario.Index = "ID" TBusuario.Seek "=", (Usua) If TBusuario.EOF = False Then varAcesso = TBusuario!Padrão MsgBox varAcesso Else varAcesso = "" End If VerificarUsuario = varAcesso End Function 'Botão que chama o Form3 Private Sub Cmdpart_Click() If varAcesso = "A" Or varAcesso = "F" Then Form3.Show Else MsgBox "Acesso Negado!" End If End Sub 'Botão que chama o Form4 Private Sub Cmdativ_Click() If varAcesso = "A" Then Form4.Show Else MsgBox "Acesso Negado!" End If End Sub 'Botão que chama o Form5 Private Sub Cmdfunc_Click() If varAcesso = "A" Or varAcesso = "F" Then Form5.Show Else MsgBox "Acesso Negado!" End If End Sub 'Botão que chama FORM6 Private Sub Cmdinscri_Click() If varAcesso = "A" Then FormSUE6.Show Else MsgBox "Acesso Negado!" End If End Sub [/codebox] [codebox] Private Sub form_Load() Dim varAcesso As String varAcesso = VerificarUsuario(1) End Sub alguém pode me ajudar nisso
  12. Queria fornecer a meu usuario a possibilidade dele dar zoom no formulario andei pesquisando mas achei somente de redimencionar a tela do computador mas acredito que isso assustaria meu usuario,e ele deixaria de mexer em meu sistema. Este é um projeto que estou criando na faculdade é possivel isso?? alguém tem alguma rotina pronta pra isso com ampliar,normal e reduzir
  13. Quando eu chamo o preencher combobox Eu precisava que na hora do cadastro (um exemplo)tenho um campo forum ,um area do forum e um moderador. E quando fosse clicar na combo forum escolhesse o nome de um existente(porem existem forum que tem moderador em mais areas ou seja esse campo tem repetição no access mas não pode ter no formulario vb. Bom cliquei no primeiro e vamos supor no proximo não filtrou apareceu tudo da coluna area,então escolho hardware e depois clico no combo moderador e escolho um que nem é do forum nem é da area selecionada. Estaria tudo errado,porem disponivel pra eu fazer(ate fiz pra testar). Como posso resolver isso???
  14. Resolveu o erro. Só que continuou do mesmo jeito Eu tenho um outro formulario que cadastra atividades e areas dela entre outras coisas. E pra não ter a tabela vazia eu cadastrei tres instituições só pra não ficar em branco BRADESCO CENTRAL DE TV SBT só essas mas quando clico no comboativ que recupera ela do banco de dados access aparecem assim e as vezes não. BRADESCO BRADESCO CENTRAL DE TV CENTRAL DE TV SBT SBT Não entendo,será sujeira isso??
  15. Coloquei esta linha que você indicou e deu o seguinte Erro 3061 Parametros insuficientes. Eram esperados 1 Valeu mesmo a resposta porque isso pelo menos fez alguma coisa,antes era como se não tivesse nada
  16. Tenho tres combobox,que recebem dados de um banco de dados access. Estou usando DAO Gostaria que quando fosse escolhida determinada opção numa combobox a outra fosse ativada/habilitada com os campos correspondentes a essa opção. igual em alguns cadastros que voce seleciona o estado tipo são PAULO e na proxima carrega as cidades de são paulo Coloquei o seguinte codigo Private Sub preencher_combo() TBatividade.MoveFirst Do While Not TBatividade.EOF Comboativ.AddItem TBatividade!InstitucaodaAtividade Comboarea.AddItem TBatividade!AreadoEntretenimento Comboloc.AddItem TBatividade!Local txtdata.AddItem TBatividade!Data txthorini.AddItem TBatividade!Horarioinicial txthorfim.AddItem TBatividade!HorarioFinal TBatividade.MoveNext Loop Erro: If Err.Number <> 0 Then MsgBox ("Erro #: " & Str(Err.Number) & Err.Description) Exit Sub End If End Sub [/codebox] [codebox] Public Sub CarregarCombo() Dim TBatividade As Recordset Set TBatividade = BancoDeDados.OpenRecordset("cadastro de atividades", dbOpenDynaset) Comboativ.Clear Do While TBatividade.EOF = False Comboativ.AddItem Trim(TBatividade("InstitucaodaAtividade")) Comboativ.ItemData(Comboativ.NewIndex) = TBatividade("codatividade") TBatividade.MoveNext Loop TBatividade.Close Set TBatividade = Nothing End Sub Private Sub Comboativ_Click() Comboarea.Enabled = True CarregarCombo End Sub [/codebox] Mas este me retorna TODAS as linhas do access de determinado campo,e as vezes aparece duas vezes(duplicado) Eu queria que fosse filtrado pra aparecer somente os diferentes no primeiro combobox e nos outros que aparecesse somente as opções q tem haver com a selecionada. alguém poderia me ajudar??
  17. tenho as tabelas, as colunas em negrito são as chaves primárias e as sublinhadas as estrangeiras. FUNCIONARIO (matricula, nome_func, anos_servico, salario, cod_orgao) ORGAO (cod_orgao, nome_orgao) DEPARTAMENTO (cod_depto, localizacao) DIVISAO (cod_div, nome_div) SUBORDINADO (cod_depto, cod_div) GERENCIA (mat_ger, cod_orgao) >> mat_ger está ligado a funcionário FUNC_COMUM (mat_func, cargo) PROJETO (cod_proj, nome_proj, inicio, fim) ALOCA (cod_proj, mat_func, data_alocacao) COORDENA (cod_projeto, mat_coord, data_alocacao) >> mat_coord está ligado a funcionário. SUPERVISIONA (mat_superior, mat_func) PROJ_TECNICO (cod_proj, area_pesquisa) Liste os nomes dos gerentes de divisão e o número e o nome da respectiva divisão. resolvi assim porem não sei se esta certo SQL>select nome_func, mat_ger, nome_div from funcionario,gerencia,divisao where funcionario.nome_func=gerencia.mat_ger and gerencia.mat_ger = divisao.nome_div; Liste matrícula, nome, anos de serviço de todos os gerentes de departamentos que recebem salários maiores que R$ 2.000,00 ou que possuam matrículas maiores que 30, e que tenham mais de 6 anos de serviço. SQL>select mat_ger,nome_func,anos serv, salario from gerencia, funcionario where gerencia.mat_ger=funcionario.nome_func and (salario>'2000,00')or (mat_ger>30)and(anos_serv>6); alguém pode me ajudar
  18. alguém poderia me explicar qual a função dessa linha(pensando numa matriz esparsa) aux.direita.valor=valor tipo temos varios zeros que não seriam inseridos porem o q essa linha acima faz?? tipo estou no 1° zero ele é a vaiavel aux?? 0 6 0 0 0 0 0 5 1 0 0 8 0 0 1 0 seria uma por exemplo struct celula{ float valor; struct celula *direita; };
  19. Tenho que fazer um algoritmo de inserção em matriz esparsa....Este abaixo Porem gostaria muito que olhassem porque preciso saber se esta logica é "entendida" por outras pessoas também... E se puderem dar dicas agradeço valeu!! Algoritmo insere Declara i,para,item.. // item e aux seriam ponteiros Recebe linha,coluna,valor //Recebe tem as variaveis que vêm de outra função. com valor nelas. INICIO item <- Celula() //Alocando celula item.valor <- valor item.linha <- linha item.coluna <- coluna Ponteiro_aux <- cabeca enquanto (i <= coluna) faça //Aqui a coluna tem valor 10 INICIO | aux <- aux.direita FIM enquanto(para == 0)faça INICIO | SE(PARA == 0)E(aux.abaixo.coluna == -1)OU(aux.abaixo.linha>=linha) | INICIO | item.abaixo <- aux.abaixo | aux.abaixo <- item | para <- 1 | FIM | ELSE | aux <- aux.abaixo | FIM_se FIM_enquanto aux <-cabeca i <- 1 enquanto (i <= linha) faça //Aqui a linha tem valor 10 INICIO | aux <- aux.abaixo FIM enquanto(para == 0)faça INICIO | SE(PARA == 0)E(aux.direita.linha == -1)OU(aux.direita.coluna>=coluna) | INICIO | item.direita <- aux.direita | aux.direita <- item | para <- 1 | FIM | ELSE | aux <- aux.direita | FIM_se FIM_enquanto FIM [/codebox]
  20. Na verdade já tem isso da definição de NLINHAS e NCOLUNAS #define NLINHAS 10 #define NCOLUNAS 10 E quanto a erros não quer compilar diz que não esta declarado paux,prem,pnovo...entre outros Esse é o problema maior não sei se seria isso struct MATRIZ *paux; não entendi mesmo isso E só não troco de programa porque preciso entregar um trabalho com a função de inserção somente,porem tenho q fazer ele todo pra rodar e estar certo
  21. É que estou começando a aprender linguagem C,e num livro encontrei este codigo,já sei umas coisas e entendi por parte...so q o Dev C++ não esta compilando isso... E queria entender porque faz parte de eu criar um trabalho também Por isso postei o codigo todo mas só tem partes q não consegui entender para corrigir como a citada acima struct DADO { int valor; }; struct CELULA { int lin; int col; struct DADO dado; struct CELULA *direita; struct CELULA *abaixo; }; struct MATRIZ { struct CELULA linha[NLINHAS]; struct CELULA coluna[NCOLUNAS]; }; void criar(struct MATRIZ matriz) { int i; for (i=0; i < NLINHAS; i++) { matriz.linha[i].direita = NULL; matriz.linha[i].abaixo = NULL; matriz.linha[i].lin = -1; matriz.linha[i].col = -1; } for (i=0; i < NCOLUNAS; i++) { matriz.coluna[i].direita = NULL; matriz.coluna[i].abaixo = NULL; matriz.coluna[i].lin = -1; matriz.coluna[i].col = -1; } } void limparMatriz(struct MATRIZ matriz) { int i; struct MATRIZ CELULA; for (i=0; i < NLINHAS; i++) { CELULA *paux = matriz.linha[i].direita; while (paux != NULL) { CELULA *prem = paux; paux = paux->direita; free(prem); } } } inserir(struct MATRIZ matriz, int lin, int col,struct DADO dado) { struct MATRIZ CELULA; if (lin < NLINHAS && col < NCOLUNAS) { ///////////inserir na linha //aponta para a posição anterior de inserção CELULA *paux = &matriz.linha[lin]; //procurar posição de inserção while (paux->direita != NULL && paux->direita->col < col) { paux = paux->direita; } //célula já preenchida na martiz if (paux->direita != NULL && paux->direita->col == col) paux->direita->dado = dado; else { //cria nova célula CELULA *pnovo = (CELULA *) malloc (sizeof(CELULA)); pnovo->dado = dado; pnovo->lin = lin; pnovo->col = col; //insere na linha pnovo->direita = paux->direita; paux->direita = pnovo; ///////////inserir na coluna paux = &matriz.coluna[col]; //procurar posição de inserção while (paux->abaixo != NULL && paux->abaixo->lin < lin) { paux = paux->abaixo; } //insere na coluna pnovo->abaixo = paux->abaixo; paux->abaixo = pnovo; } return true; } return false; } remover(struct MATRIZ matriz, int lin, int col) { struct MATRIZ CELULA; if (lin < NLINHAS && col < NCOLUNAS) { //aponta para a posição anterior de remoção CELULA *paux = &matriz.linha[lin]; //procurar posição de remoção while (paux->direita != NULL && paux->direita->col < col) { paux = paux->direita; } //se o elemento a direita é o procurado, remover if (paux->direita->col == col) { CELULA *prem = paux->direita; paux->direita = paux->direita->direita; free(prem); } return true; } return false; } consultar(struct MATRIZ matriz, int lin, int col,struct DADO dado) { struct MATRIZ CELULA; if (lin < NLINHAS && col < NCOLUNAS) { CELULA *paux = matriz.linha[lin].direita; while (paux != NULL) { if (paux->col == col) { dado = paux->dado; return true; } paux = paux->direita; } dado.valor = 0; return true; } return false; } [/codebox]
  22. Estou usando Structs e ponteiros...Só que não sei declarar nessa parte o ponteiro tipo nessa parte do programa //Como faria para declarar esse *paux??? void limparMatriz(struct MATRIZ matriz) { int i; for (i=0; i < NLINHAS; i++) { CELULA *paux = matriz.linha[i].direita; [/codebox]
  23. Gostaria muito de saber o que significa e faz no codigo esses simbolos da seta(->) e do (=) item->linha=linha; tem diferença usar esse de cima ou usar esse de baixo :wacko: aux=aux->direita;
×
×
  • Criar Novo...