Ir para conteúdo

Parazeit

Members
  • Total de itens

    3
  • Registro em

  • Última visita

Reputação

0 Comum

Sobre Parazeit

  1. -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 de pedir ajuda. 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. 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++) { 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; }
  2. -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 5 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. Gostaria que alguém me ajudasse a identificar o problema. Segue o programa que tentei fazer: #include <stdio.h> #define T 2 int main () { struct dados { char titulo[71]; int ano; int pag; float preco; }; struct dados livro[T]; int i; float mediap = 0.0; float maior = 0.0, menor = 9999999999999999.9; for (i = 0; i < T; i++) { printf ("\nLivro %d:\n", i + 1); printf ("\n\tInsira o titulo do livro: "); fgets (livro[i].titulo, 70, 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"); printf ("\n\nA media do numero de paginas dos livros: %.2f\n", (float)mediap/T); printf ("\nO maior preco dentre os livros: %.2f\n", maior); printf ("\nO menor preco dentre os livros: %.2f\n", menor); return 0; }
  3. Tou precisando de ajuda na seguinte questão: - Leia um vetor de 50 posições e o compacte, ou seja, elimine as posições com valor zero avançando uma posição com os valores subsequentes do vetor. Dessa forma, todos os "zeros" devem ficar para o final do vetor. Eu até tentei fazer o programa, mas nao consigo rodá-lo da forma como a questão pede, talvez por falta de compreensão lógica, deem uma olhada... #include <stdio.h> const int T = 5; int main () { int vet[T], i, j, k, aux; printf ("Preencha o vetor:\n\n"); // Entrada de dados. for (i = 0; i < T; i++) { printf ("\n\tInsira o valor da posicao [%d]: ", i + 1); scanf ("%d", &vet[i]); } system ("cls"); printf ("Vetor inicial:\n\n"); // Saída de dados. for (i = 0; i < T; i++) printf ("%d ", vet[i]); for (i = 0; i < T; i++) { // Operações. printf ("%d ", vet[i]); if (vet[i] == 0) { j = i; do { if (j < T - 1) k = j + 1; aux = vet[j]; vet[j] = vet[k]; vet[k] = aux; j++; k++; } while (vet[j] < T - 1); } } printf ("\n\nVetor resultante:\n\n"); // Saída de dados. for (i = 0; i < T; i++) printf ("%d ", vet[i]); return 0; }
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.