Justiceira
-
Total de itens
44 -
Registro em
-
Última visita
Posts postados por Justiceira
-
-
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
-
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
-
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??
-
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] -
Rsrsrs...é Kuroi é um nome legal tambem.
Mas quanto ao codigo vou testar aqui o que voce sugeriu
-
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] -
Deu certinho Kuroi valeu!!!
-
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
-
é verdade testei funcionou legal
Valeu Kuroi
-
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??
-
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 Subalguém pode me ajudar nisso
-
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
-
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???
-
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??
-
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
-
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??
-
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
-
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;
};
-
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] -
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
-
É 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] -
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] -
valeu entendi agora...Muito Obrigada :D
-
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;
Problema em C
em C, C++
Postado
Eu fiz algo meio maluco aqui pra tentar resolver este meu problema
inicialmente eu pegaria as resistencias,e voltagens.
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??