Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _CRT_SECURE_NO_WARNINGS
- #include <stdio.h>
- #include <locale.h>
- #include <stdlib.h>
- #include "Patient.h"
- #define key 1
- void PrintPatient(struct patient *tmp) {
- printf("ФИО: %s, %s, %s\n", tmp->person.surname, tmp->person.name, tmp->person.patronymic);
- printf("ДАТА: %d.%d.%d\n", tmp->date.day, tmp->date.month, tmp->date.year);
- printf("ДИАГНОЗ: %s\n", tmp->diagnosis);
- }
- struct patient vec[21];
- void func(int n) {
- printf("Диагноз, который встречается у наибольшего числа больных :\n");
- int mx = 0;
- for (int i = 0; i < n; ++i) {
- char tmp[20];
- strcpy(tmp, vec[i].diagnosis);
- int cnt = 0;
- for (int j = 0; j < n; ++j) {
- if (strcmp(vec[j].diagnosis, tmp) == 0) {
- ++cnt;
- }
- }
- if (cnt > mx) {
- mx = cnt;
- }
- }
- int ind = 0;
- char alf[20][20];
- for (int i = 0; i < n; ++i) {
- char tmp[20];
- strcpy(tmp, vec[i].diagnosis);
- int cnt = 0;
- for (int j = 0; j < n; ++j) {
- if (strcmp(vec[j].diagnosis, tmp) == 0) {
- ++cnt;
- }
- }
- if (cnt == mx) {
- int flag = 1;
- for (int k = 0; k < ind; ++k) {
- if (strcmp(alf[k],tmp) == 0) {
- flag = 0;
- break;
- }
- }
- if (flag == 1) {
- printf("%s ", tmp);
- strcpy(alf[ind],tmp);
- ++ind;
- printf("\n");
- }
- }
- }
- }
- int main() {
- setlocale(LC_ALL, "RUS");
- #if key == 1
- printf("key = %d\n", key);
- int n;
- printf("Введите количество больных: \n");
- scanf("%d", &n);
- if (n <= 20) {
- printf("ВВЕДИТЕ ДАННЫЕ БОЛЬНЫХ\n");
- for (int i = 0; i < n; ++i) {
- printf("ФИО:\n");
- struct patient tmp;
- scanf("%s%s%s", tmp.person.name, tmp.person.surname, tmp.person.patronymic);
- printf("ДАТА (День, Месяц, Год):\n");
- scanf("%d%d%d", &tmp.date.day, &tmp.date.month, &tmp.date.year);
- printf("ДИАГНОЗ:\n");
- getchar();
- gets(tmp.diagnosis);
- vec[i] = tmp;
- }
- for (int i = 0; i < n; ++i) {
- printf("Пациент номер %d:\n", i + 1);
- PrintPatient(&vec[i]);
- }
- func(n);
- }
- else {
- printf("Превышена максимальная длина массива\n");
- }
- #elif key == 2
- printf("key = %d\n", key);
- int n = 10;
- for (int i = 0; i < n; ++i) {
- vec[i] = testing_vec[i];
- for (int i = 0; i < n; ++i) {
- printf("Пациент номер %d:\n", i + 1);
- PrintPatient(&vec[i]);
- }
- }
- func(n);
- #else
- printf("Указано неверное значение key\n");
- #endif
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement