#include <iostream>
#include <cstring>
#include <list>
using namespace std;
char* delItem(char* str, size_t n)
{
int len = strlen(str)-n;
if(len>0)
memmove(str+n, str+n+1, len);
return str;
}
int main()
{
list <char*> words;
int maxL = 0;
char st[] = "fdfd hgf jhgf.jhgf,jytf juyhg1fhgft jhgf hgfhgfh hgfhgf";
char razd[] = " ,.";
for (char *p = strtok(st, razd); p != NULL; p = strtok(NULL, razd))
{
words.push_back(p);
if(maxL < strlen(p))
maxL = strlen(p);
}
for (char* n : words)
{
if(strlen(n) == maxL)
{
if(strlen(n)%2 == 0)
{
int delIndex = strlen(n)/2-1;
for(int i=0; i<2; i++)
n = delItem(n,delIndex);
}
else
{
n=delItem(n,int(strlen(n)/2));
}
}
cout<<n<<endl;
}
system("PAUSE");
}
Объяснение:
x
2
+
y
2
=
16
...
...
...
...
...
...
.
.
(
1
)
x + y = 4 (2)
rearrange (2) to y = 4 - x (could do x = 4 - y )
substitute y = 4 - x into (1)
hence:
x
2
+
(
4
−
x
)
2
=
16
⇒
x
2
+
16
−
8
x
+
x
2
=
16
and
2
x
2
−
8
x
+
16
−
16
=
0
⇒
2
x
2
−
8
x
=
0
factor and solve : 2x(x - 4 ) = 0
⇒
x
=
0
,
x
=
4
substitute these values into y = 4 - x , to find corresponding values of y.
x = 0 : y = 4 - 0 = 4 → (0 , 4)
x = 4 : y = 4 - 4 = 0 → (4 , 0 )
These are the points of intersection with the line x +y = 4 and the circle
x
2
+
y
2
=
16
Answer link
Объяснение: