예제 #1
0
파일: L02Q05.cpp 프로젝트: marcosf63/CC
int main() {
  int i, j, n;
  TList l;

  do {
    printf("Digite a quantidade de elementos da lista: ");
    scanf("%d", &n);
  } while (n < 0 || n > 100);

  srand(time(0));

  for (i = 1; l.size() < n; i++)
    l.insert(rand() % 10 + 1, i);

  l.print("Lista gerada: ");

  for (i = 2; i < n; i++) {
    for (j = 1; j < i ; j++ )
      if (l.getkey(j) == l.getkey(i))
         break;
    if (j != i)
      l.remove(i);
  }

  l.print("Lista sem repetidos: ");

  return 0;
}
예제 #2
0
파일: L02Q01.cpp 프로젝트: marcosf63/CC
int main() {
  int i, j, k, n;
  TList l;

  do {
    printf("Digite a quantidade de elementos da lista: ");
    scanf("%d", &n);
  } while (n < 0);

  srand(time(0));

  for (i = 1; l.size() < n; i++) {
    k = rand() % (2 * n) + 1;
    if (i == 1)
      l.insert(k, i);
    else {
      if (k >= l.getkey(i - 1))
        l.insert(k, i);
      else
        i--;
     }
  }

  l.print("Lista gerada: ");

  return 0;
}
예제 #3
0
파일: L02Q03.cpp 프로젝트: marcosf63/CC
int main() {
  int i, menor, maior, n;
  float media, soma;
  TList l;

  do {
    printf("Digite a quantidade de elementos da lista: ");
    scanf("%d", &n);
  } while (n < 0 || n > 100);

  srand(time(0));

  soma = 0;
  for (i = 1; l.size() < n; i++) {
    l.insert(rand() % 10 + 1, i);
    if (i == 1) {
      menor = l.getkey(i);
      maior = l.getkey(i);
    } else {
        menor = l.getkey(i) < menor ? l.getkey(i) : menor;
        maior = l.getkey(i) > maior ? l.getkey(i) : maior;
    }
    soma = soma + l.getkey(i);
  }

  l.print("Lista gerada: ");
  printf("Maior = %d, Menor = %d, Media = %0.2f \n", maior, menor, soma / n);


  return 0;
}
예제 #4
0
파일: L02Q12.cpp 프로젝트: marcosf63/CC
int main() {
  int i, j, n;
  float soma, media, mediana;
  TKey k;
  TList l;

  do {
    printf("Digite o tamanho da lista: ");
    scanf("%d", &n);
  } while (n < 0 || n > 100);

  soma = 0;
  for (i = 1; i <= n; i++) {
    k = rand() % 10 + 1;
    soma = soma + k;
    l.insert(k, i);
  }
  l.print("Lista gerada: ");

  for (i = 1; i <=  l.size(); i++) {
    k = l.getkey(i);

    for (j = i - 1; i >= 1 && l.getkey(j) > k; j--)
        l.setkey(j + 1, l.getkey(j));
    l.setkey(j + 1, k);
  }

  l.print("Lista ordenada: ");

  //Mediana
  if (l.size() % 2)
    mediana = l.getkey(n / 2 + 1);
  else
    mediana = (l.getkey(n / 2) + l.getkey(n / 2 + 1)) / 2;

  printf("Media   = %.2f\n", soma / n);
  printf("Mediana = %.2f\n", mediana);

  return 0;
}
예제 #5
0
파일: testecirc.cpp 프로젝트: marcosf63/CC
int main() {
  int i = 1;
  TList l;

  for (i = 1; i <= 10; i++)
    l.insert(i, i);

  l.print("");

  printf("%d",l.getkey(11));


  return 0;
}