Advertisement
abs25

Racunala

Sep 19th, 2016
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.58 KB | None | 0 0
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include<stdio.h>
  3.  
  4. struct Racunalo {
  5.     char *oznaka_procesora;
  6.     float takt_procesora;
  7.     int velicina_diska;
  8.     int ram;
  9.     char *oznaka_grafike;
  10. };
  11.  
  12. void swap(struct Racunalo *i, struct Racunalo *j) {
  13.     struct Racunalo t;
  14.     t = *i;
  15.     *i = *j;
  16.     *j = t;
  17. }
  18.  
  19. void sort(struct Racunalo *racunalo, int n) {
  20.     int i, j, min = 0, br = 0;
  21.     for (i = 0; i<n; i++) {
  22.         min = i;
  23.         for (j = i + 1; j<n; j++) {
  24.             if (racunalo[j].takt_procesora <racunalo[min].takt_procesora){
  25.                 min = j;
  26.             }
  27.         }
  28.         if (racunalo[i].takt_procesora != racunalo[min].takt_procesora) {
  29.             swap(&racunalo[i], &racunalo[min]);
  30.             br++;
  31.         }
  32.     }
  33. }
  34.  
  35. int search(struct Racunalo *racunala, int n) {
  36.     int i;
  37.     for (i = 0; i < n; i++) {
  38.         if (racunala[i].ram <= 8 && racunala[i].takt_procesora >= 3.0) {
  39.             return i;
  40.         }
  41.     }
  42.     return -1;
  43. }
  44.  
  45. void main() {
  46.     int n, i;
  47.     int rezultat;
  48.     struct Racunalo racunala[20];
  49.  
  50.     do {
  51.         scanf("%d", &n);
  52.     } while (n > 20 || n <= 0);
  53.    
  54.     for (i = 0; i < n; i++) {
  55.         racunala[i].oznaka_procesora = (char *)malloc(100 * sizeof(char));
  56.         scanf("%s", racunala[i].oznaka_procesora);
  57.         scanf("%f", &racunala[i].takt_procesora);
  58.         scanf("%d", &racunala[i].velicina_diska);
  59.         scanf("%d", &racunala[i].ram);
  60.         racunala[i].oznaka_grafike = (char *)malloc(100 * sizeof(char));
  61.         scanf("%s", racunala[i].oznaka_grafike);
  62.     }
  63.  
  64.     sort(racunala, n);
  65.     rezultat = search(racunala, n);
  66.     if (rezultat == -1){
  67.         printf("Trazeno racunalo nije nadjeno.\n");
  68.     } else {
  69.         printf("Trazeno racunalo je nadjeno na %d indeksu polja.\n", rezultat);
  70.     }      
  71.  
  72.     system("PAUSE");
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement