Ir para conteúdo
Fórum Script Brasil

Parazeit

Membros
  • Total de itens

    6
  • Registro em

  • Última visita

Sobre Parazeit

Parazeit's Achievements

0

Reputação

  1. Voltei para avisar que consegui resolver o problema. Mostrarei como ficou, caso mais alguém encontre a mesma dificuldade: porem = 0; for (i = 0; i <= T; i++) { for (j = i + 1; j < T; j++) { if (vet[j] == vet[i]) cont++; } } do { for (i = 0; i < T; i++) { // Operações. if (vet[i] == 0) { for(j = i; j < T - 1; j++) { aux = vet[j]; vet[j] = vet[j + 1]; vet[j + 1] = aux; } } } porem++; } while (porem != cont);
  2. De qualquer forma, quando o programa encontrar o mesmo valor (dado pelo usuário e guardado na variável removecodigo) na posição subsequente do vetor, ele irá simplesmente ignorá-lo.
  3. Valeu, não fazia ideia de que isso pudesse ocorrer. Pesquisarei mais sobre.
  4. -Fazer um programa que cria uma estrutura livro, que contém os elementos título, ano de edição, número de páginas e preço. Criar uma variável desta estrutura que é um vetor de elementos. Ler os valores para a estrutura e imprimir a média do número de páginas do livros. Além disso mostrar os dados do livro com maior preço e menor preço, inclusive se houver mais de um livro com o mesmo preço. Tô iniciando agora em struct, e, dada a questão, tentei montar um programa que seguisse operando o que ela pede, mas por algum motivo que n consigo identificar, o programa só lê o título do primeiro livro. Estou usando o Dev C++, escrevendo em C, gostaria que alguém me ajudasse a identificar o problema (Irei publicar o código por completo para melhor visualização, pontuando o que fiz em cada pedaço). #include <stdio.h> #define T 2 int main () { struct dados { char titulo[71]; int ano; int pag; float preco; }; struct dados livro[T]; // Declarando estrutura e variáveis. int i; float mediap = 0.0; float maior = 0.0, menor = 9999999999999999.9; for (i = 0; i < T; i++) { // Entrada de dados. printf ("\nLivro %d:\n", i + 1); printf ("\n\tInsira o titulo do livro: "); // JUSTO AQUI, RECEBO APENAS O PRIMEIRO TÍTULO. fgets (livro[i].titulo, 71, stdin); printf ("\n\tInsira o ano de edicao: "); scanf ("%d", &livro[i].ano); printf ("\n\tInsira o numero de paginas: "); scanf ("%d", &livro[i].pag); printf ("\n\tInsira o preco no mercado: "); scanf ("%f", &livro[i].preco); if (livro[i].preco < menor) menor = livro[i].preco; if (livro[i].preco > maior) maior = livro[i].preco; mediap = mediap + livro[i].pag; } //system ("cls"); // Limpa a tela printf ("\n\nA media do numero de paginas dos livros: %.2f\n", (float)mediap/T); // Saída de dados printf ("\nO maior preco dentre os livros: %.2f\n", maior); printf ("\nO menor preco dentre os livros: %.2f\n", menor); return 0; } Segue o programa que tentei fazer:
  5. -Obtenha e imprima um vetor que seja a soma dos elementos de cada coluna de uma matriz numérica qualquer dada. Uma questão aparentemente simples, mas que tem me dado um certo trabalho. Não faço ideia do que possa estar errado, por isso gostaria que dessem uma olhada. Estou usando o Dev C++, escrevendo em C. O programa não exibe a matriz que o usuário insere, nem faz a soma dos elementos de cada coluna como deveria. (Irei publicar o código por completo para uma melhor visualização) #include <stdio.h> int main () { int i, j, tl = 0, tc = 0; int M[tl][tc], vet[tc]; printf ("Informe a quantidade de linhas: "); // Entrada de dados. scanf ("%d", &tl); printf ("\n\nInforme a quantidade de colunas: "); // Entrada de dados. scanf ("%d", &tc); system ("cls"); // Limpa a tela. printf ("Preencha a matriz:\n"); for (i = 0; i < tl; i++) { // Entrada de dados. for (j = 0; j < tc; j++) { printf ("\nInsira o elemento da posicao [%d][%d]: ", i + 1, j + 1); scanf ("%d", &M[i][j]); } printf ("\n"); } system ("cls"); // Limpa a tela. printf ("[Matriz inicial]:\n\n"); // Saída de dados. (AQUI O PROGRAMA NÃO EXIBE A MATRIZ INSERIDA) for (i = 0; i < tl; i++) { for (j = 0; j < tc; j++) printf ("%d ", M[i][j]); printf ("\n"); } for (i = 0; i < tl; i++) { // Operações. (AQUI O PROGRAMA APARENTEMENTE NÃO FAZ A SOMA EXATA) for (j = 0; j < tc; j++) vet[i] = vet[i] + M[j][i]; } printf ("[Vetor resultante]:\n\n"); // Saída de dados. for (i = 0; i < tc; i++) printf ("%d ", vet[i]); return 0; }
  6. Pessoal, é o seguinte: montei um código que leva os elementos nulos (zeros) de um vetor até as suas ultimas posições, e consegui... bem, quase. O problema surge quando o programa encontra no vetor, dois elementos nulos em sequencia. Ele acaba transportando apenas um elemento nulo, deixando o outro cair da carroça. Estou usando o Dev C++ para desenvolvê-lo, e queria pedir um auxílio nesse problema: for (i = 0; i < T; i++) { // Operações. if (vet[i] == 0) { for(j = i; j < T - 1; j++) { aux = vet[j]; vet[j] = vet[j + 1]; vet[j + 1] = aux; } } }
×
×
  • Criar Novo...