Task 4 is done

This commit is contained in:
AZEN-SGG 2025-05-20 23:03:18 +03:00
parent 1e17a5b2c2
commit 6f21fa116f
2 changed files with 39 additions and 53 deletions

View file

@ -16,7 +16,13 @@ int t4_solve (node *head)
int last_cmp = strcmp(head->string, last->string);
if (last_cmp == 0) {
local += (local > 0);
if (strict) {
if (maximum < count)
maximum = count;
count = 0;
local = 1;
} else
local += (local > 0);
} else if (last_cmp < 0) {
if (strict) {
if (maximum < count)
@ -39,32 +45,4 @@ int t4_solve (node *head)
return maximum;
}
/*
char *last = head->string;
int maximum = 0, count = 0, local = 0, strict = 0;
for (head = head->next; head; head = head->next)
{
int cmp = strcmp(head->string, last);
if (cmp > 0) {
count += local;
if (maximum < count)
maximum = count;
count = 0;
local = 1;
strict = 1;
} else if (cmp < 0) {
if (!strict)
count += local;
local = 1;
strict = 0;
} else {
if (local)
local++;
}
last = head->string;
}
return maximum;
}
*/

View file

@ -5,35 +5,43 @@
int t4_solve (node *head)
{
char *last = head->string;
int maximum = 0, count = 0, local = 1, strict = 1;
int maximum = 0, count = 0, local = 0, strict = 0;
node *last, *next;
for (head = head->next; head; head = head->next)
last = head;
head = last->next;
for (next = head->next; next; next = head->next)
{
int cmp = strcmp(head->string, last);
if (cmp > 0) {
count += local;
local = 1;
strict = 1;
} else if (cmp < 0) {
if (!strict)
count += local;
if (maximum < count)
maximum = count;
count = 0;
local = 1;
int last_cmp = strcmp(head->string, last->string);
if (last_cmp == 0) {
if (strict) {
if (maximum < count)
maximum = count;
count = 0;
local = 1;
} else
local += (local > 0);
} else if (last_cmp < 0) {
if (strict) {
if (maximum < count)
maximum = count;
count = 0;
local = 1;
} else
local += (local > 0);
strict = 0;
} else {
local++;
}
last = head->string;
}
if (!strict)
count += local;
count += local;
local = (local > 0);
if (maximum < count)
maximum = count;
strict = 1;
}
last = head;
head = next;
}
return maximum;
}