MHB Multiple arrays: Key and value.

AI Thread Summary
The discussion revolves around a coding problem involving two arrays, keysList and itemsList, where the goal is to print values from itemsList corresponding to elements in keysList that are greater than 100. The original code mistakenly divides the values in itemsList by 2, leading to incorrect outputs for some test cases. The user initially achieved partial success but struggled with the last test case. After receiving feedback, they realized the error stemmed from unnecessary division and adjusted their code to directly use itemsList[i]. This correction resolved the issue, allowing the program to produce the expected outputs for all test cases. The conversation highlights the importance of understanding problem requirements and the impact of code modifications on output accuracy.
lypena35
Messages
18
Reaction score
0
Hello, I am stuck on this question.The bold part is where I am stuck. I was able to get at least 2 out of the 3 test outputs but I can't seem to get the last one. I tired taking out the dividing by 2 but then the first test output doesn't work. Thank you.

Question:
For any element in keysList with a value greater than 100, print the corresponding value in itemsList, followed by a space. Ex: If keysList = {42, 105, 101, 100} and itemsList = {10, 20, 30, 40}, print:
20 30
Since keysList[1] and keysList[2] have values greater than 100, the value of itemsList[1] and itemsList[2] are printed.
This is my code

Code:
import java.util.Scanner;

public class ArraysKeyValue {
   public static void main (String [] args) {
      final int SIZE_LIST = 4;
      int[] keysList = new int[SIZE_LIST];
      int[] itemsList = new int[SIZE_LIST];
      int i = 0;

      keysList[0] = 42;
      keysList[1] = 105;
      keysList[2] = 101;
      keysList[3] = 100;

      itemsList[0] = 10;
      itemsList[1] = 20;
      itemsList[2] = 30;
      itemsList[3] = 40;
[B]
     * for(i=0;i<SIZE_LIST;i++){
         if(keysList[i]>100){
            System.out.print(itemsList[i]/2+itemsList[i]/2+(" "));
           
         }
         
         }*
[/B]
      System.out.println("");

      return;
   }
}
This is the test output.

Testing with keysList ={42, 105, 101, 100} and
itemsList = {10, 20, 30, 40}
Your output: 20 30

Testing with keysList ={99, 100} and
itemsList = {14, -11}
Your output:

✖ Testing with keysList ={101, 312, 541, 120, 199, 114, 107, 221, 987, 876} and
itemsList = {1, 2, 17, 98, 75, 96, 3, 492, -14, -11}
Expected output: 1 2 17 98 75 96 3 492 -14 -11
Your output: 0 2 16 98 74 96 2 492 -14 -10
 
Last edited by a moderator:
Technology news on Phys.org
Why do you print [m]itemsList/2 + itemsList/2[/m] instead of [m]itemsList[/m]? Where does the problem statement say something about dividing by 2?
 
I tired it with just the itemsList but I received a error. I now understand the error must have been with another part of my code. The division was only a temporary fix to answer the first two outputs but it was to specific, so I needed a more generic answer. I retyped my portion of the code in and I used the itemsList as you suggested and it worked this time. Thank you very much for your help. I appreciate it.
 
Dear Peeps I have posted a few questions about programing on this sectio of the PF forum. I want to ask you veterans how you folks learn program in assembly and about computer architecture for the x86 family. In addition to finish learning C, I am also reading the book From bits to Gates to C and Beyond. In the book, it uses the mini LC3 assembly language. I also have books on assembly programming and computer architecture. The few famous ones i have are Computer Organization and...
I have a quick questions. I am going through a book on C programming on my own. Afterwards, I plan to go through something call data structures and algorithms on my own also in C. I also need to learn C++, Matlab and for personal interest Haskell. For the two topic of data structures and algorithms, I understand there are standard ones across all programming languages. After learning it through C, what would be the biggest issue when trying to implement the same data...
Back
Top