Array comparision and replacement
3 views (last 30 days)
Show older comments
Kevin Nieto
on 14 Feb 2019
Edited: Yasasvi Harish Kumar
on 26 Feb 2019
I have 2*one dimention arrays of the same length called A and B;
I have a third one with 6 spaces called C;
I want to compare each element starting from the seventh element of the A array to the end of that array, with all the elements already saved in . (The length of A and B is random but always the same length)
If that element of A that I'm comparing is greater than one of the six saved on C, I want to replace that space on C with the sum of A and B from the position that (won) was greater than a C element. I only have to find if there's ONE that is lower than the current A element.(Not two or more, just one).So Inmediatly increase a counter (of replacements) in only one unit and go to the next element of the array A and repeat the process until I end the A array.
If the number saved on A isn't greater than any of the numbers saved on C Just skip to the next element of A. Until I finish the array.
Hope that's clear enough and if its not let me know
Im new to MATLAB coming form c++ and tried to do it there with no success. Just to give you an idea. Thank you in advance
for(i=6;i<11;i++)
while (flag!=1){
for(m=0;m<6;m++)
if (A[i]>C[m]){
C[m]=A[i]+B[i];
pe=pe+1;
flag=1;
}
}
Another attempt of doing it on matlab with no success. Just take the idea
while flag~=1
for i=7:length(A)
for m=1:length(C)
if A(i)>C(m)
C(m)=A(i)+B(i)
flag=1
end
end
end
2 Comments
Accepted Answer
Yasasvi Harish Kumar
on 14 Feb 2019
Edited: Yasasvi Harish Kumar
on 26 Feb 2019
Hey,
From what I understand, for each element of A that is compared with C, there is a maximum occurance of one replacement. Your objective is to find the total number of replacements occured in C. The following code should be able to help you with the variable counter containing the number of replaced elements.
counter = 0;
for i=7:length(A)
flag = 0;
for m=1:length(C)
if A(i)>C(m) && flag~=1
C(m)=A(i)+B(i);
flag=1;
counter = counter +1;
end
end
end
Regards
More Answers (0)
See Also
Categories
Find more on Operators and Elementary Operations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!