15,846,211 members
See more:
There are inputs that consists of 1000 lines.Every line has an array that consists of 30 numbers.first 15 numbers are betweeen 1-10 and last 15 numbers are their squares.the code will read the numbers from the left and if we have the same number in right these numbers will be replaced.Then it will continue to read and write and when left index equals to right index the code will stop.

What I have tried:

i tried to use 2 loops first one was for the first half and the second one was for the second half but i couldn't continue.
Posted
Updated 25-Jan-23 16:58pm
Andre Oosthuizen 25-Jan-23 5:46am
Show us the code that you already generated. Is there an error returned, if so, where in the code etc.

It is very difficult to give an answer on something as broad as your question is. See this to get a better idea on how to improve on your questions - https://www.codeproject.com/Questions/297604/How-to-ask-a-good-question
Richard MacCutchan 25-Jan-23 5:55am
"if we have the same number in right these numbers will be replaced."
Replaced by what?
Alperen E 25-Jan-23 5:56am
there is an error in this question i just got it
Richard MacCutchan 25-Jan-23 6:00am
Well you need to talk to the person who set it.
Alperen E 25-Jan-23 6:18am
yeah

Solution 3

The documentation for fgets[^] includes sample code that shows how to open, read, and close a file and that is how you can read each line in the file. The function strtok[^] can be used to peel the numbers out of the line of text and atoi[^] can be used to convert each token string to an integer which you will probably want to store in an array. It is then up to you to perform the logic on those numbers.

Solution 1

Quote:
the code will read the numbers from the left and if we have the same number in right these numbers will be replaced.
Replaced by what ?

You have to search the number of a set (e.g. the ones on the left) in the other set (e.g. the ones on the right). The straightforward, brute force, approach uses two loops:
pseudocode
```for i = 1 to 15
for j = 16 to 30
if n[i] == n[j]
replace
```

Alperen E 25-Jan-23 5:49am
if we have the same numbers both in the first and in the last 15 these numbers will be replaced.i just thought about that and it felt weird to me.there must be a mistake in this question

Solution 2

Quote:
if we have the same numbers both in the first and in the last 15 these numbers will be replaced.i just thought about that and it felt weird to me.there must be a mistake in this question

Not really: there are three numbers which can appear on both sides: 1, 4, and 9 because they are squares between 1 and 10

So the simplest efficient way to do this is to look for those three values on the right, and if you find one, look for a matching 1, 2, or 3 on the left.
If you find one, remove them.
If the indexes of the match are the same, stop processing.