-
Total de itens
72 -
Registro em
-
Última visita
Tudo que isrnick postou
-
stdin é abreviação do inglês standard input, ou entrada padrão em português. Nesse caso trata-se do 'fluxo' de entrada de dados na forma de texto através do console (prompt de comando). São digitados caracteres no prompt, e esses caracteres podem ser processados pelas funções das bibliotecas padrão do C (stdio.h, stdlib.h, etc) e outras. A função scanf() por exemplo obtém todos os caracteres digitados na entrada padrão até a última vez que Enter foi pressionado, e as processa dependendo dos parâmetros passados para a função (Ex: "%c%*c", &l) transformando de texto para o tipo correto (%d para inteiro, %f para float, etc) e armazenando os valores nas variáveis fornecidas. Mas o que não for utilizado pela função scanf fica lá na entrada padrão (se você digitar mais do que os parâmetros indicados na função esperam, por exemplo) podendo ser utilizados posteriormente por qualquer outra função de captura de entrada. A tecla Enter também produz um caractere quando pressionado, o caractere nova linha '\n', você certamente já usou esse caractere várias vezes no printf(). Então quando você aperta E e depois Enter você coloca 2 caracteres na entrada 'E' e '\n', mas os scanfs no seu programa estão esperando capturar caracteres (%c), e o caractere nova linha é um caractere, então o primeiro scanf armazenaria o caractere 'E' na variável l, e o scanf seguinte guardará o caractere '\n' na variável p, que quando combinado com erro do ; no IF gerou aquele resultado do seu programa original. A diferença dos seus programas anteriores é que provavelmente você não estava lendo caracteres no scanf, mas sim inteiros ou números com ponto flutuante (float), e apesar do caractere nova linha ainda estar lá sobrando na entrada, ele era ignorado pois os scanfs procurariam apenas números, não qualquer caractere. Quanto a sua pergunta: Aqui: int total=0; while(frase2[total] != '\0'){ total++; } Você começa a contagem em 0, e o while continua procurando até achar o caractere nulo '\0' que é o caractere que indica o fim da string.Pois em C toda string termina no caractere nulo (portanto um vetor de caracteres de comprimento 50 só pode armazenar uma string de até 49 caracteres não nulos, pois nesse caso a última posição do vetor deverá armazenar o caractere nulo). E no final terá o comprimento da string armazenado na variável total. Entretanto aqui: int e=0; for(d=0;d<50;d++){ if(frase2[d]!='\0'){ e++; } } d vai de 0 até 50, sempre indo até a última posição do vetor. Vamos supor que você declarou o vetor "char frase2[50]", o que significa que você alocou memória para armazenar os dados desse vetor, mas lá nesse espaço da memória já tinha alguma informação já que foi usada por algum outro programa anteriormente, e agora é nada mais que lixo. Você então usa um scanf para armazenar uma frase nesse vetor, por exemplo "abcde", então as 6 primeiras posições do vetor serão ocupadas por essas 5 letras mais o caractere nulo '\0', mas observe que o restante do vetor não foi alterado, ainda contém qualquer bobeira que já estava lá. Seu programa vai sair contando todos os caracteres no vetor inteiro que são diferentes de '\0', contando até qualquer coisa que está armazenada lá em cada um do resto das posições do vetor como sendo um caractere (dependendo pode até coincidentemente ter algum que tá com um 0 lá e não será contado). Logo, o resultado muito provavelmente dará errado. O modo correto de fazer o mesmo que o while no primeiro código usando for seria: int e; for(e=0; frase2[e]!='\0'; e++); ou para usar as mesmas variáveis: int total; for(total=0; frase2[total] != '\0'; total++);
-
Para postar códigos use a tag CODE apertando o botão <> no topo do campo de respostas, assim você preserva a formatação do código e evita que o fórum faça alterações nele. Por exemplo, o fórum "comeu" todos os [ i ] (sem espaços) do seu código pois no fórum isso é a tag para deixar o texto em itálico, então o texto do seu código está em itálico a partir do primeiro que foi encontrado (os demais apenas somem pq o texto já tá em itálico). Nos scanfs onde você quer obter as letras você precisa descartar o caractere nova linha ('\n'), Pois quando você digita E e aperta Enter o que tem na entrada padrão (stdin) é a string "E\n", o primeiro caractere é pego pelo seu scanf e armazenado na variável, mas o caractere nova linha fica na entrada padrão, e é entendido como o caractere a ser lido pelo próximo scanf e armazenado na outra variável. Para ler e descartar um caractere basta usar %*c na string do scanf, onde * indica que o dado obtido não será armazenado em nenhuma variável, ficando assim: scanf("%c%*c", &l); O outro problema no seu código é que tem um ponto e vírgula no fim desse if: for(i=0;i<50;i++){ if(frase[i]==l); frase[i]=p; } Então seu programa está substituindo todas as letras da frase pelo caractere na variável p, não apenas as iguais a letra na variável l (e como p tinha '\n' armazenado nela o resultado era uma string cheia de caracteres nova linha "\n\n\n\n[ ... ]\n\n\n\n\n" que era impresso no fim do programa). Então com isto corrigindo deve ficar assim: for(i=0;i<50;i++){ if(frase[i]==l) frase[i]=p; }
-
Para postar códigos use a tag CODE apertando o botão <> no topo do campo de respostas, assim você preserva a formatação do código e evita que o fórum faça alterações nele. Por exemplo, o fórum "comeu" todos os [ i ] (sem espaços) do seu código pois no fórum isso é a tag para deixar o texto em itálico, então o texto do seu código está em itálico a partir do primeiro que foi encontrado (os demais apenas somem pq o texto já tá em itálico).
-
#include <stdio.h> int COMM(int N, int K){ if (K == 1) return N; else if (N == K) return 1; else return COMM(N - 1, K) + COMM(N - 1, K - 1); } int main() { printf("%d\n", COMM(6, 3)); return 0; }
-
Acabei de notar que meu programa de resposta ao problema original do tópico tinha uma falha, se o tesouro estiver no ponto de partida do mapa ele daria que 'Esse mapa não leva a lugar algum' o que seria um erro. Então aqui está com a correção: direcao = {'<' : ( 0, -1), '>' : ( 0, 1), '^' : (-1, 0), 'v' : ( 1, 0), '*' : ( 0, 0)} with open('mapa.txt', 'r') as arquivo: entrada = arquivo.readlines() col, lin = entrada[0].split() lin = int(lin) col = int(col) mapa = [] for linha in entrada[1:]: mapa.append([caractere for caractere in linha]) i, j = 0, 0 continuar = True locais = [] #locais com icones de direcao ja visitados if(mapa[0][0] == '.'): #se o ponto de partida nao apontar p/ nenhuma direcao print('Esse mapa nao leva a lugar algum') continuar = False else: di, dj = direcao[mapa[0][0]] locais.append((0, 0)) #Se o tesouro estiver no ponto de partida: if mapa[0][0] == '*': print('Esse mapa leva ao tesouro') continuar = False while continuar: #Move na direcao indicada: i = i + di j = j + dj #Se ja passou pelo local desta seta, esta andando em circulos: if (i, j) in locais: print('Esse mapa nao leva a lugar algum') continuar = False #Se ainda estiver dentro do terreno: elif i>=0 and i<lin and j>=0 and j<col: if mapa[i][j] != '.': di, dj = direcao[mapa[i][j]] locais.append((i, j)) if mapa[i][j] == '*': print('Esse mapa leva ao tesouro') continuar = False #Se tiver saido do terreno: else: print('Esse mapa nao leva a lugar algum') continuar = False
-
Aqui ele coloca 'I' na posição atual i, j (onde o foi encontrado o 'F') da matriz: matriz[i][j] = 'I' Então onde tinha o 'F' agora tem um 'I'.
-
Para postar códigos sempre use a tag CODE apertando o botão <> no topo do campo de resposta. E pra fazer isso basta incluir o contador i do for (+1 já que nele a contagem começa em 0) no printf, veja: printf("\n A media do Aluno %d e: %.2f\n\n", i+1, m); Aliás, se você vai começar a contagem em 0, a condição no for deveria ser enquanto i menor que 10, e não menor ou igual a 10 pois assim você terá 11 alunos e não 10.
-
Roda seu programa diretamente pelo executável compilado, ao invés de pelo seu IDE (CodeBlocks, Dev-C++, etc) e veja se essa mensagem ainda aparece (rodando pelo CMD pode ser melhor para visualizar).
-
Aqui fiz as correções, coloquei comentários para explicar as modificações: from __future__ import print_function while True: print("Digite a quantidade de colunas e linhas, respectivamente:") valores = raw_input() partes = valores.split() N = (int(partes[0])) M = (int(partes[1])) # Coloquei a condicao de parada do programa aqui em cima if N == 0 and M == 0: break matriz = [] icones = ['x', 'I', 'F'] print("Digite o ambiente do tesouro") for i in range(N): partes = [] valores = raw_input() partes = valores.split() matriz.append(partes[0:]) print("") for i in matriz: for j in i: # Corrigi essa linha aqui abaixo tambem, compare com o original. if j not in icones: print("Somente os caracteres abaixo sao permitidos") print(icones) else: None # Na logica abaixo eu mudei para voltar para o comeco da matriz quando # algum F for alterado para I, para isso funcionar tive que usar ciclos # while ao inves de for: i = 0 while i < N: j = 0 while j < M: if matriz[i][j] == 'F': # Abaixo eu checo o valor da coordenada i ou j primeiro, para nao # usar valores invalidos nos indices da matriz. # Ex: matriz[-1][0] nao e valido. if i > 0 and matriz[i-1][j]=='I': matriz[i][j] = 'I' i = -1 # Quando somado +1 fora desse while i vira 0, voltando ao comeco da matriz break elif i < N-1 and matriz[i+1][j]=='I': matriz[i][j] = 'I' i = -1 break elif j > 0 and matriz[i][j-1]=='I': matriz[i][j] = 'I' i = -1 break elif j < M-1 and matriz[i][j+1]=='I': matriz[i][j] = 'I' i = -1 break j=j+1 i=i+1 for i in matriz: for j in i: print(j, end=' ') print("") print("")
-
Primeiramente uma dúvida, N é o número de linhas e M o número de colunas? Se sim tem um problema aqui nesses dois fors um dentro do outro que está assim: for i in range(M): for j in range(N): Pois nesse caso M e N estão ao contrário, e deveria ser assim: for i in range(N): for j in range(M): Mas se esse não for o caso, mas sim M = linhas e N = colunas, o mesmo problema continua mas só muda de lugar, ou seja está lá em cima na parte que a "matriz" é montada onde nesse caso deveria ser M ao invés de N: for i in range(N): partes = [] valores = raw_input() partes = valores.split() matriz.append(partes[0:]) Segundo, isso aqui não vai funcionar: if j == 'F': if (j+1 or j-1 or i+1 or i-1) == 'I': matriz[i][j].replace('F', 'I') Por que aqui i e j são números inteiros, não as letras contidas na matriz, i e j são as posições na matriz. Então, imagino que sua intenção era fazer algo assim: if matriz[i][j] == 'F': if matriz[i][j+1]=='I' or matriz[i][j-1]=='I' or matriz[i+1][j]=='I' or matriz[i-1][j]=='I': matriz[i][j] = 'I' Terceiro, se partir de uma matriz inicial como essa: F F F F F F F I F F F F F F F F O resultado final deveria ser este? F F F I F F I I F F I I F F I I Ou este? I I I I I I I I I I I I I I I I Por que acredito que a lógica atual do seu programa resultará na primeira resposta.
-
Beleza. Se tiver alguma coisa que não conseguiu entender no meu código posta a dúvida e eu explico. Tem certeza que precisa digitar o mapa inteiro manualmente toda vez que o programa rodar? O enunciado não especifica o modo de entrada, mas esse tipo de Entrada de dados descrita no exercício é o típico tipo de entrada que se usa em arquivos. Digitando seria muito fácil errar e digitar caracteres a menos ou na posição errada, ficando pior quanto maior for o mapa.
-
Essa seria minha solução: direcao = {'<' : ( 0, -1), '>' : ( 0, 1), '^' : (-1, 0), 'v' : ( 1, 0), '*' : ( 0, 0)} with open('mapa.txt', 'r') as arquivo: entrada = arquivo.readlines() col, lin = entrada[0].split() lin = int(lin) col = int(col) mapa = [] for linha in entrada[1:]: mapa.append([caractere for caractere in linha]) i, j = 0, 0 continuar = True locais = [] #locais com ícones de direção já visitados if(mapa[0][0] == '.'): #se o ponto de partida não apontar p/ nenhuma direção print('Esse mapa nao leva a lugar algum') continuar = False else: di, dj = direcao[mapa[0][0]] locais.append((0, 0)) while continuar: #Move na direção indicada: i = i + di j = j + dj #Se já passou pelo local desta seta, está andando em círculos: if (i, j) in locais: print('Esse mapa nao leva a lugar algum') continuar = False #Se ainda estiver dentro do terreno: elif i>=0 and i<lin and j>=0 and j<col: if mapa[i][j] != '.': di, dj = direcao[mapa[i][j]] locais.append((i, j)) if mapa[i][j] == '*': print('Esse mapa leva ao tesouro') continuar = False #Se tiver saído do terreno: else: print('Esse mapa nao leva a lugar algum') continuar = False Aí o mapa de entrada vai num arquivo de texto chamado mapa.txt que deve estar na mesma pasta onde está o programa em Python. Um exemplo de mapa para colocar no arquivo mapa.txt: 10 10 v......>v. ....>..^.. .......... >...^..... .......... .......... ..v.....<. .......... .......... ..>...*...
-
Obs: Só para clarificar a explicação abaixo se eu escrever "lista de listas" entenda "matriz", e "vetor" é o mesmo que "lista". Bom, primeiro é preciso entender que em Python todo objeto sequencial pode ser fatiado, o que é o caso de listas. E a notação para fatiar é assim variavel[inicio:fim] ou variavel[inicio:fim:passo], onde início indica a posição onde a fatia começa incluindo a própria posição, fim indica até onde a fatia vai mas sem incluir a posição fim, e passo indica o incremento usado para iterar sobre as posições do objeto sequencial. Veja alguns exemplos rodados no terminal abaixo: >>> lista = [11, 12, 13, 14, 15] Uma fatia contendo as posições 1, 2 e 3 da lista: >>> lista[1:4] [12, 13, 14] Podemos omitir o inicio quando queremos partir do começo da lista: >>> lista[:3] [11, 12, 13] >>> lista[:2] [11, 12] Ou então omitir o fim para ir até o final da lista: >>> lista[3:] [14, 15] Logo os dois métodos abaixo poderiam ser usados para indicar a lista inteira: >>> lista[0:5] [11, 12, 13, 14, 15] >>> lista[:] [11, 12, 13, 14, 15] E também podemos mudar o passo, que por padrão é 1, para outro valor: >>> lista[0:5:2] [11, 13, 15] >>> lista[::2] [11, 13, 15] E também podemos usar valores negativos, sendo a última posição da lista -1 e ficando mais negativo a cada avanço para a esquerda: >>> lista[-2:] [14, 15] E com passo negativo podemos avançar no sentido oposto, ou seja da direita para a esquerda, invertendo a lista: >>> lista[::-1] [15, 14, 13, 12, 11] Também é possível atribuir valores para uma fatia do objeto, se o objeto não for imutável, assim você pode adicionar ou substituir vários elementos de uma vez numa posição da lista, faça alguns testes no terminal por você mesmo para entender melhor. Então na primeira parte o que eu fiz aqui: numsrand[ i*col : i*col + col ] Foi fatiar a lista/vetor numsrand que contém os números aleatórios, separando "col" elementos da lista para formar uma linha da matriz, e "i*col" é o que desloca a posição onde começam estes elementos a serem separados, aí usei isto no append da matriz para adicionar uma linha a ela. Obs: A variável deveria ser numsmenores não numsmaiores, eu originalmente fiz o oposto só que depois vi que você queria que o centro fosse o menor, eu corrigi a lógica mas esqueci de corrigir o nome da variável. Na segunda parte o que eu usei foi compreensão de lista (list comprehension), que é uma maneira de formar uma lista usando expressões, condições e fórmulas que definem os dados que serão incluídos na lista. (Em Ptyhon também é possível fazer compreensão de outros tipos estruturas de dados, como dicionários (dicts) e conjuntos (sets).) Vamos primeiro ver o exemplo da submatriz que acho que é mais simples, e numsmenores é igual apenas com uma condição IF a mais. E nesse caso temos: submatriz = [[k for k in l[j-1:j+2]] for l in matriz[i-1:i+2]] Com duas compreensões de listas aninhadas uma dentro da outra. Lembre-se que i indica a linha da matriz na qual está o número ao redor do qual queremos analisar os valores, e j indica sua coluna. Então quando eu fiz matriz[i-1:i+2] eu fatiei as linhas da matriz separando 3 linhas, indo da linha anterior "i-1" a linha do número até a linha posterior "i+1" (lembre-se que quando fatiamos o "fim" da fatia é apenas o limite e não é incluso, por isso usei "i+2" como fim). Logo, a submatriz então poderia ser feita assim: submatriz = [l[j-1:j+2] for l in matriz[i-1:i+2]] Onde submatriz é uma lista composta pelas fatias de cada l indo da coluna j-1 até j+2, para cada l pertencendo à fatia da matriz indo da linha i-i até i+2. Resultando em uma submatriz (ou lista de listas) 3x3 da matriz em que o número sendo comparado está no centro. Observe que esta compreensão de lista: [k for k in l[j-1:j+2]] resulta no mesmo que fazer simplesmente l[j-1:j+2], e o código acima seria mais compacto, eu incluí a versão mais longa e desnecessária apenas para facilitar o entendimento do que está sendo feito na variável numsmenores. Para numsmenores eu estendi esta compreensão de lista, para incluir na sublista os elementos k da fatia da linha que sejam menores que o valor sendo analisado, para isso usamos a compreensão de lista assim [k for k in l[j-1:j+2] if k < matriz[ i ][ j ]]. Ficando: numsmenores = [[k for k in l[j-1:j+2] if k < matriz[i][j]] for l in matriz[i-1:i+2]] Assim se houver qualquer número menor que matriz[j] ele será incluído na sublista, e caso não haja nenhum as sublistas ficarão vazias, que é a condição que desejamos, e é o que checamos para imprimir a submatriz.
-
Consegui fazer assim: import random lin = 8 col = 8 matriz = [] """ Gera a matriz com números aleatórios entre 10 e 99 sem repetição """ numsrand = random.sample(range(10, 100), lin * col) for i in range(lin): matriz.append(numsrand[ i*col : i*col + col ]) """ Identifica e imprime as matrizes 3x3 """ for i in range(1, lin-1): """ Note que não precisamos verificar as bordas da matriz """ for j in range(1, col-1): """ Abaixo formamos uma lista de listas que contém números da submatriz 3x3 que sejam menores que o centro da submatriz """ numsmaiores = [[k for k in l[j-1:j+2] if k < matriz[i][j]] for l in matriz[i-1:i+2]] """Se não houver nenhum número menor:""" if numsmaiores == [[],[],[]]: """Obtemos e imprimimos a submatriz 3x3""" submatriz = [[k for k in l[j-1:j+2]] for l in matriz[i-1:i+2]] for m in submatriz: print(*m) print("")
-
True significa Verdadeiro em inglês. Os comandos de redirecionamento como IF e WHILE (SE e ENQUANTO) funcionam avaliando uma expressão, e se ela for verdadeira/satisfeita os comandos "englobados" pelo comando são executados. Nesse caso a expressão que foi usada é "True", que por definição sempre será avaliada como verdadeira, logo "while True" é um ciclo infinito, já que não há uma condição em que a expressão se torna falsa ("False") para o programa saia do loop, e então o programa ficaria repetindo o ciclo infinitamente. Entretanto uma maneira de sair de um ciclo/loop é usar o comando break, que serve para 'quebrar' o ciclo no qual ele está contido, imediatamente saindo dele. E seu professor colocou uma condição dentro do ciclo (if x == 0) para que quando satisfeita o comando break seja chamado finalizando o ciclo. O seu programa é completamente válido, eu diria que é preferível fazer dessa forma, mas acredito que o objetivo do exercício era exercitar e demonstrar o uso comando break.
-
Nenhum deles é um compilador, o compilador normalmente usado por todos estes programas é o GCC (GNU Compiler Collection). Estes programas são IDEs (ambientes de desenvolvimento integrado), ou seja, são interfaces com um editor e outras ferramentas para facilitar a programação. E eles podem incluir um compilador ou não, e nesse caso você teria que obter o compilador separadamente. Quanto a qual desses é melhor para C e C++, o Code Blocks é geralmente tido como um bom IDE, especialmente para quem está começando já que normalmente não requer configuração. (O Dev-C++ também não requer configuração.) Agora se no futuro você quiser ir a fundo em questão de produtividade, eventualmente você pode migrar para outros programas mais versáteis e com mais recursos, como Sublime Text, Notepad++, ou o Eclipse, mas para atingir seu melhor esses programas requerem configuração e instalação de plugins, não vem tudo pronto só instalando o programa. Ou você pode até mesmo eventualmente partir para o Visual Studio, especialmente se se tratar de projetos grandes.
-
Basta multiplicar o número entrado pela porcentagem e somar. Ex: Se temos um valor X, podemos fazer: X + X*(6.2/100.0) ou X * (1.0 + 6.2/100.0) ou então X * 1.062 Todos resultam em um aumento de 6,2% do valor X...
-
Para postar códigos sempre use a tag CODE apertando o botão <> no topo do campo de resposta, para manter a formação do seu código e evitar que o fórum faça alterações nele. Ex: O fórum sumiu com os [ i ] do seu código pois ele reconhece isso como a tag para deixar o texto em itálico, e deixou parte do seu código em itálico a partir daí. Não encontrei nenhum problema com seu código, testei e funcionou como esperado, fiz alguma pequena modificação abaixo, mas nada que deveria alterar seu comportamento... #include <stdbool.h> #include <string.h> #include <stdlib.h> #include <locale.h> #include <stdio.h> int main(){ //Declara variáveis e solicita do usuário a entrada do gabarito oficial char gabarito_oficial[22], gabarito_individual[22]; int i=0; //abre o arquigo de gabaritos dos candidatos para leitura e cria e abre o arquivo onde irá escrever os gabaritos corrigidos //também abre o arquivo com o gabarito oficial FILE *fp1=fopen("gabaritos.txt","r"); if (fp1==NULL) printf("não foi possível abrir o arquivo gabaritos.txt"); FILE *fp2=fopen("gabaritos_corrigidos.txt","w"); if (fp2==NULL) printf("não foi possível criar o arquivo gabaritos_corrigidos.txt"); FILE *fp3=fopen("gabarito_oficial.txt","r"); if (fp3==NULL) printf("não foi possível abrir o arquivo gabaritos_oficial.txt"); //laço para ler o gabarito de cada candidato individualmente e comparar item a item com o gabarito oficial que está na variável //gabarito_oficial printf("\nteste\n"); fgets(gabarito_oficial,22,fp3); while (fgets(gabarito_individual,22,fp1)!=NULL){ while (i<20){ if(gabarito_individual[i]==gabarito_oficial[i]) fputc('1',fp2); else fputc('0',fp2); i=i+1; } i=0; fputc('\n',fp2); } fclose(fp1); fclose(fp2); fclose(fp3); return 0; } gabarito_oficial.txt : abcdefghijklmnopqrst gabaritos.txt : abcdefghijklmnopqrst fsdfgakgoshfwornrfnt bbbbbbbbbbbbbbbbbbbb Resultado em gabaritos_corrigidos.txt : 11111111111111111111 00000000000000000001 01000000000000000000 Algumas coisas a notar é que você está incluindo bibliotecas que não está usando, e o main() estava sem tipo (coloquei int). E não há necessidade de colocar o número correspondente em ASCII do caractere para imprimi-lo, basta colocar o caractere entre aspas simples ( ' ) para indicar que é um caractere. Obs: Aspas duplas ( " ) indica uma string/cadeia de caracteres em C.
- 1 resposta
-
- leitura de arquivos
- fgets
- (e %d mais)
-
Ajuda Exercicio Programacao Python
pergunta respondeu ao Mônica Madison de isrnick em Outras Linguagens de Programação
tabela = [ [0,2,11,6,15,11,1], [2,0,7,12,4,2,15], [11,7,0,11,8,3,13], [6,12,11,0,10,2,1], [15,4,8,10,0,5,13], [11,2,3,2,5,0,14], [1,15,13,1,13,14,0]] c1 = int(input("cidade 1: ")) c2 = int(input("cidade 2: ")) i = c1 // 111 - 1 j = c2 // 111 - 1 x = tabela[i][j] print(x) -
Imprimir a posição requerida do Vetor
pergunta respondeu ao Rafael souza silva de isrnick em Grupo de Estudos
Para postar códigos sempre use a tag CODE apertando o botão <> no topo do campo de resposta, assim você evita que o fórum faça alterações nele. Por exemplo no fórum i entre colchetes [ ] é a tag para deixar o texto em itálico, então como você não usou a tag CODE, o fórum tratou todos os lugares do seu condigo onde tem um [ i ] como a tag de formatação de texto em itálico, logo todas as indexações do vetor sumiram. int n=0,i,pesquisa; float vetor[n],soma=0; Você definiu o vetor como vetor[n], mas da linha acima temos que n = 0, logo vetor tem comprimento nulo. Então ou você define um comprimento fixo para o vetor fazendo vetor[100] por exemplo, ou você só declara o vetor após n ser atualizado com o tamanho do vetor (número de alunos): scanf("%d",&n); float vetor[n]; -
Help! Numeros com dois dígitos (ou mais) usando tabela ASCII
pergunta respondeu ao Gustavo Rossy de isrnick em Grupo de Estudos
Imprime os 2 dígitos em sequência, um de cada vez.