#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define MAX_CARS 100
#define MAX_STRING 50
struct Car {
char brand[ MAX_STRING] ;
char color[ MAX_STRING] ;
char number[ 10 ] ;
char ownerLastName[ MAX_STRING] ;
char address[ MAX_STRING] ;
} ;
int main( ) {
int n, k, count = 0 ;
char targetBrand[ MAX_STRING] ;
char targetDigits[ 10 ] ;
struct Car cars[ MAX_CARS] ;
printf ( "Введіть кількість автомобілів: " ) ;
for ( int i = 0 ; i < n; i++ ) {
printf ( "\n Автомобіль #%d\n " , i
+ 1 ) ;
fgets ( cars
[ i
] .
brand , MAX_STRING
, stdin
) ; cars
[ i
] .
brand [ strcspn ( cars
[ i
] .
brand , "\n " ) ] = 0 ;
fgets ( cars
[ i
] .
color , MAX_STRING
, stdin
) ; cars
[ i
] .
color [ strcspn ( cars
[ i
] .
color , "\n " ) ] = 0 ;
fgets ( cars
[ i
] .
number , 10 , stdin
) ; cars
[ i
] .
number [ strcspn ( cars
[ i
] .
number , "\n " ) ] = 0 ;
printf ( "Прізвище власника: " ) ; fgets ( cars
[ i
] .
ownerLastName , MAX_STRING
, stdin
) ; cars
[ i
] .
ownerLastName [ strcspn ( cars
[ i
] .
ownerLastName , "\n " ) ] = 0 ;
fgets ( cars
[ i
] .
address , MAX_STRING
, stdin
) ; cars
[ i
] .
address [ strcspn ( cars
[ i
] .
address , "\n " ) ] = 0 ; }
// Введення марки для пошуку
printf ( "\n Введіть марку автомобіля для пошуку: " ) ; fgets ( targetBrand
, MAX_STRING
, stdin
) ; targetBrand
[ strcspn ( targetBrand
, "\n " ) ] = 0 ;
// Введення початкових цифр номера
printf ( "Введіть початкові цифри номера: " ) ; fgets ( targetDigits
, 10 , stdin
) ; targetDigits
[ strcspn ( targetDigits
, "\n " ) ] = 0 ;
// Пошук та виведення результатів
printf ( "\n Результати пошуку:\n " ) ; printf ( "=======================================\n " ) ;
for ( int i = 0 ; i < n; i++ ) {
// Перевірка марки
if ( strcmp ( cars
[ i
] .
brand , targetBrand
) == 0 ) { // Перевірка початкових цифр номера
if ( strncmp ( cars
[ i
] .
number , targetDigits
, k
) == 0 ) { printf ( "Автомобіль #%d:\n " , i
+ 1 ) ; printf ( " Марка: %s\n " , cars
[ i
] .
brand ) ; printf ( " Колір: %s\n " , cars
[ i
] .
color ) ; printf ( " Номер: %s\n " , cars
[ i
] .
number ) ; printf ( " Власник: %s\n " , cars
[ i
] .
ownerLastName ) ; printf ( " Адреса: %s\n " , cars
[ i
] .
address ) ; printf ( " --------------------\n " ) ; count++;
}
}
}
if ( count == 0 ) {
printf ( "Автомобілів марки '%s' з номерами, що починаються на '%s', не знайдено.\n " , targetBrand, targetDigits) ;
} else {
printf ( "Знайдено автомобілів: %d\n " , count
) ; }
return 0 ;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KI2luY2x1ZGUgPHN0ZGxpYi5oPgoKI2RlZmluZSBNQVhfQ0FSUyAxMDAKI2RlZmluZSBNQVhfU1RSSU5HIDUwCgpzdHJ1Y3QgQ2FyIHsKICAgIGNoYXIgYnJhbmRbTUFYX1NUUklOR107CiAgICBjaGFyIGNvbG9yW01BWF9TVFJJTkddOwogICAgY2hhciBudW1iZXJbMTBdOwogICAgY2hhciBvd25lckxhc3ROYW1lW01BWF9TVFJJTkddOwogICAgY2hhciBhZGRyZXNzW01BWF9TVFJJTkddOwp9OwoKaW50IG1haW4oKSB7CiAgICBpbnQgbiwgaywgY291bnQgPSAwOwogICAgY2hhciB0YXJnZXRCcmFuZFtNQVhfU1RSSU5HXTsKICAgIGNoYXIgdGFyZ2V0RGlnaXRzWzEwXTsKICAgIHN0cnVjdCBDYXIgY2Fyc1tNQVhfQ0FSU107CiAgICAKICAgIHByaW50Zigi0JLQstC10LTRltGC0Ywg0LrRltC70YzQutGW0YHRgtGMINCw0LLRgtC+0LzQvtCx0ZbQu9GW0LI6ICIpOwogICAgc2NhbmYoIiVkIiwgJm4pOwogICAgZ2V0Y2hhcigpOyAvLyDQvtGH0LjRidC10L3QvdGPINCx0YPRhNC10YDQsAogICAgCiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgIHByaW50ZigiXG7QkNCy0YLQvtC80L7QsdGW0LvRjCAjJWRcbiIsIGkgKyAxKTsKICAgICAgICAKICAgICAgICBwcmludGYoItCc0LDRgNC60LA6ICIpOwogICAgICAgIGZnZXRzKGNhcnNbaV0uYnJhbmQsIE1BWF9TVFJJTkcsIHN0ZGluKTsKICAgICAgICBjYXJzW2ldLmJyYW5kW3N0cmNzcG4oY2Fyc1tpXS5icmFuZCwgIlxuIildID0gMDsKICAgICAgICAKICAgICAgICBwcmludGYoItCa0L7Qu9GW0YA6ICIpOwogICAgICAgIGZnZXRzKGNhcnNbaV0uY29sb3IsIE1BWF9TVFJJTkcsIHN0ZGluKTsKICAgICAgICBjYXJzW2ldLmNvbG9yW3N0cmNzcG4oY2Fyc1tpXS5jb2xvciwgIlxuIildID0gMDsKICAgICAgICAKICAgICAgICBwcmludGYoItCd0L7QvNC10YA6ICIpOwogICAgICAgIGZnZXRzKGNhcnNbaV0ubnVtYmVyLCAxMCwgc3RkaW4pOwogICAgICAgIGNhcnNbaV0ubnVtYmVyW3N0cmNzcG4oY2Fyc1tpXS5udW1iZXIsICJcbiIpXSA9IDA7CiAgICAgICAgCiAgICAgICAgcHJpbnRmKCLQn9GA0ZbQt9Cy0LjRidC1INCy0LvQsNGB0L3QuNC60LA6ICIpOwogICAgICAgIGZnZXRzKGNhcnNbaV0ub3duZXJMYXN0TmFtZSwgTUFYX1NUUklORywgc3RkaW4pOwogICAgICAgIGNhcnNbaV0ub3duZXJMYXN0TmFtZVtzdHJjc3BuKGNhcnNbaV0ub3duZXJMYXN0TmFtZSwgIlxuIildID0gMDsKICAgICAgICAKICAgICAgICBwcmludGYoItCQ0LTRgNC10YHQsCDQstC70LDRgdC90LjQutCwOiAiKTsKICAgICAgICBmZ2V0cyhjYXJzW2ldLmFkZHJlc3MsIE1BWF9TVFJJTkcsIHN0ZGluKTsKICAgICAgICBjYXJzW2ldLmFkZHJlc3Nbc3RyY3NwbihjYXJzW2ldLmFkZHJlc3MsICJcbiIpXSA9IDA7CiAgICB9CiAgICAKICAgIC8vINCS0LLQtdC00LXQvdC90Y8g0LzQsNGA0LrQuCDQtNC70Y8g0L/QvtGI0YPQutGDCiAgICBwcmludGYoIlxu0JLQstC10LTRltGC0Ywg0LzQsNGA0LrRgyDQsNCy0YLQvtC80L7QsdGW0LvRjyDQtNC70Y8g0L/QvtGI0YPQutGDOiAiKTsKICAgIGZnZXRzKHRhcmdldEJyYW5kLCBNQVhfU1RSSU5HLCBzdGRpbik7CiAgICB0YXJnZXRCcmFuZFtzdHJjc3BuKHRhcmdldEJyYW5kLCAiXG4iKV0gPSAwOwogICAgCiAgICAvLyDQktCy0LXQtNC10L3QvdGPINC/0L7Rh9Cw0YLQutC+0LLQuNGFINGG0LjRhNGAINC90L7QvNC10YDQsAogICAgcHJpbnRmKCLQktCy0LXQtNGW0YLRjCDQv9C+0YfQsNGC0LrQvtCy0ZYg0YbQuNGE0YDQuCDQvdC+0LzQtdGA0LA6ICIpOwogICAgZmdldHModGFyZ2V0RGlnaXRzLCAxMCwgc3RkaW4pOwogICAgdGFyZ2V0RGlnaXRzW3N0cmNzcG4odGFyZ2V0RGlnaXRzLCAiXG4iKV0gPSAwOwogICAgCiAgICBrID0gc3RybGVuKHRhcmdldERpZ2l0cyk7CiAgICAKICAgIC8vINCf0L7RiNGD0Log0YLQsCDQstC40LLQtdC00LXQvdC90Y8g0YDQtdC30YPQu9GM0YLQsNGC0ZbQsgogICAgcHJpbnRmKCJcbtCg0LXQt9GD0LvRjNGC0LDRgtC4INC/0L7RiNGD0LrRgzpcbiIpOwogICAgcHJpbnRmKCI9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiIpOwogICAgCiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgIC8vINCf0LXRgNC10LLRltGA0LrQsCDQvNCw0YDQutC4CiAgICAgICAgaWYgKHN0cmNtcChjYXJzW2ldLmJyYW5kLCB0YXJnZXRCcmFuZCkgPT0gMCkgewogICAgICAgICAgICAvLyDQn9C10YDQtdCy0ZbRgNC60LAg0L/QvtGH0LDRgtC60L7QstC40YUg0YbQuNGE0YAg0L3QvtC80LXRgNCwCiAgICAgICAgICAgIGlmIChzdHJuY21wKGNhcnNbaV0ubnVtYmVyLCB0YXJnZXREaWdpdHMsIGspID09IDApIHsKICAgICAgICAgICAgICAgIHByaW50Zigi0JDQstGC0L7QvNC+0LHRltC70YwgIyVkOlxuIiwgaSArIDEpOwogICAgICAgICAgICAgICAgcHJpbnRmKCIgINCc0LDRgNC60LA6ICVzXG4iLCBjYXJzW2ldLmJyYW5kKTsKICAgICAgICAgICAgICAgIHByaW50ZigiICDQmtC+0LvRltGAOiAlc1xuIiwgY2Fyc1tpXS5jb2xvcik7CiAgICAgICAgICAgICAgICBwcmludGYoIiAg0J3QvtC80LXRgDogJXNcbiIsIGNhcnNbaV0ubnVtYmVyKTsKICAgICAgICAgICAgICAgIHByaW50ZigiICDQktC70LDRgdC90LjQujogJXNcbiIsIGNhcnNbaV0ub3duZXJMYXN0TmFtZSk7CiAgICAgICAgICAgICAgICBwcmludGYoIiAg0JDQtNGA0LXRgdCwOiAlc1xuIiwgY2Fyc1tpXS5hZGRyZXNzKTsKICAgICAgICAgICAgICAgIHByaW50ZigiICAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuIik7CiAgICAgICAgICAgICAgICBjb3VudCsrOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgCiAgICBpZiAoY291bnQgPT0gMCkgewogICAgICAgIHByaW50Zigi0JDQstGC0L7QvNC+0LHRltC70ZbQsiDQvNCw0YDQutC4ICclcycg0Lcg0L3QvtC80LXRgNCw0LzQuCwg0YnQviDQv9C+0YfQuNC90LDRjtGC0YzRgdGPINC90LAgJyVzJywg0L3QtSDQt9C90LDQudC00LXQvdC+LlxuIiwgCiAgICAgICAgICAgICAgIHRhcmdldEJyYW5kLCB0YXJnZXREaWdpdHMpOwogICAgfSBlbHNlIHsKICAgICAgICBwcmludGYoItCX0L3QsNC50LTQtdC90L4g0LDQstGC0L7QvNC+0LHRltC70ZbQsjogJWRcbiIsIGNvdW50KTsKICAgIH0KICAgIAogICAgcmV0dXJuIDA7Cn0=
stdin
MwoKVG95b3RhCtCn0L7RgNC90LjQuQrQkNCQMTIzNNCS0KEK0IbQstCw0L3QvtCyCtCa0LjRl9CyLCDQstGD0LsuINCm0LXQvdGC0YDQsNC70YzQvdCwLCAxCgpUb3lvdGEK0JHRltC70LjQuQrQkNCQNTY3ONCS0KEK0J/QtdGC0YDQvtCyCtCb0YzQstGW0LIsINCy0YPQuy4g0JPQvtC70L7QstC90LAsIDIKCkhvbmRhCtCh0ZbRgNC40LkK0JDQkDExMTHQktChCtCh0LjQtNC+0YDQtdC90LrQvgrQntC00LXRgdCwLCDQstGD0LsuINCc0L7RgNGB0YzQutCwLCAz
3
Toyota
Чорний
АА1234ВС
Іванов
Київ, вул. Центральна, 1
Toyota
Білий
АА5678ВС
Петров
Львів, вул. Головна, 2
Honda
Сірий
АА1111ВС
Сидоренко
Одеса, вул. Морська, 3