Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- #include <stdlib.h>
- #include <math.h>
- typedef struct {
- char nome[40];
- float preco;
- int peso;
- int num_serie;
- } objeto;
- typedef struct {
- float x;
- float y;
- } centro;
- typedef struct {
- float x;
- float y;
- } local;
- typedef struct {
- int numero_centro;
- local ultimolugar;
- } carro;
- int main() {
- int N, P;
- scanf("%d %d", &N, &P);
- int posicao[N];
- centro rede[P];
- objeto produto[N];
- for (int i = 0; i < P; i++) {
- scanf("%f %f", &rede[i].x, &rede[i].y);
- }
- for (int i = 0; i < N; i++) {
- int k = 0;
- char nome[40];
- int peso;
- float custo;
- scanf("%s %d %f", nome, &peso, &custo);
- strcpy(produto[i].nome, nome);
- produto[i].peso = peso;
- produto[i].preco = custo;
- char inicio = produto[i].nome[0];
- int position = 0;
- if ((inicio >= 'a' && inicio <= 'z') || (inicio >= 'A' && inicio <= 'Z')) {
- if (inicio >= 'a' && inicio <= 'z') {
- position = inicio - 'a';
- }
- else{
- position = inicio - 'A';
- }
- }
- posicao[i] = position;
- //printf("\n%d\n", position);
- int flag = 0;
- while (flag == 0) {
- int valor = (int)round(ceil(custo));
- int candidate = (int)(valor + peso + position + k ) % N;
- int unique = 1;
- for (int j = 0; j < i; j++) {
- if (produto[j].num_serie == candidate) {
- unique = 0;
- break;
- }
- }
- if (unique) {
- produto[i].num_serie = candidate;
- flag = 1;
- }
- k++;
- }
- }
- printf("\n\n");
- for (int i = 0; i < N; i++) {
- printf("%s ns:%d pos: %d\n", produto[i].nome, produto[i].num_serie, posicao[i]);
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment