Ir para conteúdo
Fórum Script Brasil

Vitor123

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Sobre Vitor123

Perfil

  • Gender
    Male

Vitor123's Achievements

0

Reputação

  1. Opa cara, tudo bem?? Pelo que eu vi tu tem um vetor para os termos e outro para os pesos certo?? então o que eu faria naquele algoritmo que tu ta tendo problemas é mais ou menos o seguinte: for(cont=0;cont<4;cont++) { float mult[4]; mult[cont] = termo[cont] * peso[cont]; } Vamos pensar sobre o codigo ai. 1) Tu não precisa declarar um contador a cada for, já que no proprio "for" tu já esta zerando ele. 2) Pode-se usar o mesmo contador para mais de um vetor ao mesmo tempo, desde que ele esteja no for, é claro. 3) Eu se fosse tu, declararia os termos pelo menos como float, já que, utilizando o exemplo de uma prova, o aluno pode tirar um 9.4 por exemplo, e o peso na maioria das vezes, é inteiro. Qualquer dúvida ou correção, pode mandar... Um Abraço
  2. Vitor123

    Vetor de Struct

    Boa Tarde, Pessoal, eu venho aqui pedir uma ajudinha com esse exercício que estou fazendo, a minha dúvida se refere a função "ordena". Preciso ordenar um vetor structs de acordo com o nome do carro, porém, não estou conseguindo trazer todos os dados do carro junto com o seu nome. Da forma como coloquei aqui estou apenas ordenando o nome, até ai tudo certo, mas sera que teria algum jeito de ordenar toda o vetor sem ficar repetindo as linhas com o strcpy?? já tentei utilizar apenas o "x" ao invés do "x.nome" porém, ele não compila. Desde já agradeço!!! // Exercício 7.5.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "string.h" #include "stdlib.h" #include "ctype.h" typedef struct{ int dia; int mes; int ano; } DATA; typedef struct{ char marca[30]; char nome[30]; int ano; double valor_venda; char chassis[20]; char combustivel; DATA d; } CARRO; void ordena(CARRO []); int busca(char [],CARRO [],int); void main() { CARRO carros[15] = { {"MARCA","KA",1999,1450.54,"12345",'E',{17,1,1999}}, {"MARCA","Kombi",1999,1450.54,"54321",'G',{17,1,1999}}, {"MARCA","Opala",1999,1450.54,"45321",'D',{17,1,1999}}, {"MARCA","Civic",1999,1450.54,"43215",'E',{17,1,1999}}, {"MARCA","Fusca",1999,1450.54,"45124",'G',{17,1,1999}}, {"MARCA","Parati",1999,1450.54,"11354",'D',{17,1,1999}}, {"MARCA","Gol",1999,1450.54,"42135",'E',{17,1,1999}}, {"MARCA","Uno",1999,1450.54,"55114",'D',{17,1,1999}}, {"MARCA","Golf",1999,1450.54,"33222",'G',{17,1,1999}}, {"MARCA","Croosfox",1999,1450.54,"14521",'D',{17,1,1999}}, {"MARCA","Chevete",1999,1450.54,"33325",'E',{17,1,1999}}, {"MARCA","KA",1999,1450.54,"55555",'G',{17,1,1999}}, {"MARCA","Fusca",1999,1450.54,"44512",'G',{17,1,1999}}, {"MARCA","Uno",1999,1450.54,"22554",'D',{17,1,1999}}, {"MARCA","Gol",1999,1450.54,"11452",'E',{17,1,1999}}, }; int i; ordena(carros); int m = busca("12345",carros,15); //usuario irá digitar um chassis, para encontrar o carro if( m != -1) printf("Carro: %s",carros[m].nome); //Mostra o carro de acordo com o chassis encontrado getchar(); } void ordena(CARRO x[]) { bool ordenado=true; char aux[30]; int i,tam=15; do{ ordenado = true; for(i=0; i<tam; i++) { if(stricmp(x[i].nome, x[i + 1].nome) > 0) { strcpy(aux, x[i].nome); strcpy(x[i].nome, x[i + 1].nome); strcpy(x[i + 1].nome, aux); ordenado=false; } } tam--; }while (ordenado==false); for(i=0;i<15;i++) //Mostra os carros em ordem alfabetica { printf("nome: %s",x[i].nome); printf("\n"); } } int busca(char nome[],CARRO L[],int n) { int i, f, m,compare; i = 0; f = n-1; while(i <= f) { m = (i+f)/2; compare = strcmp(nome,L[m].chassis); if(strcmp(nome,L[m].chassis) == 0) return m; if(strcmp(nome,L[m].chassis) < 0) f = m-1; else i = m+1; } return -1; }
×
×
  • Criar Novo...