I was looking back to see what all you thermocouples consist in.
Do you have a spare pin to use for the second thermocouple's data line? It shouldn't be your problem, but it is an easy experiment.
Also, in the function temperaturereading, the only timethe values of co and cu change is when you actually read the thermocouples. Which you only do once, before all your calculations. Once you get the thermos reporting properly, you can fix that where you use co and cu like:
readings1[readIndex1] = thermocoupleO.readCelsius();;
// and
readings2[readIndex2] = thermocoupleU.readCelsius();
Those readings will be taking as rapidly as possible - are you convinced you need all that math?
a7