tahinf

Membros
  • Content Count

    13
  • Joined

  • Last visited

Community Reputation

0 Neutro

About tahinf

  1. tahinf

    while

    #include <stdio.h> #include <stdlib.h> #include <conio.h> pessoal, o q tm de errado com esse código? quando digito um número, aparece aquela tela falando q encontrou um problema e precisa ser fechado int main() { int num=1; char resp; while(num!=0){ printf("Digite um número: "); scanf("%d",num); }; system("pause"); return 0; }
  2. tahinf

    comparar dois arquivos

    agora ele lê o void, mas mesmo sendo iguais tá falando que não são e não tá indo pra próxima palavra que seria int e comparando no arquivo inteiro novamente. alguém pode ajudar? #include <stdio.h> #include <conio.h> #include <stdlib.h> #define max 100 FILE * fp, *fp2; void open() { if((fp=fopen("hello.txt","r"))==NULL) { printf("Erro"); exit(1); } } void open2(){ if((fp2=fopen("chaves.txt","r"))==NULL) { printf("Erro"); exit(1); } } int main(int argc, char *argv[]) { open(); open2(); char ca[100], carc[100]; fgets(ca,max,fp); fgets(carc,max,fp2); while((!feof(fp2))) { while((!feof(fp))) { printf("\n carc: %s",carc); printf("\n ca: %s",ca); if(strcmp(ca, carc)!=0) { printf("\n"); } else { printf(" ENCONTROU %s",carc); } fgets(ca,max,fp); } fclose(fp); open(); fgets(ca,max,fp); fgets(carc,max,fp2); } fclose(fp); fclose(fp2); system("PAUSE"); return 0; }
  3. tahinf

    comparar dois arquivos

    olá! estou tentando fazer um programa que lê um arquivo e procura nele certas palavras q está em outro arquivo. Está dando +- certo, só que a primeira palavra que está no arquivo chaves ele não encontra(mas está no outro arquivo) #include <stdio.h> #include <conio.h> #include <stdlib.h> #define max 100 int main(int argc, char *argv[]) { FILE * fp, *fp2; char ca[100], carc[100]; if((fp=fopen("hello.txt","r"))==NULL) { printf("Erro"); exit(1); } if((fp2=fopen("chaves.txt","r"))==NULL) { printf("Erro"); exit(1); } fgets(ca,max,fp); fgets(carc,max,fp2); while((!feof(fp))) { if(strstr(ca, carc)==NULL) { printf("\nnão encontrou\n"); } else { printf("%s",carc); } fgets(ca,max,fp); fgets(carc,max,fp2); } fclose(fp); fclose(fp2); system("PAUSE"); return 0; } arquivo hello: #include <stdio.h> void main() { printf ("Hello World!\n"); int i; } arquivo chaves: void int
  4. estou tentando fazer um exercicio de pilha com estrutura de lista circular simplesmente encadeada, ele insere certinho, porém está dando problema na hora de retirar o último elemento da pilha o borland acusa essa linha numero = q->dado; mas parece q ele nem entra nessa if ((q->prox )== *pilha1) #include <stdio.h> #include <stdlib.h> #include <conio.h> struct pilha { int dado; struct pilha *prox; }; typedef struct pilha *def_pilha; def_pilha Pilha; def_pilha cria_no (int numero) { def_pilha no = (def_pilha) malloc(sizeof(struct pilha)); no->dado = numero; printf("\n\n cria no numero %d", no->dado); no->prox = NULL; return no; } void inicializa (def_pilha* pilha1) { *pilha1 = NULL; } int vazia(def_pilha pilha1) { return(pilha1 == NULL); } void push(int numero, def_pilha* pilha1) { def_pilha q = cria_no(numero); if (vazia(*pilha1)) { *pilha1 =q; printf("inicializou"); } else{ q->prox=(*pilha1)->prox; (*pilha1)->prox=q; printf("não inicializou"); } } int pop(def_pilha* pilha1) { def_pilha q; int numero; printf("\n entrou pop"); if (vazia(*pilha1)) {exit(1); printf("\n if vazia");} q = (*pilha1)->prox; numero = q->dado; if ((q->prox )== *pilha1) {printf("\n q = pilha"); *pilha1=NULL; } else{ (*pilha1) ->prox = q ->prox; } free(q); printf("passou free"); return(numero); } int main (void) { int decimal,num=0; inicializa(&Pilha); printf(" insira numero \n"); scanf("%d",&decimal); do{ push(decimal,&Pilha); printf(" insira numero \n"); scanf("%d",&decimal); }while(decimal!=0); while (!vazia(Pilha)) { num=pop(&Pilha); printf(" \n numero: %d ",num); } getche(); }
  5. Boa tarde! estou fazendo um trabalho da facul e nele o numero digitado é float, queria fazer algo pra não deixar o usuário digitar caracter ou fazer q apareça alguma msg de erro porque quando digita ele dá erro (claro né) obs: o programa tá funcionando certinho, só queria deixar mais certinho ^^
  6. pode ser =/ os dois casos =/ mas primeiro estou tentando o mais simples: sen x
  7. Olá pessoal! Tenho um trabalho para fazer, a prof quer que calcule o sen também, só que if para verificar se o usuario digitou sen num tá dando certo, podem me ajudar? por favor <style type="text/css"> div .saida { padding-left: 7cm; margin-top: -6cm; } h1 { color: #f66000 } span { font-family: Arial; font-size: 12px; } p { font-family: Helvetica; } </style> &lt;script> var T_u = new Array(); var T_v = new Array(); var T_u_T_v = new Array(); var T_uv = new Array(); var T_u_e = new Array(); var T_v_e = new Array(); function clear() { T_u = new Array(); T_v = new Array(); T_u_T_v = new Array(); T_uv = new Array(); T_u_e = new Array(); T_v_e = new Array(); } function verifica() { clear(); var count = 0; var count2 = 0; var e = new Array(); for(i=0; i<3; i++) { e[i] = document.getElementById('e'+i).value != '' ? document.getElementById('e'+i).value : '0'; if(e[i]!='0') count2++; } var dominio = "T: R"; for(i=0; i<3; i++) { if(document.getElementById('v1'+i).value != '' && document.getElementById('v2'+i).value != '') count++; } if(count == 2) dominio += "²"; if(count == 3) dominio += "³"; dominio += "-> R"; if(count2 == 2) dominio += "²"; if(count2 == 3) dominio += "³"; if(!TZero(e)) { dominio +="<br /><br /><span class=\"error\">T(0) &eacute; diferente de zero</span>"; } else { dominio +="<br /><br /><span>T(0) &eacute; igual a zero</span>"; } if(!Testa(e, 'soma')) { dominio +="<br /><br /><span class=\"error\">T(u+v) &eacute; diferente de T(u) + T(v)</span>"; } else { dominio +="<br /><br /><span>T(u+v) &eacute; igual a T(u) + T(v)</span>"; } clear(); if(!Testa(e, 'alfa')) { dominio += "<br /><br /><span class=\"error\">T(u*R) &eacute; diferente de T(u)*R</span>"; } else { dominio +="<br /><br /><span>T(R*u) &eacute; igual a T(u)*R</span>"; } document.getElementById('saida').innerHTML = dominio; document.getElementById('saida').style.display = 'block'; } function TZero(Teq) { for(i=0;i<3;i++) { var regExp = /x|y|z/gi; var T = Teq[i].replace(regExp, "0"); if(eval(T) != 0) return false; } return true; } function substitui(T, vetor) { regExp = /x/gi; if(T == "sen") { document.write("entrou if "); T = T.replace("sen", " "); T = T.replace(regExp, vetor[0]); T = Math.sin(T); return T; } else { T = T.replace(regExp, vetor[0]); regExp = /y/gi; T = T.replace(regExp, vetor[1]); regExp = /z/gi; T = T.replace(regExp, vetor[2]); return T; } } function Testa(Teq, tipo) { var flag = true; for(j=0;j<3;j++) { var u = new Array(); for(i=0; i<3; i++) u[i] = document.getElementById('v1'+i).value != '' ? document.getElementById('v1'+i).value : '0'; var v = new Array(); for(i=0; i<3; i++) v[i] = document.getElementById('v2'+i).value != '' ? document.getElementById('v2'+i).value : '0'; var s = new Array(); for(i=0; i<3; i++) s[i] = parseFloat(v[i])+parseFloat(u[i]); var Tu = substitui(Teq[j], u); var Tv = substitui(Teq[j], v); if(tipo == 'soma') { Tu = eval(Tu); T_u.push(Tu); Tv = eval(Tv); T_v.push(Tv); T_u_T_v.push(Tv+Tu); var Ts = substitui(Teq[j], s); Ts = eval(Ts); T_uv.push(Ts); if(!((Tu + Tv) == Ts)) flag = false; } else { Tu = eval(Tu)*parseFloat(document.getElementById('alfa').value); T_u.push(Tu); Tv = eval(Tv)*parseFloat(document.getElementById('alfa').value); T_v.push(Tv); var u_alfa = new Array(); for(i=0; i<3; i++) u_alfa[i] = parseFloat(u[i])*parseFloat(document.getElementById('alfa').value); var Tue = eval(substitui(Teq[j], u_alfa)); T_u_e.push(Tue); if(Tue != Tu) flag = false; var v_alfa = new Array(); for(i=0; i<3; i++) v_alfa[i] = parseFloat(v[i])*parseFloat(document.getElementById('alfa').value); var Tve = eval(substitui(Teq[j], v_alfa)); T_v_e.push(Tve); if(Tve != Tv) flag = false; } } return flag; } </script> <html> <head> <title>Verifica se a Trans</title> <h1>Verifica se a Trans</h1> </head> <body> <div class="main"> <div class="info" id="info"> <p>Ao inserir valores no T:(x, y, z), favor inserir desta forma (Assim como no exemplo já preenchido): <br />Se 2x, insira 2*x. <br />Se x², insira x*x. <br />Utilize apenas números no valor do Alfa.<br /><br /></p> </div> <div class="entrada" id="entrada"> <div class="entrada_data"> <label>T:</label> (<input type="text" id="e0" name="e0" size="10" value="x*x"/>, <input type="text" id="e1" name="e1" size="10" value="3*y"/>, <input type="text" id="e2" name="e2" size="10"/>) <br /><br /><br /> <label>u:</label> (<input type="text" id="v10" name="v10" size="2" value="3"/>, <input type="text" id="v11" name="v11" size="2" value="2"/>, <input type="text" id="v12" name="v12" size="2"/>) <br /><br /> <label>v:</label> (<input type="text" id="v20" name="v20" size="2" value="1" />, <input type="text" id="v21" name="v21" size="2" value="4"/>, <input type="text" id="v22" name="v22" size="2"/>) <br /><br /><br /> <label>Alfa:</label><br /> <input type="text" id="alfa" name="alfa" size="3" value="4"/> <br /><br /><br /> </div> </div> <button class="botao" onclick="verifica();">Verificar</button> <input type="text" id="v22" name="testr" size="2"/> <div class="saida" id="saida"> </div> </div> </body> </html>
  8. tahinf

    lista encadeada simples

    dado o numero, tenho q removê-lo da lista todas as ocorrẽncias do elemento... se eu digito 1, 2, 2, 2, 2, 3 e coloco p excluir o 2, aparece certo o numero de vezes que tem o 2, mas na hora de excluir, não tá dando certo, aparece q tm esses numeros na lista 3 , 4072688, 4072656, 1 int remove_lista_exer9 (def_lista* Lista, int numero) { k=0; def_lista aux=*Lista; def_lista ant=NULL; def_lista help=NULL; while (aux!=NULL) { if (aux->info == numero) { help = ant->prox; ant->prox = aux->prox; free(aux); k++; } else { ant=aux; aux=aux->prox; } } return k; } ................... case 12: printf("numero a ser retirado da lista"); scanf("%d",&numero); remove_lista_exer9(&L,numero); printf("\nEncontrou o numero foi retirado %d vezes \n",k); break;
  9. olá! estou tentando fazer um programa que compare dois arquivos textos e informe se são iguais ou não e qual linha são diferentes mas mesmo os arquivos sendo iguais, ele tá acusando que são diferentes o.O" #include <stdio.h> #include <string.h> #include <ctype.h> #include <conio.h> #include <stdlib.h> int main() { FILE *fs, *fp; char c,c2; int linha =1, diferente=0; fp = fopen("l24.txt","r"); /* Arquivo ASCII, para leitura */ if(!fp) { printf( "Erro na abertura do arquivo"); } fs = fopen("l24_dest.txt","r"); if(!fs) { printf( "Erro na abertura do arquivo1"); } c = getc(fp); c2 = getc(fs); while(!feof(fp)) { if (c==c2){} else { //duas diferentes printf("são diferente na linha %d", linha ); diferente=1; } if (c=='\n') { linha++; } c = getc(fp); c2 = getc(fs); } if (diferente == 0) { printf("são iguais"); } getche(); fclose(fs); fclose(fp); return 0; }
  10. é texto.. no arquivo entrada.dat terá por exemplo: 10 20 28 não consegui colocar o numero como ponteiro, ele dá um erro.. tentei fazer o seguinte #include <stdio.h> #include <stdlib.h> int equadri(); int verifica(); int naoequadri(); FILE *p; FILE *pb; char numero[100]; unsigned int i=0u; int n, m, p1,p2,p3,p4,n1,n2,n3,n4,k=1, boolean =0,isNumber=1; char carac[50]; char c; int main() { if (!(p = fopen("entrada.dat","r"))) { printf("Erro! Impossivel abrir o arquivo!\n"); system("PAUSE"); } if (!(pb = fopen("saida.dat","w"))){ printf("Erro! Impossivel criar o arquivo!\n"); system("PAUSE"); } while (!feof(p)) { fscanf(p,"%s",numero); while(numero[i]!='/n'){ if(numero[i]<='0' || numero[i]>='9') { isNumber=0; printf("errooooo"); fprintf(pb,"\n ERRO!!! \n Caracter diferente de numero foi encontrado",n); break; }} if (isNumber==1) { n = atoi(numero); boolean = 0; verifica(); } i++; isNumber=1; }//fim do while system("PAUSE"); fclose(pb); fclose(p); return(0); } int equadri() { fprintf(pb,"\n O numero %d e quadri e: %d \n",n,k); } int naoequadri() { fprintf(pb,"\n O numero %d não e quadr \n",n); } int verifica(){ do { //conta } k++; }while(k<=n); if (boolean ==0){ naoequadri(); } } só q desse jeito não aparece nd na tela.. e o borland fala esses erros + Warning] Unit1.c(17): W8060 Possibly incorrect assignment [C++ Warning] Unit1.c(21): W8060 Possibly incorrect assignment [C++ Warning] Unit1.c(30): W8098 Multi-character character constant [C++ Warning] Unit1.c(30): W8068 Constant out of range in comparison [C++ Warning] Unit1.c(30): W8012 Comparing signed and unsigned values [C++ Warning] Unit1.c(42): W8065 Call to function 'verifica' with no prototype [C++ Warning] Unit1.c(62): W8070 Function should return a value [C++ Warning] Unit1.c(67): W8070 Function should return a value [C++ Warning] Unit1.c(88): W8065 Call to function 'equadri' with no prototype [C++ Warning] Unit1.c(100): W8065 Call to function 'naoequadri' with no prototype [C++ Warning] Unit1.c(103): W8070 Function should return a value
  11. olá pessoal! tenho q fazer um prog q tm q pegar o numero do arquivo, ver se é numero ou não, verificar se é um negócio (esqueci o nome) e gera outro arquivo. O problema tá na parte de verificar se é num ou não, se colocor por exemplo a72 ele dá a msg de erro, porém se coloco 72a ou 72a num aparece a msg uma coisa estranha também q nos printf q coloquei p ver o valor de i aparece um numero muito grande tp 402024 sendo q o arquivo só tm 3 linhas, 10 caracteres nele no máximo #include <stdio.h> #include <stdlib.h> #include <ctype.h> int equadri(); int verifica(); int naoequadri(); FILE *p; FILE *pb; int n, m, p1=0,p2=0,p3=0,p4=0,n1,n2,n3,n4,k=1, boolean =0,i=0; char carac[100]; char c; int main() { if (!(p = fopen("entrada.dat","r"))) { printf("Erro! Impossivel abrir o arquivo!\n"); system("PAUSE"); } if (!(pb = fopen("saida.dat","w"))){ printf("Erro! Impossivel criar o arquivo!\n"); system("PAUSE"); } while (!feof(p)) { fscanf(p,"%s",carac); // printf("i antes do if %d", &i); if(!isdigit(carac[i])) { printf("i dentro do if%d", &i); fprintf(pb,"\n ERRO!!! \n Caracter diferente de numero foi encontrado",n); } else { printf("i%d", &i); n = atoi(carac); boolean = 0; verifica(); k=1; } i++; }//fim do while system("PAUSE"); fclose(pb); fclose(p); return(0); } int equadri() { fprintf(pb,"\n O numero %d e quadri e o operador e: %d \n",n,k); } int naoequadri() { fprintf(pb,"\n O numero %d não e quadri \n",n); } int verifica(){ do { // faz a conta } k++; }while(k<=n); if (boolean ==0){ naoequadri(); } }