sales Posted December 27, 2012 at 03:49 AM Report #488559 Posted December 27, 2012 at 03:49 AM (edited) ola amigos gostaria de obter ajuda de vcs se possível, estou fazendo um algoritmo em C que calcula um fatorial e somatório de um vetor de 15 elementos que com uma pesquisa binaria exibe quando pesquisado o fatorial e somatório do numero, chegou em uma parte da pesquisa binaria que não estou conseguindo resolver, alguém poderia me ajudar por favor Edited January 4, 2013 at 04:11 AM by sales Falta GeSHi
HappyHippyHippo Posted December 27, 2012 at 06:53 AM Report #488560 Posted December 27, 2012 at 06:53 AM (edited) antes do mais, coloca o teu código dentro das tags do geshi. se não sabes como, verifica no fundo da página onde diz Ajuda. depois explica exactamente o que o código deveria fazer, porque a tua descrição é ilegível. no final, apresenta qual é realmente a tua dúvida, dizer que não consigo não diz nada sobre qual é o problema em questão Edited December 27, 2012 at 11:06 AM by HappyHippyHippo IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
pmg Posted December 27, 2012 at 10:59 AM Report #488575 Posted December 27, 2012 at 10:59 AM Ao tentar dar uma indentação razoável ao teu código verifiquei que te faltam algumas chavetas o que torna o teu código não compilável. Sugestão: divide o teu programa em várias funções em vez de estar tudo metido dentro da função main. What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!
sales Posted December 27, 2012 at 02:36 PM Author Report #488602 Posted December 27, 2012 at 02:36 PM (edited) ok, vocês poderiam me ajudar ? Edited December 27, 2012 at 03:24 PM by sales
sales Posted December 28, 2012 at 04:12 PM Author Report #488818 Posted December 28, 2012 at 04:12 PM vou explicar melhor, é um codigo que o usuario digita 15 valores e eles são armazenados no vetor A depois disso é criado o vetor B com o fatórial dos valores do vetor A e ainda é criado um vetor C com o somatório dos valores do vetor A tenho que criar uma pesquisa binária para o usuario pesquisar o valor desejado e o programa deve informar o valor pesquisado do vetor A, seu fatorial e somatorio .
HappyHippyHippo Posted December 28, 2012 at 04:24 PM Report #488821 Posted December 28, 2012 at 04:24 PM já corrigiste o problema das chavetas apresentada pelo @pmg ? se sim, apresenta o código que tens (e desta vez tenta por indentado) IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
pmg Posted December 28, 2012 at 04:25 PM Report #488822 Posted December 28, 2012 at 04:25 PM Sabes que 13! (13 * 12 * 11 * ... * 3 * 2) ocupa mais do que 32 bits, nao sabes? E ainda: a biblioteca "Standard" do C tem uma funcao ja feita que serve para pesquisa binaria! Le sobre bsearch(). What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!
sales Posted December 28, 2012 at 04:59 PM Author Report #488830 Posted December 28, 2012 at 04:59 PM (edited) ja fiz a indentação e identifiquei a chave que estava faltando mas nao tem jeito pra esse codigo rodar e nao entendi como adicionar a biblioteca pra pesquisa binaria Edited January 4, 2013 at 04:10 AM by sales
HappyHippyHippo Posted December 28, 2012 at 05:05 PM Report #488831 Posted December 28, 2012 at 05:05 PM ja fiz a indentação e identifiquei a chave que estava faltando ainda está errado ... faz a indentação como deve ser e mete isso como deve ser. é impossível isso compilar como está IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
sales Posted December 28, 2012 at 05:15 PM Author Report #488832 Posted December 28, 2012 at 05:15 PM é isso que estou tentando te falar, eu nao sei fazer, estou começando programar em C agora e o máximo que eu consegui foi isso 😞
HappyHippyHippo Posted December 28, 2012 at 05:33 PM Report #488833 Posted December 28, 2012 at 05:33 PM aqui tens o teu código indentado, vê onde te falta os parênteses e/ou onde tens a mais #include <stdio.h> #include <stdlib.h> #include <conio.h> int main() { int matrizA [2], matrizB[2],matrizC[2], i=0, j, fatorial=1, cont=0, elemento, somatorio, aux; char resposta = 's'; bool parar = false; for (i=0; i<2; i++) { printf ("Digite o %d elemento: ", i); scanf ("%d", &matrizA[i]); } int outra=0; for (i=0; i<1; i++) { outra = matrizA[i]; for (j=i++; j<2; j++) { if (matrizA[i] < matrizA[j]) { aux = matrizA[i]; matrizA[i] = matrizA[j]; matrizA[j] = aux ; } } for (i=0; i<2; i++) printf ("A matriz ordenada A %d \n ", matrizA[i] ); getch (); } for (i=0; i<2; i++) { matrizB[i] = matrizA[i]; } for (cont=0; cont<2; cont++) { elemento = matrizB[cont]; fatorial=1; while (fatorial < matrizB[cont]) { elemento = fatorial * elemento; fatorial == fatorial++; } printf (" O fatorial de %d %d \n",matrizB[cont], elemento); getch (); } for (i=0; i<2; i++) { matrizC[i] = matrizA[i]; } for (cont=0; cont<2; cont++) { elemento = matrizC[cont]; somatorio=0; while (somatorio < matrizC[cont]) { elemento = somatorio + elemento; somatorio == somatorio++; } printf (" O somatorio de %d %d \n",matrizC[cont], elemento); getch (); } //Pesquisa Binária int resposta=1, sim = 1, nao = 0, acha = 0, pesquisa, comeco, final, meio; while (resposta == 1) { printf ("Qual o número a ser pesquisado na matriz A? "); scanf ("%d", &pesquisa); comeco=1; final=2; acha=0; printf ("atribuicao de valores pra final %d \n acha %d \n e comeco %d \n ", final, acha, comeco); getch (); while (comeco < final) && (acha==0) { meio = (comeco + final)/2; printf ("acha %d \n", acha); getch (); if (pesquisa == matrizA[meio]) { printf ("achou "); achou = 1; getch (); else { if (pesquisa > matrizA[meio]) { final= meio--; else { comeco = meio++; } } } } } } printf ("Deseja pesquisar outro valor para a matriz A? \a \a(sim/nao) "); scanf ("%d",&resposta ); getch (); } IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
sales Posted December 28, 2012 at 06:02 PM Author Report #488837 Posted December 28, 2012 at 06:02 PM as chaves estão certas 17 abertas para 17 fechadas, parênteses também esta dando um erro na compilação na linha // int resposta=1, sim = 1, nao = 0, acha = 0, pesquisa, comeco, final, meio;
HappyHippyHippo Posted December 28, 2012 at 06:27 PM Report #488842 Posted December 28, 2012 at 06:27 PM as chaves estão certas 17 abertas para 17 fechadas achas mesmo que é assim que se verifica ???? int main() }}}}}} return 0; {{{{{{ 6 abertas e 6 fechadas, então está correcto ... achas que os programadores são pessoas tão paranóicas que querem o código indentado só para ficar bonito ? NÃO !!!! os programadores querem o código indentado para ver este tipo de problemas em 2 segundos em vez de 30 minutos !!! IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
pmg Posted December 28, 2012 at 06:35 PM Report #488844 Posted December 28, 2012 at 06:35 PM (edited) esta dando um erro na compilação na linha int resposta=1, sim = 1, nao = 0, acha = 0, pesquisa, comeco, final, meio; A linguagem C sofreu varias alteracoes ao longo dos anos. A primeira versao "Standardizada" foi publicada em 1989 (ou 1990 segundo o organismo de "standardizacao"). Depois disso, foi publicado outro Standard em 1999 ... e outro em 2011. Aparentemente o teu compilador é um compilador para a versao de C de 1989 (que nao aceitava definicoes de variaveis no meio de codigo). Se eu tiver razao tens, basicamente, duas hipoteses: a) usa um compilador de C para a versao de 1999 (ou 2011) b) altera o teu codigo para estar compativel com a versao de 1989 Para a opcao a tens varias hipoteses de download de varios compiladores (o Microsoft Visual Studio é um compilador de C versao 1989 (com extras)) Para a opcao b passa todas as declaracoes para linhas anteriores, antes de qualquer instrucao. Edited December 28, 2012 at 06:38 PM by pmg What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!
sales Posted December 28, 2012 at 07:02 PM Author Report #488848 Posted December 28, 2012 at 07:02 PM estou usando o Bloodshed Dev-C++, eu admito Sr. HappyHippy que não sei indentar nem verifica chaves, este codigo esta muito complicado pra mim, obrigado pela ajuda de vcs, eu desisto ..
pmg Posted December 28, 2012 at 07:47 PM Report #488863 Posted December 28, 2012 at 07:47 PM (edited) estou usando o Bloodshed Dev-C++ Nao conheco esse software mas, de acordo com uma pesquisa no Google, ele usa o GCC como compilador. O GCC tanto pode compilar C de 1989, como C de 1999 (como outras versoes, nem todas "Standardizadas"). Le o manual da aplicacao para saberes como has-de dizer ao compilador propriamente dito para usar a versao de C de 1999. Usando o compilador isoladamente na linha de comando do Linux (ou Windows), a maneira de pedir C99 é gcc -std=c99 -pedantic ... Por enquanto (gcc version 4.7.2), se nao se usar parametros, o compilador é para a linguagem conhecida como GNU89 (esta linguagem é basicamente a versao publicada em 1989 com extras -- mas sem declaracao de variaveis e codigo misturados) Edited December 28, 2012 at 07:48 PM by pmg What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!
HappyHippyHippo Posted December 28, 2012 at 08:10 PM Report #488865 Posted December 28, 2012 at 08:10 PM olha par o código que apresentei e verifica estas condições: - se uma chaveta foi aberta numa coluna, necessita obrigatóriamente de ser fechada (na mesma coluna) posteriormente - se uma chaveta foi aberta numa coluna, não podes voltar a abrir (na mesma coluna) sem a fechar - se uma chaveta foi fechada numa coluna, deverá aparecer imediatamente antes (na mesma coluna) uma aberta estas não são regras de indentação, mas sim um conjunto de regras de visualização de erros em código bem indentado IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now