fork download
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4.  
  5. #define MAX_CARS 100
  6. #define MAX_STRING 50
  7.  
  8. // Структура для зберігання інформації про автомобіль
  9. struct Car {
  10. char brand[MAX_STRING];
  11. char color[MAX_STRING];
  12. char number[10];
  13. char ownerLastName[MAX_STRING];
  14. char address[MAX_STRING];
  15. };
  16.  
  17. int main() {
  18. int n, k, count = 0;
  19. char targetBrand[MAX_STRING];
  20. char targetDigits[10];
  21. struct Car cars[MAX_CARS];
  22.  
  23. printf("Введіть кількість автомобілів: ");
  24. scanf("%d", &n);
  25.  
  26. for (int i = 0; i < n; i++) {
  27. printf("\nАвтомобіль #%d\n", i + 1);
  28.  
  29. printf("Марка: ");
  30. fgets(cars[i].brand, MAX_STRING, stdin);
  31. cars[i].brand[strcspn(cars[i].brand, "\n")] = 0;
  32.  
  33. printf("Колір: ");
  34. fgets(cars[i].color, MAX_STRING, stdin);
  35. cars[i].color[strcspn(cars[i].color, "\n")] = 0;
  36.  
  37. printf("Номер: ");
  38. fgets(cars[i].number, 10, stdin);
  39. cars[i].number[strcspn(cars[i].number, "\n")] = 0;
  40.  
  41. printf("Прізвище власника: ");
  42. fgets(cars[i].ownerLastName, MAX_STRING, stdin);
  43. cars[i].ownerLastName[strcspn(cars[i].ownerLastName, "\n")] = 0;
  44.  
  45. printf("Адреса власника: ");
  46. fgets(cars[i].address, MAX_STRING, stdin);
  47. cars[i].address[strcspn(cars[i].address, "\n")] = 0;
  48. }
  49.  
  50. printf("\nВведіть марку автомобіля для пошуку: ");
  51. fgets(targetBrand, MAX_STRING, stdin);
  52. targetBrand[strcspn(targetBrand, "\n")] = 0;
  53.  
  54. printf("Введіть початкові цифри номера: ");
  55. fgets(targetDigits, 10, stdin);
  56. targetDigits[strcspn(targetDigits, "\n")] = 0;
  57.  
  58. k = strlen(targetDigits);
  59.  
  60. printf("\nРезультати пошуку:\n");
  61. printf("=======================================\n");
  62.  
  63. for (int i = 0; i < n; i++) {
  64. // Перевірка марки
  65. if (strcmp(cars[i].brand, targetBrand) == 0) {
  66. // Перевірка початкових цифр номера
  67. if (strncmp(cars[i].number, targetDigits, k) == 0) {
  68. printf("Автомобіль #%d:\n", i + 1);
  69. printf(" Марка: %s\n", cars[i].brand);
  70. printf(" Колір: %s\n", cars[i].color);
  71. printf(" Номер: %s\n", cars[i].number);
  72. printf(" Власник: %s\n", cars[i].ownerLastName);
  73. printf(" Адреса: %s\n", cars[i].address);
  74. printf(" --------------------\n");
  75. count++;
  76. }
  77. }
  78. }
  79.  
  80. if (count == 0) {
  81. printf("Автомобілів марки '%s' з номерами, що починаються на '%s', не знайдено.\n",
  82. targetBrand, targetDigits);
  83. } else {
  84. printf("Знайдено автомобілів: %d\n", count);
  85. }
  86.  
  87. return 0;
  88. }
Success #stdin #stdout 0s 5320KB
stdin
3
Toyota
Чорний
АА1234ВС
Іванов
Київ, вул. Центральна, 1
Toyota
Білий
АА5678ВС
Петров
Львів, вул. Головна, 2
Honda
Сірий
АА1111ВС
Сидоренко
Одеса, вул. Морська, 3
Toyota
АА5
stdout
Введіть кількість автомобілів: 
Автомобіль #1
Марка: Колір: Номер: Прізвище власника: Адреса власника: 
Автомобіль #2
Марка: Колір: Номер: Прізвище власника: Адреса власника: 
Автомобіль #3
Марка: Колір: Номер: Прізвище власника: Адреса власника: 
Введіть марку автомобіля для пошуку: Введіть початкові цифри номера: 
Результати пошуку:
=======================================
Автомобілів марки 'Сидоренко' з номерами, що починаються на 'Одес�', не знайдено.