#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+CiNpbmNsdWRlIDxzdHJpbmcuaD4KI2luY2x1ZGUgPHN0ZGxpYi5oPgoKI2RlZmluZSBNQVhfQ0FSUyAxMDAKI2RlZmluZSBNQVhfU1RSSU5HIDUwCgovLyDQodGC0YDRg9C60YLRg9GA0LAg0LTQu9GPINC30LHQtdGA0ZbQs9Cw0L3QvdGPINGW0L3RhNC+0YDQvNCw0YbRltGXINC/0YDQviDQsNCy0YLQvtC80L7QsdGW0LvRjApzdHJ1Y3QgQ2FyIHsKICAgIGNoYXIgYnJhbmRbTUFYX1NUUklOR107CiAgICBjaGFyIGNvbG9yW01BWF9TVFJJTkddOwogICAgY2hhciBudW1iZXJbMTBdOwogICAgY2hhciBvd25lckxhc3ROYW1lW01BWF9TVFJJTkddOwogICAgY2hhciBhZGRyZXNzW01BWF9TVFJJTkddOwp9OwoKaW50IG1haW4oKSB7CiAgICBpbnQgbiwgaywgY291bnQgPSAwOwogICAgY2hhciB0YXJnZXRCcmFuZFtNQVhfU1RSSU5HXTsKICAgIGNoYXIgdGFyZ2V0RGlnaXRzWzEwXTsKICAgIHN0cnVjdCBDYXIgY2Fyc1tNQVhfQ0FSU107CiAgICAKICAgIHByaW50Zigi0JLQstC10LTRltGC0Ywg0LrRltC70YzQutGW0YHRgtGMINCw0LLRgtC+0LzQvtCx0ZbQu9GW0LI6ICIpOwogICAgc2NhbmYoIiVkIiwgJm4pOwogICAgZ2V0Y2hhcigpOwogICAgCiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgIHByaW50ZigiXG7QkNCy0YLQvtC80L7QsdGW0LvRjCAjJWRcbiIsIGkgKyAxKTsKICAgICAgICAKICAgICAgICBwcmludGYoItCc0LDRgNC60LA6ICIpOwogICAgICAgIGZnZXRzKGNhcnNbaV0uYnJhbmQsIE1BWF9TVFJJTkcsIHN0ZGluKTsKICAgICAgICBjYXJzW2ldLmJyYW5kW3N0cmNzcG4oY2Fyc1tpXS5icmFuZCwgIlxuIildID0gMDsKICAgICAgICAKICAgICAgICBwcmludGYoItCa0L7Qu9GW0YA6ICIpOwogICAgICAgIGZnZXRzKGNhcnNbaV0uY29sb3IsIE1BWF9TVFJJTkcsIHN0ZGluKTsKICAgICAgICBjYXJzW2ldLmNvbG9yW3N0cmNzcG4oY2Fyc1tpXS5jb2xvciwgIlxuIildID0gMDsKICAgICAgICAKICAgICAgICBwcmludGYoItCd0L7QvNC10YA6ICIpOwogICAgICAgIGZnZXRzKGNhcnNbaV0ubnVtYmVyLCAxMCwgc3RkaW4pOwogICAgICAgIGNhcnNbaV0ubnVtYmVyW3N0cmNzcG4oY2Fyc1tpXS5udW1iZXIsICJcbiIpXSA9IDA7CiAgICAgICAgCiAgICAgICAgcHJpbnRmKCLQn9GA0ZbQt9Cy0LjRidC1INCy0LvQsNGB0L3QuNC60LA6ICIpOwogICAgICAgIGZnZXRzKGNhcnNbaV0ub3duZXJMYXN0TmFtZSwgTUFYX1NUUklORywgc3RkaW4pOwogICAgICAgIGNhcnNbaV0ub3duZXJMYXN0TmFtZVtzdHJjc3BuKGNhcnNbaV0ub3duZXJMYXN0TmFtZSwgIlxuIildID0gMDsKICAgICAgICAKICAgICAgICBwcmludGYoItCQ0LTRgNC10YHQsCDQstC70LDRgdC90LjQutCwOiAiKTsKICAgICAgICBmZ2V0cyhjYXJzW2ldLmFkZHJlc3MsIE1BWF9TVFJJTkcsIHN0ZGluKTsKICAgICAgICBjYXJzW2ldLmFkZHJlc3Nbc3RyY3NwbihjYXJzW2ldLmFkZHJlc3MsICJcbiIpXSA9IDA7CiAgICB9CiAgICAKICAgIHByaW50ZigiXG7QktCy0LXQtNGW0YLRjCDQvNCw0YDQutGDINCw0LLRgtC+0LzQvtCx0ZbQu9GPINC00LvRjyDQv9C+0YjRg9C60YM6ICIpOwogICAgZmdldHModGFyZ2V0QnJhbmQsIE1BWF9TVFJJTkcsIHN0ZGluKTsKICAgIHRhcmdldEJyYW5kW3N0cmNzcG4odGFyZ2V0QnJhbmQsICJcbiIpXSA9IDA7CiAgICAKICAgIHByaW50Zigi0JLQstC10LTRltGC0Ywg0L/QvtGH0LDRgtC60L7QstGWINGG0LjRhNGA0Lgg0L3QvtC80LXRgNCwOiAiKTsKICAgIGZnZXRzKHRhcmdldERpZ2l0cywgMTAsIHN0ZGluKTsKICAgIHRhcmdldERpZ2l0c1tzdHJjc3BuKHRhcmdldERpZ2l0cywgIlxuIildID0gMDsKICAgIAogICAgayA9IHN0cmxlbih0YXJnZXREaWdpdHMpOwogICAgCiAgICBwcmludGYoIlxu0KDQtdC30YPQu9GM0YLQsNGC0Lgg0L/QvtGI0YPQutGDOlxuIik7CiAgICBwcmludGYoIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIik7CiAgICAKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgLy8g0J/QtdGA0LXQstGW0YDQutCwINC80LDRgNC60LgKICAgICAgICBpZiAoc3RyY21wKGNhcnNbaV0uYnJhbmQsIHRhcmdldEJyYW5kKSA9PSAwKSB7CiAgICAgICAgICAgIC8vINCf0LXRgNC10LLRltGA0LrQsCDQv9C+0YfQsNGC0LrQvtCy0LjRhSDRhtC40YTRgCDQvdC+0LzQtdGA0LAKICAgICAgICAgICAgaWYgKHN0cm5jbXAoY2Fyc1tpXS5udW1iZXIsIHRhcmdldERpZ2l0cywgaykgPT0gMCkgewogICAgICAgICAgICAgICAgcHJpbnRmKCLQkNCy0YLQvtC80L7QsdGW0LvRjCAjJWQ6XG4iLCBpICsgMSk7CiAgICAgICAgICAgICAgICBwcmludGYoIiAg0JzQsNGA0LrQsDogJXNcbiIsIGNhcnNbaV0uYnJhbmQpOwogICAgICAgICAgICAgICAgcHJpbnRmKCIgINCa0L7Qu9GW0YA6ICVzXG4iLCBjYXJzW2ldLmNvbG9yKTsKICAgICAgICAgICAgICAgIHByaW50ZigiICDQndC+0LzQtdGAOiAlc1xuIiwgY2Fyc1tpXS5udW1iZXIpOwogICAgICAgICAgICAgICAgcHJpbnRmKCIgINCS0LvQsNGB0L3QuNC6OiAlc1xuIiwgY2Fyc1tpXS5vd25lckxhc3ROYW1lKTsKICAgICAgICAgICAgICAgIHByaW50ZigiICDQkNC00YDQtdGB0LA6ICVzXG4iLCBjYXJzW2ldLmFkZHJlc3MpOwogICAgICAgICAgICAgICAgcHJpbnRmKCIgIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iKTsKICAgICAgICAgICAgICAgIGNvdW50Kys7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICAKICAgIGlmIChjb3VudCA9PSAwKSB7CiAgICAgICAgcHJpbnRmKCLQkNCy0YLQvtC80L7QsdGW0LvRltCyINC80LDRgNC60LggJyVzJyDQtyDQvdC+0LzQtdGA0LDQvNC4LCDRidC+INC/0L7Rh9C40L3QsNGO0YLRjNGB0Y8g0L3QsCAnJXMnLCDQvdC1INC30L3QsNC50LTQtdC90L4uXG4iLCAKICAgICAgICAgICAgICAgdGFyZ2V0QnJhbmQsIHRhcmdldERpZ2l0cyk7CiAgICB9IGVsc2UgewogICAgICAgIHByaW50Zigi0JfQvdCw0LnQtNC10L3QviDQsNCy0YLQvtC80L7QsdGW0LvRltCyOiAlZFxuIiwgY291bnQpOwogICAgfQogICAgCiAgICByZXR1cm4gMDsKfQ==
stdin
MwpUb3lvdGEK0KfQvtGA0L3QuNC5CtCQ0JAxMjM00JLQoQrQhtCy0LDQvdC+0LIK0JrQuNGX0LIsINCy0YPQuy4g0KbQtdC90YLRgNCw0LvRjNC90LAsIDEKVG95b3RhCtCR0ZbQu9C40LkK0JDQkDU2NzjQktChCtCf0LXRgtGA0L7QsgrQm9GM0LLRltCyLCDQstGD0LsuINCT0L7Qu9C+0LLQvdCwLCAyCkhvbmRhCtCh0ZbRgNC40LkK0JDQkDExMTHQktChCtCh0LjQtNC+0YDQtdC90LrQvgrQntC00LXRgdCwLCDQstGD0LsuINCc0L7RgNGB0YzQutCwLCAzClRveW90YQrQkNCQNQ==
3
Toyota
Чорний
АА1234ВС
Іванов
Київ, вул. Центральна, 1
Toyota
Білий
АА5678ВС
Петров
Львів, вул. Головна, 2
Honda
Сірий
АА1111ВС
Сидоренко
Одеса, вул. Морська, 3
Toyota
АА5