Не могу понять в какой строчке кода считывается площадь прямоугольников, язык си(C)

Рейтинг: -4Ответов: 1Опубликовано: 10.01.2023
#include <stdio.h>
#include <time.h>
#include <stdlib.h>

const int QTY = 5;

typedef struct datas{   
    int data[10];       
    int id;             
    int code;
}datas;                 

typedef struct datap{  
    int index;         
    int key;
}datap;

void funcrand(datas mas[]){     
    srand(time(NULL));      
    for (int i = 0; i < QTY ; i++) {
        mas[i].code = rand() % 100;
        mas[i].id = rand() % 100;
        for (int j = 0; j < 10; j++){
            mas[i].data[j] = rand() % 100;
        }
    }
}    
// float io(datas data id code){
//         for (int i = 0; i < QTY; i++) {
//         data[i-1] = id;
//         data[i] = code;
// };

void fill(datap mas2[],datap mas3[],datas mas[]){  
    for (int i = 0; i < QTY; i++) {
        mas2[i].index = i;                        
        mas2[i].key = mas[i].code;
        mas3[i].index = i;                       
        mas3[i].key = mas[i].id;
    }
}

void sort(datap mas[]){  
datap p;
    for(int i=0;i<QTY-1;i++) { 
       for(int j=0;j<QTY-i-1;j++) {
           if(mas[j].key > mas[j+1].key) {
            p = mas[j+1];
            mas[j+1] = mas[j];
            mas[j] = p;
           }
       }
    }
}

int main(){
    datas mas[QTY];
    datap mas2[QTY];
    datap mas3[QTY];
    funcrand(mas);
    fill(mas2,mas3,mas);
    sort(mas2);        
    sort(mas3);         // таким образом мы сортируем определенные значения из главного массива при этом не нагружая систему всем основным массивом

    for (int i = 0; i<QTY;i++){
        printf("IndCode - %d / KeyCode - %d:\n", mas2[i].index, mas2[i].key);
    }
    printf("\n");
    for (int i = 0; i<QTY;i++){
        printf("IndID - %d / KeyID - %d:\n", mas3[i].index, mas3[i].key);
    }
    printf("\n");
    
    int L;
    for (int i = 0; i<QTY;i++){
        L = mas2[i].index;
        printf("IndID - %d / KeyCode - %d: KeyID - %d:\n", L, mas[L].id, mas[L].code);
    }
}

Ответы

▲ 2

Считывания как такового нигде нет.

В функции

void funcrand(datas mas[]){     
    srand(time(NULL));      
    for (int i = 0; i < QTY ; i++) {
        mas[i].code = rand() % 100;
        mas[i].id = rand() % 100;
        for (int j = 0; j < 10; j++){
            mas[i].data[j] = rand() % 100;
        }
    }
}  

происходит заполнение массива случайными значениями.
Странно, как это вы писали код, что не знаете, как он работает?...