I am going to discuss three problems today. These were given as programming problems in the makeup quiz. The first one is pretty simple, although I was surprised that several people have made some mistakes even in that simple problem. The other two were not simple or straightforward, particularly the one which requires you to separate out words in a sentence which are separated by blanks or comma needs special C++ functions to be used. I had requested all of you to read those string functions, but apparently those who appeared for the makeup test had not read any one of those functions. I am not sure whether others have done so. If they are not, this is a chance where I will explain that problem as to how that problem can be solved without using functions, how difficult the solution becomes and how the problem could be solved more easily. The last problem which I had briefly discussed in a tutorial discussion with some people is about finding out properties of elements of an integer array where some elements may be repeated. So, a question was based on that. Again I will discuss that solution. So, the first question is about problem to add terms of a series. This could be the most straightforward question and I am really pained to see that people were not able to solve this question properly. The second question is about extracting words as I said from a sentence which are separated by commas or blanks and work out a particular solution. Basically, the problem was that if you have a sentence with words, words are separated by one or more blanks, the sentence may contain some commas, one or more commas as well. What you are required to do is locate a comma, take the word immediately preceding that comma, take the word immediately following that comma, concatenate these two words and print out as many such words as they will be there in a sentence. That was the problem. The third problem was finding out unique integer numbers in a given array which may contain some repeated numbers. So, this was the first question. It was required to add n terms of the series. This problem is pretty simple. So, if you have to add terms, two things we notice. Each term differs from the previous term by an amount x square. So, obviously, when I set up an iteration to calculate the terms, I can simply say term is equal to term multiplied by x into x. Now, there are two ways of handling the alternate signs. One approach which many people have attempted is to take the term number i with i starting as 1 here, 2 here, 3 here, 4 here and so on. So, what they are saying is that if the term being added is an even term, then the sign is negative, otherwise sign is positive. So, many people have done something like this which is perfectly fine because when they add the sum, they multiply it by sign. Of course, the sign itself must be defined as integer and so on. So, this is one way. The other approach is to simply say term is equal to minus term into x into x. So, no, no, one is the starting point. X raise to 0 is the starting point. That is the first term. Term into x square is the next term. Term into x square is another term and so on. So, for example, if I start with, you take either of these which is actually x raise to 0. When i is equal to 2, term into x into x will be actually x square because first term was 1, 1 into x square. Then the third term, again, term into x into x and that will be x raise to 4. So, terms will get correctly calculated if my first term is 0. Now, all that I need to ensure is that I do appropriate test both for input and for initialization of the variables. Many people have made this mistake. Let us go back to the previous slide and read the words carefully. It is required to add n terms of the following series for a given value of x less than n, less than 1. n is given as input. Another value delta is also given as an additional input. Delta defines the lower limit on terms to be added. A sample value was given 0.0001. 90 percent of the people have used 0.0001 as the delta value without reading the question. That was only a sample value. To say that, delta will usually be a small value. By no means that is the value asked for. Delta is an additional input. You are required to read delta. You are required to read n. You are required to read x and you have to verify whether x is less than 1. For the simple reason that if x is greater than 1, this series may become a non-converging series. It may diver as x increases. Of course, you have alternate plus and minus sign, but that does not impact the final term which will be x raise to n and as n tends to infinity, the positive term may rule the rules. x should not be greater than 1. Now, these things, you have to read n, you have to read delta and you have to read x. Then, you have to verify that x is less than 1. In an exam situation, people lose marks if they do not do these things. That is why it is important to remember these points. The solution is of course, straight forward. So, here is what I am doing. I am defining n and k. k is my counter. I am defining x sum, term and delta as floating point values. I collect the values of n, x and delta as input. I check if x is greater than or equal to 1. If x is beyond limits, stop execution. This is a small squiggle which people do not remember. If you have to check the opposite of what is permitted, what is permitted was x less than 0. Then, opposite is x greater than equal to 0, not x greater than 0. It is a small thing, but you should remember to be very meticulously correct. If that is so, the approach that I am using is invalid value of x. I just return with some negative things. So, that rest of my program is not encumbered by additional indentation. The other way of saying is if x less than 1, then put a opening curly bracket and write the entire program. At the end, again say else invalid x, but by the time you have completed the program, that else clause people will not remember easily that that relates to the first condition. It is best that whenever you are examining conditions of the type which will make the entire execution of the program invalid, it is best to check those conditions and get out rather than continuing with the program. This makes the remaining program very straightforward and simple to look at. The program itself is simple. I start with term equal to 1, I start with sum equal to 0, and I start with a count equal to 1. And while count is less than equal to n and the absolute value of term is greater than delta, I say sum is equal to sum plus term, term is equal to term into minus x star x. So, that approach that I have used is to use the minus sign as a part of term calculation, so that the terms themselves become positive and negative alternately. But you could easily take the other approach of using the sign and so on. It makes the program slightly complicated because you have to check whether k modulo 2 is 0 or not. Now, that even an or a whole lot depends upon what was your starting point. For example, if you start with sum is equal to 1, assuming that 1 is taken care of and say first term itself is x square, then the first term itself has to be subtracted, second term has to be added and so on. So, you have to be careful in the sequence in which the computations will be done by the program that you write. Once you take care of that, you will always get a correct solution. So, this was a very straightforward program, but I want you to note these small points here because these are the small points which may make you lose unnecessarily some vital marks in an exam even for simple questions, do not do that. It is useful to write inline comments, almost no program written in an examination contains comments, almost no program. That is bad habit. What it means to me is that even when you write programs on a piece of paper, say for example, for your project, you would not be writing comments. You would invariably write comments after the program is entered, after you have tested it and when it works, then you say, ah, Fattak said comment should be there. So, let me put some comment.  Otherwise, I do not think that is essential. This stems from the fact that you genuinely believe that the program that you write are to be used only by you, are to be read only by you. How many times I have said that is incorrect? In real life as professionals when you write programs 99 percent of the time, the programs will be used not only by you, but at least someone else. Either your colleague worker somewhere or maybe somebody else in the world and which means that as a professional programming practice, you must learn to write comments and comments cannot be an afterthought. Invariably, if you write comments first, leaving blanks for code, it is much easier to write code. So, look at the some sample comments that I have written for iterative computation of the sum. We will set value of term to 1, which is the first term, sum to 0, a counter variable k to 1 and at the beginning of each iteration we will check if k is less than or equal to n, if absolute value of term is less than delta. In any of these cases, I will have to do what? Terminate. I forgot to write the word terminate here. In any of these cases, I should get out of the loop and of course bring the final sum and so on. Now, these comments would be helpful for you only. Basically what these comments are doing? Whatever initial approach I thought of in my mind, these comments are consolidating that in a natural language. Now, whether you write it or whether you keep it in mind, it is okay with you ordinarily, but when you are writing professional programs, that is not okay and you cannot become a professional programmer only when writing programs for someone else and otherwise remain an amateur program. That is not workable.  I would strongly suggest that writing such comments would not take more than half a minute or one minute per program that you approach. In fact, most of the time when you read a problem in an exam, you are thinking very rapidly. The problem is you rarely write down your thinking in words. If you spend one minute in writing those words, you will find that your own writing of the program becomes easier related. Anyway, that is just a suggestion. You can follow your own style. This is the next problem where a text sentence is given as input. Since not all of you appeared for the make-up test, make-up quiz, not all of you might have seen these questions. Here are some examples given. Hello, comma, how are you? Notice that there is a blank before comma, blank after comma and there are blanks between these words as well. Our program should print hello, how? Because there is only one comma. There is one word before hello, one word after hello, that is how, one word after comma. So, hello, how becomes a word that is to be printed as a single word. Here is another sentence. He came, sat on a chair, drank a glass of water and read the paper. So, notice that there are one, two, three commas. On either side of the commas, there are words like came and sat, chair, drank, water, and so the program should print came, sat, chair, drank, water, and so the idea here is not to create funny words out of nowhere. The idea here is to find out whether you have understood how to handle character strings. A character string is a very peculiar case of the data by the way. We have not discussed this earlier, but it is important to understand what is so peculiar about character strings. Character strings represent variable length information. Have you noticed that? So, a fixed length is an int or a float, for example. Int is 4 bytes, float is 4 bytes and it does not matter how you write the value in asking. For example, an integer may be written as minus 1, 2, 3, 4, 5, 6 or an integer may be written as 3. It might appear 3 is just one character long minus 1, 2, 3, 4, 5, 6 characters long. Is it a variable length information? It might be so as far as we are concerned when we read them as characters, but internally they all get converted into fixed lengths. The advantage of fixed length data is that they can always be referred to by a single variable name and that the operations on them are perfectly defined. You do not have to worry about where the data is starting, where the data is ending. So, for example, when you write term is equal to term plus x or sum is equal to sum plus something or term is equal to term into something or k equal to k plus 1, you are very sure that the values that are participating are fixed length values. There are not only instructions to operate upon those, there are actually hardware circuits to operate upon all that is very not. Variable length information on the other hand makes it necessary for you to find out how long is a given piece of information. A name for example, so if I write d perk b quarter, now this has certain string length one blank one blank here, the other one could be k v is one other name. Now, these are all names, there are multiple problems with character strings that we face. First of all, we would like if this is an entity called name, I would like to have my familiar concept of first name last name or first name middle name last name. Not all societies in the world follow this dictum. This is essentially coming from a particular western segment of the society which had first name, last name, middle name. Indian names typically do not follow this. Now, if Somayajulu was to write his full name that would take perhaps about 70, 80 characters and you cannot figure out which one is the first name and which one is the last name. So, these are semantic problems associated with names for example, but even values if you take them as names, as simple names as first name, last name, middle name, there is no guarantee that the names will be of fixed length. You take any English sentence as we saw there, multiple sentences if are given then each sentence would be of a different length. One sentence may contain 5 words, another sentence may contain 20 words, a sentence may contain 3 clauses separated by comma, another sentence may contain 12 clauses separated by commas and semicolons and whatever, whatever, whatever. Handling such information is hard. Invariably you have to handle string of characters in many situations, in many situations you have to handle string of character. How to handle them is very essential to understand. The standard mechanism that we have for handling character string information is one, the basic unit like care. So, if I say care say C then I get one byte allocated to C. So, I can put any one character inside this, that is it. This is a fixed length value, there is no problem. But if I want a string, now I suddenly get, I suddenly get 10 bytes. How many characters of the string can I put inside this? 9 and not 10. Why? Because I would like to put a backslash 0 here. Now, what is backslash 0? Ordinary sentences that you and I write, do we put a backslash 0 ever? Never. So, this is a very unique way in which C plus plus has decided to handle strings which are of variable length. Notice that if a string is 20 characters long or a string is 30 characters long, a string is 5 characters long cannot be determined otherwise. Either for every string I have to maintain two things. One a large array in which the actual characters are stored and another the length of the string as an integer number. Instead the designer has decided that a backslash 0 at the end will indicate end of a string. Is it necessary that backslash 0 will always be at the end, that is in the ninth position? This is not necessary. For example, if I defining the string I assign it a value hello. How will this string look like? I will have h in the 0th byte, e here, l here, l here, o here and C plus plus will automatically put a backslash 0 here. Automatically. So, that means whenever a string assignment takes place either because of the input or because of the initialization C plus plus will insert a backslash 0 immediately after the last character of the string. Similarly, if we are constructing words on our own or we are constructing strings on our own then it is necessary we can copy any character into any position of an array. And after putting all the characters of a verb we must put backslash 0 at the end if we want that string to be recognized as a valid string particularly in the context of functions of C plus plus being used. So, that is our response. In this context then our approach to extraction. So, this was about handling variable length records. We know that the records will be variable length a sentence can be any long we have no clue. We have to make some assumptions may most people do not even state that assumption that for the solution that I am presenting I assume that the sentence is contains at most 79 characters. We will just have care sentence 80 and that means the reader has to understand that the person is not handling any sentence larger than 79 character. Should you not just mention somewhere that I assume that the sentence should be 250 characters long or 100 characters long or 79 characters long or whatever say useful comment to write anyway. So, first after reading the sentence what should I do this is the approach to solving the problem I got a sentence I can use the get as function or get string function to read the entire sentence. Alternately I can use the get see get care function and read one character at a time any sentence which is input on the keyboard whenever I press an enter what happens a new line character goes in. So, if I am reading one character by character the moment a new line character comes I can assume that the sentence has ended and put a backslash 0 myself. Alternately I can read a string a get as statement will get you the string up to the backslash l that is the new line character with the new line character being replaced by backslash 0. You will get a proper string insert the point is this string could be 50 characters long 70 characters long a whatever if I say at most 79 characters long then I have to contain for a sentence which could be anywhere between 0 characters to 79 characters that means somebody goofs up and just presses enter there is a 0 character string form whatever the sentence is what is my approach to solve the solving the problem to recapitulate what problem are we solving given a comma or given a sentence I sold it a comma look at both sides of that comma take those two words which are immediately preceding and succeeding comma concatenate them and print them. So, I say look at a comma if comma is found I notice its position which I call C pause let us say and I do the following from that position C pause I scan backwards and collect the word up to a blank before it and also I scan forward skip any consecutive blanks collect the first word up to a blank after it is important to form a mental picture of what will happen here. So, let us look at a sentence there are some words like this let say there are three blanks before this comma and there may be blanks here let say this is one sentence. So, look at what we are trying to it is useful to take the sample sentence and analyze your own algorithm in your mind we have said first we look for a comma. So, where will we get this comma we will get it here. So, this is going to be my position of the comma which I will call C pause I have to concatenate came and sat these are the two words on either side of the comma how will I look for the word came I start looking backwards from this point first I will have to skip all the blanks there are two blanks here there may be zero blank I do not whatever blanks are there I must skip. So, the skipping logic will be what keep on examining characters backwards as long as they are blank forget it the moment you get a first non blank character mark that point this first non blank character must be the end of the previous word. So, I got the end of the previous word now I will set up another iteration in this iteration I will look for blank character is the next character blank next character any character which is not blank is part of the word. So, I will keep moving forward till I come to this point because this point is first blank. So, from the moment I discover the blank I will come out and when I discover a blank I will go back here and point this here. Now, I have got two pointers one the beginning of the word one the end of the word second I now scan forward where do I scan forward from from this point onwards please note that the scanning backward and scanning forward can begin from C pause minus one and C pause plus one because C plus itself is a comma I should not look at it again. So, when I look forward I again skip over the blanks. So, I will have I will be looking for the first non blank character going forward as long as they are blank I keep ignoring them the moment I find a blank I set a pointer this is the start of the next word. Now, I will start looking for a blank. So, when I look for a blank I move like this and I will come across this blank. The moment I come across a blank that means the next word has ended and it has ended just one position prior to this. So, I will have to reset this to this please note that things become easier when I write an example when I write down where the pointers will be then I know exactly what I need to determine I need to determine four set of pointers for every comma the start of the previous word the end of the previous word the start of the next word end of the next word. Once I got these two I can concatenate them by copying these many characters into a word and outputting it having done this for one comma what should I do now I look for another comma. So, I have to look for this comma where from should I start looking for this comma I can actually start from C pause itself, but that is not essential because I have located a word there is only one problem what is the guarantee that the next word say S which is S here sat is actually a comma only say somebody gives you successive commas you may have a problem in this logic. Therefore, one more assumption you write we assume that the sentence is a well formed English sentence that means some idiot is not giving me an input as he came comma comma comma sat comma comma done that is incorrect English we do not expect that to happen here in real life syntax errors of even this kind will have to be corrected. However, in the second approach to this problem I will show you how standard C plus plus functions help us locate these things, but this is clear how you will analyze the sentence. So, I am looking for a comma then look backwards look forward in either side I collect a word I need two pointers to describe beginning and end of the previous word two pointers to describe beginning and end of the next one then I go to the next comma and keep on doing this if I do not find in a comma my job is ended here is the first solution. I will be putting up these solutions these old slides in the moodle. So, you can read this, but here what is important to note I will just point out first I am asking the user to type a line I am getting a sentence and I am calculating the length of the sentence n cap since I am going to actually scan for comma I know from where to where 0 to n cap minus 1 are the number of characters in that sentence and I just print the sentence for the sake of now I say current pos is 0 while curr pos is less than n cap. So, notice that I am not using a for loop I am using a while loop. So, I am starting with current position as 0 and as long as current position is less than n cap I will search for a comma what do I do if sentence curr plus plus plus not equal to comma continue please note what it does it simply breaks it simply breaks the loop the continue means go to the next iteration. So, it does not matter how many thousand sentences I have written that if the sentence curr pos plus plus is not equal to comma I will come back to the next iteration is this is this construction understood curr pos is here I look at this is this comma no it is not comma then what will I do I will go to the end of this while wherever this while ends here and I will come back this is what continue does continue means go to the end of the iteration and come back again. Now again it will check while curr pos is less than n cap curr pos itself must change if the curr pos does not change I have a problem luckily I am making the curr pos change within the if statement itself by saying curr plus plus plus this statement is equivalent to the following is this clear if the curr pos position of the sentence is not equal to comma then do the following increase curr pos by 1 and go to the next iteration. So, this simple if statement with divide will ensure that when I come to this point I have located a comma and that comma is located at say curr pos I note that curr pos position into c pos which is let us say comma position is actually not necessary again continue to use curr pos I have extracted that into a separate variable c pos and I am saying I found comma at c pos and comma count plus plus because I want to count how many commas I have so many words I should output at the end now I try to get the word before the comma. So, recall the logic I have to scan backwards. So, that means any for loop that I said will start with some high value and go towards lower value. So, increment will be now decrement I am going backwards and what am I looking for first I am looking for blanks I want to skip all the blanks notice what it does skip blanks just before comma for I equal to c pos minus 1 I greater than equal to 0 and sentence I equal to blank I minus minus there is no body in this for loop you understand this construction ordinarily I would have to setup a for loop which will say for I equal to c pos minus 1 to I greater than equal to 0 because I have to go all the way backwards and I have to examine whether any character is blank the moment I find blank I have to get out of this I am doing that inside this itself if sentence is equal equal blank. So, sorry if I find the blank I have to go to the next character I am skipping the blanks before my comma. So, this particular for statement will skip all the blanks before the comma and rest at a position where I have a non blank character. So, that means whatever is the current value of I at this juncture is the first non blank character before comma that is when I have come out because this sentence I was not equal to blank that is when I got out if it is sentence I was not equal to blank I would have got out either that or I would have hit the beginning of the sentence in which case I would have been 0. So, I am saying I is at the first non blank character before comma or just before the sentence. So, this is the end position of the previous word the first non blank character is the end position of the previous word if I is less than 0 because if I would have hit this then I equal to 0 it would have executed with I minus minus it would have become I minus 1 there would be nothing to test I would have come out. So, that means somebody had put a comma right at the beginning there is nothing beyond that that was wrong of course, but I am checking for it and I am saying that I flagged previous word as 0 no word before this else I have found the word. So, notice what I have done I have skipped 2, 3, 4 as many blanks are there before the comma and I have come to the first non blank character at the first non blank character I say the previous word exists. So, the flag is set to 1 end of the previous word is I wherever my non blank character is that is the end of the previous word. Now, for I equal to end previous word and sentence I not equal to blank. Now, I am looking for a blank because the blank before the previous word will mean that that was the start of the word exactly the same logic I use I have just gone past the word. So, previous word begins as S T P R V word start previous word equal to I plus 1. Notice I told you when we let us go back to the previous example here then I am going backwards I am looking for the blank I will come get the blank here. So, start of the word is actually one position to the right. So, that is what I am doing here I am saying start of the previous word is I plus 1 the I will be the one where I found a blank which was the first non blank character when I come out here word is from this word to the start word to end I do the same thing about getting the word after comma the logic is exactly same it works in the forward direction. So, I say C plus 1 and I less than n care n care is the length of the sentence. So, because this may be the last word in the sentence I similarly find that out if I do not find any word if I find end of the sentence I say flag next word is 0 otherwise I say flag next word is 1 start of next word is I since I have found a non blank character after comma I now to search for more non blank characters forming that word there may be a single character word a this is comma a a blank paint. So, a is a single character word in such case start pointer and end pointer will be at the same point, but otherwise if it is a longer word I will extract it and I will find out end next word as I minus 1 last time I had to push the pointer here also I had to push the pointer backwards I minus. So, the word is start next word to end next word now I have to compose a single word. So, what do I do I will I have to first check whether the word exists or not because the words may not exist on either side. So, I say if flag previous word is 1 that means there is a word. So, I collect words later from the first word for I equal to start word to end word I say sentence I goes to word k plus plus. So, word is actually a etcetera word is what I am assembling my characters are in sentence. So, when I pick out characters from the sentence and put them in word I need a separate index for that word that is what I am using k. So, I said k equal to 0 and I take the first word suppose the first word let us say two words where this word was came and the next word was sat. So, the word came must be first copied this came might be starting from fifth position in the sentence and going up to nine position I do not know what it is. So, from start word to end previous word I will assign this c here a here m here and e here and that is why I see that word k plus plus equal to sentence I make sense I start with k equal to 0 this is equivalent of saying word k equal to sentence I semicolon k plus plus. So, I will put c here add 1 to k a here add 1 to k m here add 1 to k and k would be automatically pointing here when I come out because of k plus plus. Similarly, I go to the next word and I copy the next word again in the same fashion in the process I will get however, my job is not ended is this a form of proper word it is not a proper string I have merely copied the valid character, but if I print this by saying c out word c plus plus will get confused because it does not find backslash 0 at the end. So, therefore, I put backslash 0 at the end here word k equal to backslash 0 remember k has already incremented. So, I put backslash 0 that means after t a backslash 0 will be kept this is how I assemble 1 word and at the end of course, I output that word I set curve pause is equal to end next word plus 1 because I have remember I had located 1 comma I still have to go forward in that sentence to locate another comma ordinarily I could have started from the c pause itself, but whatever was the c pause after that I have located a word there is an end of word so I could start from that point I am just reducing the amount of search to be done however, that is not important I could have started from the position next to that comma. Now, in this solution notice a couple of things that you were required to do first you were required to copy words from portions of the string in instead of using string copy instead of using sub string which are built in functions which actually permit me to extract portion of a string and put it somewhere else I can copy a string from one string to another I can concatenate two strings there is a concatenate function. Now, if you have read those functions and seen those example usages you could make this program much shorter I wish to discuss an alternate solution and in the context also explain to you a much harder problem which often surfaces this problem is called parsing sentences. So, when we try to understand any sentence in English all of you are familiar with the word parsing in English grammar you would have come across it. So, basically you say there are phrases in a sentence when you parse a sentence you say what is the subject what is the object what is the whatever what a different components it is important always to be able to extract different components of a sentence in order to understand that sentence. Now, that is why you are trying to understand a natural language, but in programming this thing is also often required where is it required for example, collecting words separated by blanks you are analyzing a text sentence you are analyzing a document 20 page document and you want to find out the key words in that document you understand what is the key word a document might be describing the Iraq war another document might be describing genetic sequence a third document might be describing how pointers are handled in C plus plus if you are just given these three documents unless you scan through them you cannot find out what they are about. So, usually any document book paper etcetera will have some key words key words will say look this is semantically important. So, if you are searching for some material on this word you find it here how do you extract key words you extract key words by first analyzing all the sentences in that text then finding out words which in some other context have occurred again and again. So, there is an ontology definition which defines the important key words for a particular domain and then you locate if they are there if they are there if they are there all the Google searches and all are all based on indexing like this locating words. So, Google for example, is able to index practically every word that occurs in any document for the simple reason that such thing may be required we should at least be able to separate out the words in a document that is the purpose of saying that collecting words separated by blanks. The second example is the spreadsheet example you remember I had given a spreadsheet example that if you have a data in a spreadsheet and you save that spreadsheet as comma separated value then you will get roll number comma name comma marks comma something. Please note that this is a variable length record which is a characteristic record some roll number is 8 characters some is 9 characters some name is 30 characters some is 20 characters some marks 32.5 will be 4 characters some marks 7 will be 1 character. So, you are actually talking about variable length fields. Now, given this string if you have to write a C plus plus program to extract all information about roll number name marks in quiz marks in say mid say marks in this etcetera etcetera how will you do that you will have to extract fields which are separated by comma. In short the requirement to separate out words which are delimited by commas or blanks or any other delimiter semicolon question mark could be a common requirement. Such a requirement is stated in terms of programming context by calling the extracted words as tokens you know token you get a token when you go to bank or hospital or something you are standing in a token number 5, token number 6, token number 7. A token is given to each person who comes in order token in the context of a sentence is token number is first word after which a delimiter comes token number 2 is second word which comes after the which is separated by delimiter. A delimiter is one or more symbols which separate out these words. Since this is a very common requirement C plus plus has special functions precisely to do this. You give a sentence to that special function and iterate around that sentence by making successive cost to that function you will be able to extract token 1, token 2, token 3, token 4 which are separate words which is precisely what you want to do here. This is called S T R T O K oh I am sorry I am not written there this is that special function S T R T O K or tokenize the string of course a single function will return only one value almost all C plus plus character string manipulation functions which are part of the C string library will return a character pointer which means they return a pointer to a string a single string. But a sentence may have 20 tokens 30 tokens 20 words 30 words how will a single call return it single call obviously cannot return. It returns a pointer to the first token but it has a special feature by which if enough I will do you make successive calls to that same function with a special dispensation then you will get successive tokens from the same center. It is a very beautiful and a very neat small function. So, let us look at this here is a token extraction.  This is a sentence I say this sentence is delimited by commas and blanks I do not know how many commas I do not know how many blanks some words are separated by three blanks some word is separated by only one comma. But I do not care what I want to do is I want to extract all words which are separated by either comma or by blank. So, the delimiter that is going to be used is a blank here which is not seen and a comma there are two delimiter blank comma. So, what I am saying look Mr. C plus plus I will give you a sentence I am telling you that delimiter is either a blank or a comma now give me all the tokens which are separated by either of these independent of how many of delimiters appear. That means, if there are ten blanks skip all those ten if there are three blanks a comma and two blanks skip all of them. Just give me character strings within this sentence which are between any one of these two delimiters leading blanks trailing blanks leading commas trailing commas all to be forgotten. Can you see that it would not be a very straight forward thing to do for us if we were to write a conventional program examining all characters. So, let us see what this does if I say P 1 is equal to S T R T O K T string blank comma this will give me a pointer to the first token what will be the first token here the word he, but that is all I have got how do I get the subsequent words which are the words came sat, drank, water and red all these are successive words. To get these successive words C plus plus says that make these calls again and again and again, but with a difference P 1 is equal to S T R T O K null comma blank comma this word null remember originally I gave a T string. So, it was trying to find a token in this T string, but when I say null comma something what is what am I specifying what should it find it C plus plus S T R T O K has a special meaning if the first parameter is a string then S T R T O K assure that it is a first call being made it takes that string copies it internally into a temporary string locates skips over all the leading delimiters locates the beginning of the first word and returns that as a pointer extracts the first token by the way. So, if the first word is H E thus temporary string that is returned is H E backslash 0 and the pointer to H is returned to you. Now, inside that large temporary string that fellow has already said that H E has been returned so he will put all those characters as null and start from this point be ready in the temporary string that is if you again call S T R T O K without giving me any new string then I know I have to start looking from this point forward. So, there is a memory built into that point, but how do you tell C plus plus whether it is my first call or subsequent call the convention is that if you make a call to it without giving the first parameter as a valid string you give null, null means what I am not giving you any string whenever C plus plus notices such call it says ah that fellow has given me an earlier string I would have extracted something before that. So, wherever I was he is asking me to go from that point on next call will get me the next token and the C plus plus internally will automatically chew up all the part of that sentence up to the second token and remember that it has to start from the second point this will automatically. So, if I keep a while loop it will automatically go through this extracting next token when it has completed the entire sentence and there is nothing here read the paper after that there is no string to be extracted at that time S T R T O K will return null. So, obviously when it returns null I have to stop to explain this more clearly I have put an example he came sat drank water and read the paper this is the sentence when I say P 1 is equal to S T R T O K T string comma blank comma here P 1 points to H E that is here this H E is the string which is written and P 1 points to H. Now, subsequent calls with null replacing string when I say P 1 equal to this again it knows that this string is somewhere here. So, it will search for the token here and will come out with came again I call it it was here earlier it will remember it will starts keeping all all the delimiters find the next token sat it will return sat. So, can you see a simple one call gets you the first token and subsequent calls in a simple while loop get you all the token can you can you write a program better than this it is not possible any individual evaluation of individual characters and then extracting these tokens etcetera is always going to be more time consuming programming. Now, if you had read those functions which I had said read all C string functions they are there on the side in C plus plus tutorial each one of these functions is explained string cat concatenation string copy replacing some characters by something else all kinds of things string talk is one of the important functions since it is not a very easy function to understand I thought I will explain that thing, but all other functions by looking at the examples you will be able to understand what they do using this I have constructed a solution here like previous I read the given sentence etcetera. Now, here is a problem I have if I use this is an example where I extract all the words from a sentence this is not what I want to do in my solution but this is just an example. So, I take the sentence I say P 1 is equal to S T R T O K string I check the number of tokens which will be equal to I by the way because I am putting that word I plus plus notice that I this I I describe word 40 80. So, I am assuming that there could be at most 40 words in a sentence and I am extracting all of them I start with I equal to 0 and every time I get a pointer I will copy that pointer into word I and increase I to plus. So, this S T R C P Y permits me to copy a string pointed 2 by P 1 to a string pointed 2 by this notice that in a two dimensional array of characters when I give only the value of the row number that happens to be the pointer to that entire word in the in the second. So, by giving that I will be able to extract this one simply prints all the words in a sentence delimited by anything. You can try by putting comma blank semicolon exclamation mark question mark will stop and give your entire and new line character as delimited and try to run this program on a text file as input redirect text file. You will find that in your text document it will print only those words which are separated by any one of these delimited that is the power of this subsequently I have. So, this will extract for example, this will extract he extracts came sat drank water and read the paper there is only one problem with this we are not able to solve the question that we have remember we have to separate out based on the comma only, but if I separate out only on the basis of comma what will be my first token yes will it be H E E the delimiter is only comma the first token will be H E blank blank came blank blank because there are two blanks before comma the next token will be blank blank sat the third token will be blank blank blank water blank and the fourth token will be and blank read blank the. So, I still have a problem I have not got individual words extracted, but can I not I see now the possibility of a solution suppose I use this tokenizer twice first I use it to extract these segments or clauses as I call it. So, this is my segment 0, segment 1, segment 2, segment 3 of course this segment will have to be a two dimensional array because segment itself is a string. So, segment 0 so many characters segment 1 so many characters set, but I now know that if I have 4 segments then there are 3 commas in between if I get 12 segments there are 11 commas in between I know the number of segments now I take one segment or rather a pair of segments at a time 0 h segment segment 1 in this 0 h segment I find out all the words which are delimited by blanks and the last of the word that is written is my last word in the next segment I again use tokenizer to find the first word I need not iterate because I want to find only the first word I extract that concatenate the two and that source by problem. So, while I will put up this solution on the on the Moodle I just wanted to show you what I have done here very briefly. So, I have defined something called segments 80 by 80 at the most 80 segments and then there are words there are two pointers I have defined and there is an outward which I will form anyway after reading the sentence look at what I do I make tokenizer's call to collect comma separated segment. So, I say p 1 is equal to s t r t ok sentence delimited is only 1 comma I will get segment 1 segment 2 segment 3 etcetera etcetera the number of segments which are initialized to 0 are incremented every time I get a segment at the end of this loop I have got n segments separated. Now, for each of these segments I have n segments of the sentence and between each segments is a comma each segments contain one or more words separated by one or more blank. So, I look at each segment separate out the blanks and extract the last word of the previous segment and first word of the next segment using the tokenizer. So, there is a program which does that. So, for example, this extracts word from an earlier segment. So, this is a repetition and it copies the last word of this segment outward it does that using s t r c p 1. So, the last word n words minus 1 is copied here. Now, I copy the next segment to testing and run a tokenizer only once because the first word of this next segment is what I want and concatenating these two will get me my solution anyway. So, you can see that unless you are familiar with the use of c plus plus string manipulation functions you will not be able to solve a problem in a short time. You may be able to work out a complex logic, but you would not have time in an exam situation to solve that problem like that. It is therefore important that you appreciate the use of these functions. The third problem I had already solved I do not think I have spent much time in doing it. It was a simple problem, but I could see that people had goofed up in solving that problem. The problem was given an array which contains integer numbers some of which may be repeated. You are required to find unique numbers in that array and put those unique numbers in another array. There are multiple ways of solving this problem. One is you can sort the array in ascending and descending order. Now, you start scanning the array if any number occurs more than once it will come together in sorting. So, you can say over this number has come five times I will forget it if a number has not come more times I will copy that is one approach. The other approach is I take one element of that particular array and look at all the elements of that array it is like sorting, but indirectly I am doing it only once. So, if that and I keep counting how many times that element occur if that number occurs many times it is not unique if that number occurs only once, because when I compare this any one of these elements with all the elements it will match with itself definitely. So, if that happens once I will say it is unique transfer it to array. This is not a difficult problem, but people have made mistakes in this I have solved this problem and I have said I will put this up into model I would like all of you to look at that solution. Maybe you would like to first solve it yourself under an exam condition, because I expect this problem three to be solved in about ten minutes time, but if you take longer please examine the solution practice yourself on how the approach is you could use any other approach. The bonus question was actually simple it said that find out the sum of the second largest and the second smallest number of this array of B which contains only unique elements. The condition was that you should do it with a single scan of all the elements 90 percent people have sorted the array B and taken the second element from top and second element from bottom found the sum of course the sum is correct, but sorting means multiple scans for i equal to something to something for j equal to something to something the multiple scan that is not the correct solution. The correct solution to this is you have to maintain two variables largest second largest and two additional variables smallest and second smallest start with 0th element as largest and smallest and 0th element as second first element as second largest and second smallest and now you scan the subsequent elements changing the second largest and largest and second smallest and smallest as appropriate in a single scan you will get this. That is the only way to solve it in a single scan you can't sort it now it must occur to you that sorting means multiple scans. So, this may not have been a bonus question this may be a regular question you lose marks because you are solving it correctly, but not solving as per the condition we says the condition is that the program must use only a single loop to scan all elements. So, I will stop here.


I know for many things, among them being precision, like at least you've seen you've all seen this before, right? We don't get to the first fight until Basically, like almost 40 minutes in. I think so. Yeah, I think you only see some mansters Yeah, you get some mansters at the beginning and you go to get the important set up some plots to make fun of 40 minutes Yeah, I saw it in a cinema People need to understand I don't get it that it's it's no it's 40 minutes until we get our first fight scene in this movie So we're gonna have to bullshit for 40 minutes You get to see something that's actually passable. You can see mothra throw up on some people though You need to see it a different I can get loaded I can get loaded up more on gin tonic You can eat you I can drink more what people are gonna say At the beginning of this is they're gonna say, oh You guys are watching this godzilla movie. We're like, yeah, yeah, it's terrible and they're like, no, it's not terrible It has great special effects and we'll say yeah, I love the last jedi too Oh, look at this epic retcon Poor little andrew the son of this guy Was killed by gojira.  I mean we can talk about this as if we've seen already because we can't have a Well, at least he's not an orphan. He's a remorse. He's a reverse orphan.  You can't he can't just get these anywhere on the internet Here's me with the daughter. I actually love. Oh, yeah, so when she says there's something I want to talk to you about That's the whole taking over the world thing I'm getting worried about mom He says that humans are a blight on nature and wants to destroy Ever since I burnt the bacon mom just has been a little genocidal the toasted eggs Thank you Roof, they love each other when I first criticized it people were like, oh, I'm only wanted more people stuff. It is No I was like the arguments like yeah, but they're always been like with bad people. So I was like, how's that still good? Why are you still watching those movies?  That means it's good I was down should have rode Godzilla I'm the apex homo writing the apex monster. He's gonna be okay He is in the safest place that he could be right now in the middle of the woods I don't know. I don't know. I'm gonna press x to doubt on that one author screaming This will protect us. Also what it makes noise the whole house shakes They just have this device it can talk to animals Call them Can we tell the pandas to start fucking? Who could this be?  Look at the size of that moth over there.  That's how that works I'm being sarcastic. He's saying it like typically things don't want to be born That's how you get orphans.  They're like, all right, 10 seconds. There's mafra.    He's like Here go over to that predetermined web that's over there For a reason I don't get like uh, this this is like, oh so controversial. It works like it's like binary You just turn it on it works and it's like you should probably have had this set up anyway Why couldn't she use it from inside? Oh a female I'd better not hurt her because I don't want to get me, too I'm only four. I'm I'm only four minutes old. I don't want to have my career. I recognize like weaponry It'd be like, what is this that she's doing? She's clearly fiddling with something Oh my goodness. What could this do? I hope it isn't mind control. Oh, yeah Because it's about to attack it right but for some reason bother is taking ages. It's like Hmm Uh-oh wrong one She dodged it. How does it miss? It hit everybody else on the first try except for her. Remember the guy that got hit by it that spread all around him? It's like how how? Also, oh my god And she she managed to open it and close it preventing him. It's like get someone else's key retard. They're the only one I will help you if I stand here with you. I was gonna say she doesn't do it Oh, no, wait, does she solve it?  No, no, we're not red. We're not angry red. We're not the alpha frequency We found the power bottom frequency. Oh, yeah, touch it. No, just go ahead.  Yeah, I don't know.  Oh no, Charles dad. So no now my spine's definitely remember. She's on board with this The scientist lady. So she's cool with all these guys getting obliterated. I don't get it. How is she okay with this? It's like a scientist friend That glass was not very protective if one bullet round will go through it Which of these titans are here to threaten us? And which of these titans are here to protect us. Thank you for the fifth grade history lesson, mr. Coleman That's a great history lesson.    Just silly goose Dr. Sarah's hour dr. Graham is here. I'm just gonna walk out of the senate. Okay.  Well, this is isn't even like real senate. This is weird senate What is this? Random people You're funding you can't just leave Hello, rado Kolo roe. Kolo, rato Oh, look, it's wolf Lots of wolf eating his pizza That's a weird pizza. It's a weird pizza Gonna have some bones on my pizza. I was like, yes Are you coming He's the reason he's important is because he designed the orca, right?  I just wanted to be alone. Damn it.   I helped build a prototype Only know that. Who is he? Uh, sam colman. I'm yeah, why wouldn't yeah, wouldn't they know that? So that was the whole reason they came to him. He's the awkward one. He's super funny I'm entertained. I cannot wait for the monster fight that will occur in 25 minutes Oh, no I don't want the three-headed dragon fight the other dragon Instead you can listen to these three boring people talk to these boring people You're gonna be responsible for a thousand san francisco's which is why we need to get it back. Yeah, I was gonna say the evil people have it Yeah, don't don't open up with the fact that's been stolen The evil people have it. That's the point Maybe mark, but it's fallen into the wrong hands And right now the orca. I already being that it hasn't actually technically speaking because she's just evil as well I'm sure they establish very realistic reasons that are solidly grounded as to why she turns evil It's not really evil rags because the monsters represent mother nature trying to cure the earth of human Even though When they talk about how terrible humans are because I'm a human You know, like I feel like a little conflict of interest here.  This is a very quiet plane Tell me more about the work that I did tell me more about my device The problem is we don't know which titan she combined Wait, who's that over there? Oh, that's the audience. That's why we're explaining God's sake. I forgot how much this is like Wait, what movie is this? Don't get yourself That's acting Castle Bravo What like pretty mothra? That's what they say. That's what he said. Oh, that's what I said. Okay. Sorry. I screwed up everything now. I'm so sorry Hello, everyone who will be watching this clip that'll be in the final video. No to track and study godzilla on his own turf Thought he was missing. Well, only if you don't know where to look Oh What wait, what godzilla is only missing if you don't know where it looks like well Yeah, if you don't know where he is, he's missing Alan Jonah, it's alan alan alan Alan Out of the middle. He hates the middle of this. Yeah, this movie after it cocoons Something else is gonna crawl out. Let me guess i'm arthra after it cocoons.  I think that they want you to go after this mothra So they can go after a real prize. Why don't you just do both? You're the military Yeah, no, no, you're not you're not 12 dudes No, they're just you know, what they are doing. That's not just a specimen I've got an ex-wife and a daughter out there in case you forgot No one They wake up king gadora. I don't know specifically why I'm pretty sure they say they just like want to get king gadora up and running But do you remember at one point in this film?  He like screams at them They wake up and do you remember king gadora also happens to be an alien? Like while the rest of them were born on earth or something I was just like, were they just unlucky? They just woke up the one that can wake up all the other wads.  Oh, no people are dying people are dying offscreen Why is it that we're destroying the world it involves the death of humans Oh, look at that. He's trying to be funny. She's not gonna fall for it though The even weird of things he doesn't die in this film, but apparently he's not in the sequel They was like, so what was the point? He just leaves. He just isn't he just isn't part of the movie anymore He may as well not be here. There's no need. He just leaves. He just lets her go. No They try to launch an emergency beacon, but we cut them off in time. They'll figure it out fire up the drills I forgot about that. So this is a facility, right?   He's never been this close before but you said he's only lost if you knew where to Well, he will if you keep those guns on oh, yeah, how does he know how does he ever He concludes that they need to deactivate their guns to let godzilla know it's all good I And godzilla's like hey wait a second make sure your fingers up the trigger and your muzzle is pointed in a safe direction before I get any closer Yeah, exactly He's not gonna see you He sort of like put his hands up for a second there as well like yeah, all right.  Yeah, why would godzilla assume you guys are a threat?  Can we get a fight please when nearly there You're supposed to say They do a surprise attack on them, right?  Yeah, wasn't she like in charge of everything? Yeah I guess she's a hands-on leader What what are you guys doing there? Why haven't they left your fire?  We're not going to react to that. Do they not even look for the sniper?   Sorry for what I don't what why would you apologize? Wait, I thought the good guys landed here.  So like case you're just under as well. So yeah, it's just like the two pilots looking at each other like Wait, we're not each other. Hi. I'm good. Oh, hi. I'm evil. Hey, what's up?  He's like, oh, I'm working for charles dance though The the charles dance guy is like i'm kind of the good guy in a way if you think about he's like, no No, you guys are the bad guys Just have a debate while they're all shooting each other downstairs. You know the monsters aren't really monsters Yeah, it's really all subjective when you think about it. The caretakers of the world need to take the world back Well, we have to have the big reveal we're 38 minutes and 27 seconds. Also.  I just remember laughing a lot. I think they do. I think they do. Yeah, there it is Shoot bullets at it Look at that.  Oh, yeah, she saves them, doesn't she somehow I Bypass the compressor This is the thing you'd be like surely they're dead and it's like no kingdom door is gonna gonna drool on them first It's not gonna kill it right away Like why didn't it use its lightning breath? Come on Godzilla save the savorisms Damn, if only we haven't brought all of our scientists for no reason Also, yeah, if you rose out of the ice the water was underneath of it What are you standing at? I know That shot right there. Fuck. Yeah. Oh, that's great. That's great. We only had to wait 42 minutes for it Everybody hold on. Luckily he accidentally didn't kill us Use the flipper. It's so good.  There's so many ways. We could have died by now, but we just yeah, it's good that none of them occurred I'm stuck. Oh, no, that's inconvenient. I'm stuck on what I didn't even want to be here.  I'm fine. He was fine. Yeah. Yeah, I thought turns out. I'm okay More of this please Yeah I fell into a hole.  Yeah, me too Oh quick, there's one of them eat it. Wait, what's happening now? What is that? Oh, hello? If only you arrived five seconds earlier Oh, no, I miss him.   I forgot about that Oh, no, we have to wait another like half an hour probably this is the thing man, right? We felt there was too much human ship when you draw attention to it. It's even worse Oh, man, we're just friendly reminder. It took 42 minutes for the first fight to happen There's only like 30 seconds of content. I'll do respect colonel. He saw wrong. Okay. She wouldn't have done what? What you saw wrong? There's several people. No, I was right there. There's like 12 witnesses It was hurt no one forced you to are you sure? They don't trust their general but they trust randy mcwilf watcher Well now that a white man is told this I guess She just leaves.  Why the hell would she want to release them? And why would she team up? Good question? Yeah, that is a fantastic question. I'm to find out the motivation of the villain Where's madison? Are you okay? Where's the daughter? Where is the daughter that was okay with all of this still?    I'm saving the world Of course you are. It doesn't make sense as impossible as it seems it does What? No, but After we lost andrew, I swore his death would not be in vain. Well, I'm gonna kill everyone else Answer a solution to why the titans were rising But as I dug deeper, I realized that They were here for a reason and that despite all the years that we spent trying to stop them We never dared to confront the truth Which truth? Humans have been the dominant species for thousands of years and look what's happened We've made a lot of advances a lot of advances We we we've committed to a lot of great things, but if you only consider all of our failures, yeah That's I'd actually made she made like all those cut ends what she did to her explanations like war and then if like a war scene That did pollution that was supposed to be a war scene. Well, you get the idea I'd like if she just had bad stuff and it just shows someone crying The titans they are part of the oh look a friendly titan just Not doing anything damaging to the world But if governments are allowed to contain them Destroy them or use them for war the human infection will only continue to spread Are you referring to humans as an infection when these things literally destroy everything? How is that the world that we will create? No, that's better We restore balance And what's gonna be left? Why do you think that's the truth? Charred world overrun by monsters. No dr. Stanton the exact opposite Just like how forest fire replenishes the soil or forest fires replenish the soil Therefore if we destroy billions of lives in everything Look at that She's better than what we have.  There's a reason we build cities Okay, it's a reason We don't want to live in trees and die at the ripe old age of 28 You are No, because I I waver to be like depends on your definition of the world After we lost andrew I trained her to survive They have to keep reminding us that they lost a kid as if that's the motivation. It's like no, it doesn't follow It doesn't follow at all No, luke had a moment of weakness You like by the way the government have allowed this guy to ask her questions instead of like They really they really trust random people a lot This guy gets so much screen time and power in this movie.  It's like why the hell is this the cycle woman? Do you really think this is going to be easy painless? Is that what you told her leave her out of this? Why you're the one who pulled her into it. Yeah Good points. Exactly. He didn't mommy sell you on some grand. Yeah, topia Yeah, monster living together in blissful harmony. Yeah Tywin gets to speak and he's like the other character So Number one, how did you explain this to her too? How did you expect monsters and humans to work together?    I don't understand. What is this?  The monsters were gonna rise up and go. Hello humans. How are you doing? You are not tasty snacks to me Right, I I've got a suggestion for a tax plan that can really help the economy grow You know like thanks Godzilla.  That's really high budget A lava pterodactyl. Yeah. Oh, it's so cool.  We had to wait through 55 minutes of human bullshit to get here No, no, look at the sad mexicans run That's too spicy for us man I would like to um I'd like to illustrate if this makes into the final cut that I don't actually know if they're mexicans I just saw they were brown and assumed so I I just wanted to be racist for a minute. Okay. They are mexican. Hooray. All right, we're good. Hooray Quick piss it off Sure these will work Quick make it a literally bit itself out of a volcano Can we please cut back to villain lady being like this is good. This is a good thing for the world Look at this Okay, no, no, no, no, no, that wouldn't have happened you guys would have been blasted away by the way To the pillar I can feel my skin melting. I want to go one of them go Oh, so this guy he could go up he could go down left right he just stays still until deciding if only I had a plane Why would you do that?    It's like, what do you what? Yeah, exactly. What's the problem doing this for andrew If this is what andrew would have wanted you were releasing huge monsters for andrew How do they actually mommy? I want a firetruck. I didn't know I was killed by godzilla.  Okay Wow all girls We were able to reproduce without the use of males I like the idea that we're kind of a considering coming out to help the rest of it They see all this happening. They're like, nope They'll fix themselves Yeah, we got that Johnny you don't get it. This changes everything with godzilla gone monster zero isn't using the titans to restore the planet He is using them to destroy it Yeah, what were they doing before that?  Um, the godzilla kills. It's just running amok. There is no king gdora in that film It's just running around killing everything.  Oh, that's not actually an answer I don't think any sense no like like the earth is really big you have no idea where to start So you probably better stay with us because we're following all the action, you know How come they didn't see that on a radar?   They just cut away because it was like that's fine The audience needs to see the washington monument, but we also need to not actually destroy it ourselves.  It's like, uh Why are you doing something about it in taiwan? Yeah, why are you not going to retrieve it immediately?  Is it what do I say?  I should probably not have to go in there How did a place like this disappear? I don't right. It's your noble style. He's like boiling and bubbling. He comes back. He's like I don't know man, I think I think you might be dead Slow motion scene of the nuke going off and then Godzilla's body just getting torn to pieces blood splat is every He's like it's a nuke. What do you think would happen? Why are you in league with Ghidorah? Why are you on his side? Property taxes will skyrocket. I just paid the last mortgage. What am I standing on?  I like how they literally explode a nuke next to his face and now they're like no one move. We don't want to spook him Really?   I don't know. He's looking directly at it, but not doing anything for some reason I'm fine. I'm fine. Don't worry about it. I'm okay. I'm we're cool Yeah, I'm sure that's how that would work. Yes, john snow. Yell at it Jesus Christ Hey, remember me. I killed your brother Oh, so it'll kill it easily now because it was right right right guys. So his radiation levels are so high right now He's basically he's about to nuke in general. He's look at that. Look at that He's gonna explode. So all the humans on the ground.  They're landing like slightly far away from the actual fun Look at that.  Oh, I also want to go out there Let's park somewhere else Yeah, just shout for him. She can literally be a mile in any other direction So if godzilla's juiced up now, then how come he doesn't just thrash gedora Yeah, he thrashed him earlier last time. Yeah, he beat him earlier. So now that he's super juiced or whatever with nuke power I can't blame that kid. If I had these two for paris, I'd run away from home too Yeah, no, you wouldn't be saying that in the scenario. I don't I don't care.  There's right now. It's just the center. Here comes the center the center Remember folks, there's only three ways you could go Remember if you stab someone in the chest all the momentum of their head stops exactly where it was Absolutely, it looks like she stabbed with the shoulder Yeah, I knew you would be here, but this is the arc completed for the the main village. She's like, you know This wasn't a good plan. I I see it not gonna lie I might have been a little hasty when I doomed the world and humanity to extinction Wait a minute.  I thought everybody left because the of all the bad things Belch But she gets in a van and drives with the thing to distract Ghidorah When you could have just gone into the fucking offspray and thrown it onto the floor It wouldn't have made a difference Look, I'm sure that Humvee can outrun Ghidorah Yeah, look how close he is by the way. She does end up running him on the Humvee That's what's insane. Well, it's like he can cross the globe when he needs to for the story in a day But he can't catch a Humvee If only he had a ranged weapon You see it'll destroy skyscrapers, but it'll only flip a Humvee. This is so radio active We didn't see her die.  It's like dude Do you know what you're doing? Jesus Christ It's radio activating their faces away like Boston will be unlivable for centuries to come This movie's so bad Dude, do you think mom is fine?  Hi, I'm Manfred the mammoth Hello, and I'm here the shill off. I'm spider Cthulhu. I'm I'm mr. Krabs I'm I'm Carl I'm Remember how I tried to kill your girlfriend. I'm sorry about that. It's all good though.  Hey, hey Ghidorah. How's it going? Oh, yeah, this is the end of the movie.  Did you catch that? Why is that? I don't know because the monsters fix everything. That's how that works beam of titan restore Stabilizing sea levels ecosystems heal 14 species taken off and injured What? Yeah, the titan saved. Did you not see what happened to this movie? The titan saved everything But I didn't see this incident. Oh, I didn't even know it again. I did. I stayed. I saw that Can't fish here anymore Everything's dead I thought the world was doing that uh No, no. Oh, at least it's Charles dance. Charles dance Yeah, but look look what's coming now What? Oh, yeah, that's right. There's the severed head Yeah We'll take blurry It's the implication there that they're gonna resurrect Ghidorah. I guess that makes sense.  I'm saying that like the I'm trying but some kind of shitty reason for why they might go We can't go there. Oxygen is dead there. How can we go there? The oxygen monster People aren't gonna like that.  We spent so much time laughing at it. There's gonna be so many people who are like Bob is stop laughing. It's not Bob I've been doing it since the beginning so it's fine.   So when it comes to actually fighting, there's like 42 to 44 Wow, there's only two minutes of fighting in the first fight and you're probably being generous because they cut to the humans all the time. Yeah uh We have the fight with rodan So that's It's like actually kind of hard to skim and find them because they're so little I'm gonna count the whole nuking scene. I bet a lot of people consider that top No, I'm not considering the nuking scene Fucking a monster fight.  There's less than 10 minutes of actual monster fighting here Because it's four minutes before before the final fight happens.  That's all you gotta do. Make me care about some humans. Fine. Fine. Fine. Yeah Have it be good or just ideally have there be less of it Yes, I would I would go for a one hour 20 minute Godzilla movie You know what you could do you could just have it to where it doesn't like follow specific humans But every time the monsters do something the humans in this part of the military have to do this These engineers have to do that this group of people, you know, you could swap out the human characters So they're so you're not following the same shitty ones around the entire Also, what about like an unbroken fight scene where we watch it from start to finish over three minutes instead of constantly cutting away Yeah It's gonna be so expensive. It's like, well, maybe don't get your Godzilla movie. How about that? Maybe make something else It really had a great trailer. The thing is that the the trailer was from that like eight minutes of fighting.


Airship is a collection of loosely coupled but interoperable open-source tools that declaratively automates cloud provisioning. Airship makes operating open infrastructure simple, repeatable and resilient. A collaboration of more than 20 companies, the project is well on its way to delivering its next major version, Airship 2.0. The primary motivation for 2.0 is the continued evolution of the control plane. And by aligning with maturing CNCF projects, we are making it more capable, secure, resilient and simpler to operate. Airship 1.0 created purpose-built services for lifecycle management because many of the required capabilities didn't exist in any open-source projects. The primary CNCF project, Kubernetes, has introduced a new community-adopted framework for managing services as native objects. Airship 2.0 is moving its purpose-built service logic into these native objects that will live in Kubernetes. Airship 2.0 will also introduce a new intelligent client and user interface that will interact with these native objects. The Sevolve control plane will further reduce the impact of upgrades, improve the operator experience and align with the overall CNCF direction. Airship 1.0 also had to create supporting software packages for capabilities that didn't exist yet in any upstream project. CNCF is also catching up in this area with a portfolio of projects that aligns closely with airships, requirements and roadmap. This will help expand the use cases and operational capabilities as well as features supported in the next generation of Airship. Another benefit of Airship 2.0's smaller runtime footprint is that it is uniquely positioned to manage network functions at the edge. This is possible because only the state of the control plane is stored natively in Kubernetes, whereas the service objects run when needed. In addition to private cloud, Airship 2.0 is positioned to manage network functions at more deployment targets, such as third-party clouds. This is possible because Airship 2.0 is integrating with the CNCF project cluster API, which already supports infrastructure use cases from bare metal to third-party cloud. Airship 2.0 is a single tool capable of managing network functions in private or third-party clouds. By continuing to introduce and leverage CNCF and other Kubernetes-focused projects, we will ensure that Airship evolves with them to deliver the best-in-class lifecycle management framework for network function infrastructure and complex system deployments.


The Lagos State Governor Babajideh Sanghulu today Friday swore in secretary to the state government Bimbola Saliu-Undei, Chief of Staff to the Governor, Taiwo Aendei, and Deputy Chief of Staff to the Governor, Boyega Soano. The governor reappointed his former Chief of Staff Aendei and his deputy of staff to their former roles. Saliu-Undei is solicitor of the Supreme Court of Nigeria as a commissioner representing Lagos State in the National Population Commission before she was appointed SSG. I will, in the performance of my official duties as Chief of Staff Aendei and his former Chief of Staff to the Governor. Hello, hope you enjoyed the news. Please do subscribe to our YouTube channel and don't forget to hit the notification button so you get notified about fresh news updates.


What's up guys? My name is Chioma. I'm here with Kosei and we're doing Ask the Player. Boom. So the first question we have for Kosei is how are you doing with your Spanish language? I think it goes pretty well. I mean we're learning a lot and when I came here to Spain I didn't know one word and so I feel like now I can understand, I can communicate with my teammates and yeah I think I'm on the right way even though we have a break now since it's been the quarantine so I can't wait to start with the lessons again. Yeah I agree. I think for her she understands a lot. For me I had Spanish classes in school for a little bit, yo escrito y yo mazo menos muy bien pero yo escucho y yo hablas muy malo en mi opinion. No, you understand a lot in my opinion. You're hard to yourself. Okay the next question we have is what is your most memorable moment as a player? My most memorable moment as a player? It's hard to choose obviously the Olympic silver in Rio with a national team, taking bronze with a national team this World Cup, playing Champions League final. It's hard to choose and have a lot of really good memories that I will carry on my whole life. Yeah for sure. I mean you've had a great career and it's only hopefully keep going up. For me it was probably on my birthday I got my first call up to the national team and then in my first camp I got my first cap and then I got my first goal so that whole like two weeks was super special kind of like what dreams are made of you know. Yeah you have the future ahead of you. You're still young. So next question some of you guys asked is who's the funniest on the team? It's hard to choose except us too. I think Dai is very funny. No I agree. I think we all have like a different kind of humor. Yeah so it just depends on the day but if I had to pick one I would go with Dai too because she's always pulling pranks and yeah tricking people and it's a good time. Yeah for sure. Another question you guys asked is what does it feel like to be the first woman to play for Roma? For me it's a huge honor and responsibility to to wear this club's press and I will yeah it was an emotional moment to sign for the club obviously it's the biggest club in the world and this club is about winning and that is what we want to do it's it's an only option. Yeah I would say yeah. No I agree everything she said I completely agree. I think like she said it's the biggest club in the world the success this club's had is amazing when we did the tour you really get a feel of how how great this club is and how they just keep pushing to the next level so to be a part of that from the very beginning is is incredible and and the badges move beneath them you know so I'm just really excited to see what we do this year. Yeah and it's a new chapter for the club I mean it's gonna light a lot of dreams for all the young girls that are dreaming to play for the rest of it as I did when I was a kid so now we have some questions from our fans to you Chioma and one of the questions is which one of your feet is the strongest? All right so one I like that question because that means I somehow look maybe even which is not the case but I'm very much left-footed the right one's probably just there for standing but I'm trying to work on it every day but I'm left left-footed left handed. Good answer. If you could choose a hat-trick or a last-minute winner. That's a tough one. Are you even thinking about that? I think I think you know both are great but I think the feeling you get when you score like a late a late goal to help the team wins it's pretty unmatched so I'll go with the match winner. For sure 100% no feelings better than to score a last-minute winner. Now answering your question. Okay another question for Chioma is what is your daily routine? For training in early games. Yeah I would say like coming to training and after what do you do after training?  Good choice. That I really enjoy but yeah that's pretty much it for me. Do you feel ready for the level of commitment to play for Real Madrid? Absolutely I think where I'm at in my career right now I think I'm on six-year playing professionally and all my experiences so far have helped me a lot and I'm just ready to to represent what this club you know stands for and I think with pressure you see a lot of what kind of person you are and with the great teammates I have in the plan of World Cups Olympics we just have a great team that's only gonna challenge everyone to be better and bring the best out of everyone so for me I'm super excited I'm super ready and you know I think we all have high expectations for ourselves and you know these are just all words I'm just really excited for the games to start so we actually show you know show what we're worried about for sure. What's the hardest part of the training I would say the preseason or okay what do you like what don't you like. Okay so for me I like I enjoy training I'd like you do as well and I don't know why but the warm-up for me is like I wish you could kind of like snap your fingers and how he's ready to go and then you can start training but for me it's just always hard to kind of get the body going because you're just really eager to get into the training but obviously warming up stretching is very important but I would say that's the hardest part for me. Here's another one what do you do during your free time when you're at home and not training. So I'm a bit of a nerd so I just recently learned how to code I took a class which I think is so impressive. I just want to say that. Yeah so I just kind of wanted to learn about programming computer programming and since we had a lot of time off I took a class and recently passed I'm a certified programmer I guess so I've just been doing that on my computer learning and trying to make applications. Yeah she'll do my next time. Last questions for you is do you identify you as American Nigerian or English? Nice. So for me I think all of them is who I am. I grew up with Nigerian parents and was raised in Nigerian household. A lot of things we did impacted my Nigerian culture. I eat a ton of Nigerian food. I go to a lot of Nigerian parties. I wear a lot of Nigerian clothing. So for me that's a big part of me and I was born in London. I think my English part of me is like wild of football so much and now it's you know my career so that's a big part of me and then I grew up in America I moved there when I was three so I think all of them play such a special part in me and it's hard to just to choose one. I think it's just all three. Alright now we're gonna switch and we're gonna ask some of the questions you guys ask the COSA. So one question you guys ask is how many languages do you speak? How many languages? I speak Swedish, English, Albanian. I lived almost four years playing for PSG in Paris so I'm pretty okay in French. She can speak French. And learning Spanish now. Nice. Alright, I can speak English and Spanish. Another question for COSA is what is your earliest memory of playing football? My earliest memory of playing football was playing with my older brothers and competing with them. It was all about winning from start even competing with my brothers so I remember like just juggling around with the ball and they would like they would go to the pitch and trying to get rid of me because I was a young friend. I don't want them to have your sis with me with them so but I knew where the pitch was I always ended up there and I competed against them even cheetah to win, you know. He ain't cheetah, he ain't trying. When it comes to juggling and so that is my first memory. I feel like everyone not everyone but a lot of girls who got into football was because they had older brothers. For me it was the same thing I have two older brothers so it was like trying to copy what they were doing. I think like yeah normally they're role models from start and you want to be like them and you want to play football. Although I ended up supporting the best team in the world. Alright, another question we have is what's the biggest difference you feel to live in Spain and then versus living in Sweden? I would say the weather for sure. The food is amazing and the way people live their lives I think it's amazing. I've said it before that's a small things but I really appreciate seeing it. Yeah, no I agree. I think Spain has a really easy fun way of life and I think the people here are really nice so it's been super easy to come in and just get adjusted you know. Yeah I think it's the first country or the first city where I felt the most at home. Another question you guys asked for Kose is who is your favorite Roma Dream men's player? When I grew up it was obviously the Brazilian Ronaldo. He was my biggest role model growing up but then again we know like Real Madrid has so many legends that played for the club. Estefan is one of them. Zidane is another one. They have a lot of great players that played for the club, historic-wise. Brazilian Ronaldo was my favorite. Nice. It's hard to pick right like just you just named legends and that doesn't even touch like all the players that play for Roma Dream. I think for me being born in London you know I love David Beckham. Another question for Kose is what is your diet? My diet. I eat a lot of vegetarian food. I really when I cook at home it's either vegetarian or fish. So I would say that is my daily diet although I eat sometimes meat but it's not like my favorite. I prefer vegetarian or fish. It's a little bit Scandinavian. A lot of fish, potatoes. No fish is great though. I love to cook pasta too. So I have a little bit of everything and I enjoy cooking. Do you? Yes I love cooking. I kind of eat like the same thing a lot like I don't mind repeating but I make a lot of Nigerian food. Which is cool because here in Spain I've actually found a lot of stories that have African spices which surprised me but definitely definitely cool.