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. // Введення кількості автомобілів
  24. printf("Введіть кількість автомобілів: ");
  25. scanf("%d", &n);
  26. getchar(); // очищення буфера
  27.  
  28. // Введення даних про кожен автомобіль
  29. for (int i = 0; i < n; i++) {
  30. printf("\nАвтомобіль #%d\n", i + 1);
  31.  
  32. printf("Марка: ");
  33. fgets(cars[i].brand, MAX_STRING, stdin);
  34. cars[i].brand[strcspn(cars[i].brand, "\n")] = 0;
  35.  
  36. printf("Колір: ");
  37. fgets(cars[i].color, MAX_STRING, stdin);
  38. cars[i].color[strcspn(cars[i].color, "\n")] = 0;
  39.  
  40. printf("Номер: ");
  41. fgets(cars[i].number, 10, stdin);
  42. cars[i].number[strcspn(cars[i].number, "\n")] = 0;
  43.  
  44. printf("Прізвище власника: ");
  45. fgets(cars[i].ownerLastName, MAX_STRING, stdin);
  46. cars[i].ownerLastName[strcspn(cars[i].ownerLastName, "\n")] = 0;
  47.  
  48. printf("Адреса власника: ");
  49. fgets(cars[i].address, MAX_STRING, stdin);
  50. cars[i].address[strcspn(cars[i].address, "\n")] = 0;
  51. }
  52.  
  53. // Введення марки для пошуку
  54. printf("\nВведіть марку автомобіля для пошуку: ");
  55. fgets(targetBrand, MAX_STRING, stdin);
  56. targetBrand[strcspn(targetBrand, "\n")] = 0;
  57.  
  58. // Введення початкових цифр номера
  59. printf("Введіть початкові цифри номера: ");
  60. fgets(targetDigits, 10, stdin);
  61. targetDigits[strcspn(targetDigits, "\n")] = 0;
  62.  
  63. k = strlen(targetDigits);
  64.  
  65. // Пошук та виведення результатів
  66. printf("\nРезультати пошуку:\n");
  67. printf("=======================================\n");
  68.  
  69. for (int i = 0; i < n; i++) {
  70. // Перевірка марки
  71. if (strcmp(cars[i].brand, targetBrand) == 0) {
  72. // Перевірка початкових цифр номера
  73. if (strncmp(cars[i].number, targetDigits, k) == 0) {
  74. printf("Автомобіль #%d:\n", i + 1);
  75. printf(" Марка: %s\n", cars[i].brand);
  76. printf(" Колір: %s\n", cars[i].color);
  77. printf(" Номер: %s\n", cars[i].number);
  78. printf(" Власник: %s\n", cars[i].ownerLastName);
  79. printf(" Адреса: %s\n", cars[i].address);
  80. printf(" --------------------\n");
  81. count++;
  82. }
  83. }
  84. }
  85.  
  86. if (count == 0) {
  87. printf("Автомобілів марки '%s' з номерами, що починаються на '%s', не знайдено.\n",
  88. targetBrand, targetDigits);
  89. } else {
  90. printf("Знайдено автомобілів: %d\n", count);
  91. }
  92.  
  93. return 0;
  94. }
Success #stdin #stdout 0s 5324KB
stdin
3
Toyota
Чорний
АА1234ВС
Іванов
Київ, вул. Центральна, 1
Toyota
Білий
АА5678ВС
Петров
Львів, вул. Головна, 2
Honda
Сірий
АА1111ВС
Сидоренко
Одеса, вул. Морська, 3
Toyota
АА5
stdout
Введіть кількість автомобілів: 
Автомобіль #1
Марка: Колір: Номер: Прізвище власника: Адреса власника: 
Автомобіль #2
Марка: Колір: Номер: Прізвище власника: Адреса власника: 
Автомобіль #3
Марка: Колір: Номер: Прізвище власника: Адреса власника: 
Введіть марку автомобіля для пошуку: Введіть початкові цифри номера: 
Результати пошуку:
=======================================
Автомобілів марки 'Сидоренко' з номерами, що починаються на 'Одес�', не знайдено.