Ir para conteúdo
Fórum Script Brasil

Beraldo

Veteranos
  • Total de itens

    4.466
  • Registro em

  • Última visita

Tudo que Beraldo postou

  1. Beraldo

    Ajudaa em codigo

    O programad eve rodar num loop. Por exemplo: do { /* Mostra o menu. A opção 0 corresponde a SAIR */ opcao = getchar(); /* Aqui você faz um switch para testar a opção digitada */ } while (opcao != 0);
  2. Só complementando a resposta do Durub: Na matriz teste[3][4] é possível armazenar três strings de tamanho 4, ou seja 3 strings de trÊs caracteres, pois o último caractere é o ''. Por exemplo: #include <stdio.h> #include <time.h> int main(void){ char nomes[3][4] = {"abc", "def", "ghi"}; int i; for (i = 0; i < 3; i++) { printf("%s\n", nomes[i]); } return 0; } Por isso, a matriz postada pelo Durub na verdade só armazenará 31 caracteres.
  3. Beraldo

    Ajuda simples

    /** * retorna 1 se o número existe no vetor. Senão retorna 0 */ int existe_indice(int numero, int *vetor) { loop que percorre todo o vetor em busca de numero. se um índice do vetor for igual a numero, retorna 1 e párqa o loop (break) } int main() { int *numeros; num <- lê numero if (existe_indice(num, vetor) == 0) // adiciona numero a vetor imprime vetor return 0; }
  4. Veja se isto funciona: dirs=$(ls /produ/dados | grep -v "Clientes") tar -cjv $dirs -f /backup/$var_date/bk-dados-$var_date.tar Seria mais descritivo se você especificasse a extensão como tar.bz2, já que você está usando bzip2 também
  5. Você pode passar para o comando tar a saída de ls diretorio_base | grep -v "diretorio_que_nao_deve_ser_incluso"
  6. Beraldo

    Ajuda simples

    armazene num vetor (array) os números digitados. A cada inserção no array, verifique se o número já está presente nele. Se não estiver, insira-o. Depois é só imprimir o vetor
  7. Um número é par se é divisível por 2. Logo: if numero MOD 2 = 0 Then Write('É par'); else Write('É ímpar');
  8. Comece a implementar, que as odéias vão surgindo. Pense na estrutura de dados e jáça o menu. Com isso pronto muita coisa ficará mais clara para você
  9. Saber manipular arquivos (de preferência no modo binário) é essencial num programa assim. Crie um estruutra que represente as contas. Aí você salva a estrutura diretamente no arquivo: fwrite(estrutura, sizeof(nome_da_esrtutura), 1, fp);
  10. Beraldo

    Matriz

    então não há outra forma senão estudar: http://www.google.com/search?ie=UTF-8&...&q=matriz+c Achar maior e menor de um vetor é problema fundamental. Uma busca no Google retorna a resposta. Somar os números também depende de saber ercorrer o vetor. É bem simples: soma = 0; for (i = 0; i < tamanho_vetor; i++) { soma += vetor[i]; } Você só entenderá tudo isso se souber percorrer um vetor, que é o básico do básico do elementar da manipulação de vetores
  11. Beraldo

    Matriz

    Em qual parte você tem dificuldade? Sabe como ler um vetor e depois exibí-lo?
  12. Beraldo

    5 anos

    Isso mostra como você participa ativamente do fórum... :closedeyes:
  13. Matriz, na verdade, é uma forma de se imaginar um vetor bidimensional. É a mesma definição matemática: http://pt.wikipedia.org/wiki/Matriz_(matem%C3%A1tica) A diferença é que, na Matemática, o primeiro elemento [e 1 x 1. Em Computação, como tudo começa em zero, o primeiro elemento é 0 x 0. Imagine esta matriz: | a b | | c d | matriz[0][0] -> a matriz[0][1] -> b matriz[1][0] -> c matriz[1][1] -> d O primeiro índice é a linha e o segundo, a coluna. Aqui há mias exemplos: http://www.google.com/search?ie=UTF-8&...&q=matriz+c Entendeu?
  14. Beraldo

    Erro no linker?

    Por nada. Estamos aqui para isso Todos nós fomos iniciantes. :)
  15. Beraldo

    Ajuda em programa!

    iostream é do C++. Ainda não mexi com C++, então não posso dizer muita coisa. Mas basta abrir o arquivo num editor de texto e olhar. Outra opção é ler isto: http://www.cplusplus.com/reference/iostream/ Como você fez? Você tem de percorrer a string inteira, caractere por caractere - como um vetor -, e alterar o número deles correspondentes na tabela ASC.
  16. Beraldo

    Erro no linker?

    Não tem que "dizer" que o código está em x.c, y.c... Você vai compilar todos os .c em um único executável.
  17. Beraldo

    Erro no linker?

    Todos os header files têm apenas os protótipos das funções. Pode abrir o stdio.h, por exemplo, para ver. ;) Você implementa as funções em stack.c e coloca no stack.h os protótipos delas. Aí no pilha.c você inclui com asas #include "stack.h" Entendeu?
  18. Beraldo

    Ajuda em programa!

    como você implementou strlwr() e strupr()? Basta somar ou subtrair 32, conforme a conversão desejada http://pt.wikipedia.org/wiki/ASCII
  19. Beraldo

    Ajuda em programa!

    Se for permitido usar as funções nativas do C, você pode usar isupper() e islower() para saber se é maiúsculo ou minúsculo, toupper() e tolower() para converter para maiúsculo ou minúsculo. Se não for permitido, terá de converter os caracteres para int (basta um casting para isso) e compará-los com os valores na tabela ASC
  20. Beraldo

    malloc?

    No seu programa, não existe o tipo telem. Existe apenas struct telem. Para definir tipos, use typedef.
  21. Beraldo

    malloc?

    Eu tenho: poste o código que você usou. :) Só assim poderemos entender o que você está fazendo de errado.
  22. Beraldo

    Erro no linker?

    Existem duas formas de incluir arquivos: #include <library.h> Usando os sinais de maior e menor, inclui-se uma biblioteca nativa do C, como stdio.h, stdlib.h. Outra forma é usando aspas: #include "library.h" Assim se inclui uma biblioteca própria. Essa deve ser a forma como você deve incluir stack.h. ;) Outra coisa: nos *.h, coloque apenas os protótipos das funções. As respectivas implementações devem ser feitas em arquivos .c. Logo, tenha um stack.c e um stack,.h. E prefira definir uma constante em cada .h, evitando múltiplas inclusões: stack.h #ifndef _STACK_H_ #define _STACK_H_ contéudo do .h #endif
  23. Não sou nenhum expert ou grande conhecedor da linguagem AWK, mas ela é muito útil e me ajudou muito nas provas sobre Shell Script na faculdade. Por isso resolvi escrever este pequeno e introdutório tutorial acerca dessa linguagem. É bom todo usuário Linux saber usá-la. :) AWK é uma linguagem utilizada para processamento de informações em texto, como o conteúdo de um arquivo - principalmente informações em colunas - ou a saída de outros comandos, como cat, grep etc. A estrutura de um script AWK (pode estar em um arquivo ou ser escrito diretamente na linha de comando - Shell) é a seguinte: BEGIN{ Comandos executados ao iniciar o processamento, antes de ler as linhas do texto } [condicao]{ Comandos a serem executados em todas as linhas do texto } END{ Comando final. Executado após o processamento de todas as linhas } A condição do segudo bloco é opcional. Se não especificada, os respectivos comandos do bloco serão executados em todas as linhas. Caso contrário, serão executados apenas nas linhas que satisfizerem a condição. A condição pode ser uma expressão regular. Basta colocá-la entre barras: /^A/{ Comando... } Se um bloco de comandos estiver vazio, é executado print $0, ou seja, imprime a linha corrente. Algumas variáveis definidas no AWK: FS -> separador de campos NR -> número da linhas NF -> número de campos na linha Para mais informações:Manpage do AWK: $ man awkhttp://www.gnu.org/software/gawk/manual/gawk.htmlhttp://en.wikipedia.org/wiki/AwkExemplos: Filtra as linhas com o padrão especificado. Linhas que terminam com conf ls -l /etc | awk /conf$/ Usando outro separador de campos e imprimindo colunas cat /etc/passwd | awk -F: '{print $1}' Usando separador de campos ls -l /etc |awk '{print $1 FS $8}' Numerando linhas ls -l /etc | awk '{print NR FS$1 FS $8}' Filtra linhas com padrão especificado e mostra apenas as colunas 1 e 8. ls -l /etc | awk '/conf$/{print $1" "$8}' Imprime as linhas com mais de 3 campos. Elimina a primeira linha do ls -l (Total) ls -l /etc | awk 'NF > 3' Filtra linhas com arquivos cujos nomes possuem menos de 5 caracteres ls -l /etc | awk 'length($8) < 5' Imprime linhas pares ls -l /etc | awk 'NR % 2 == 0 {print NR" "$0}' Substitui strings ls -l /etc | awk '{sub(/conf$/,"test"); print $0}' Procura expressão em determinado campo ls -l /etc | awk '$8 ~ /^[ae]/' Inserindo strings entre campos cat /etc/passwd | awk -F: '{print "Login: " $1}' Filtra a saída de ls -l, a fim de mostrar o nome do arquivo, suas permissões e seu tamanho (a condição NR != 1 evita que a linha Total seja exibida): ls -l | awk 'NR != 1{print "Nome: "$8" Perm: "$1" Tamanho: "$5}' Imprime o comprimento da maior linha awk '{ if (length($0) > max) max = length($0)}; END { print max}'; arquivo Imprime as linhas com mais de 42 caracteres awk 'length($0) > 42' arquivo Exibe o número de linhas do arquivo awk 'END { print NR }' arquivo
×
×
  • Criar Novo...