|
@@ -75,7 +75,7 @@ function App() {
|
|
const addNumbersToDiv = (numbers, noOfDigits) => {
|
|
const addNumbersToDiv = (numbers, noOfDigits) => {
|
|
for (let idx in numbers){
|
|
for (let idx in numbers){
|
|
let no = numbers[idx].join("")
|
|
let no = numbers[idx].join("")
|
|
- if(idx == numbers.length-1){
|
|
|
|
|
|
+ if(idx===numbers.length-1){
|
|
no = "+ " + no
|
|
no = "+ " + no
|
|
}
|
|
}
|
|
let pNo = "<p>" + no + "</p>"
|
|
let pNo = "<p>" + no + "</p>"
|
|
@@ -205,7 +205,7 @@ function App() {
|
|
labelText += no;
|
|
labelText += no;
|
|
|
|
|
|
if (parseInt(n) === numbers.length - 1){
|
|
if (parseInt(n) === numbers.length - 1){
|
|
- if(typeof carryArr[imdtResIdx+1] !== "undefind" && carryArr[imdtResIdx+1] > 0){
|
|
|
|
|
|
+ if(carryArr[imdtResIdx+1]!=="undefind" && carryArr[imdtResIdx+1] > 0){
|
|
labelText += " + " + carryArr[imdtResIdx+1].toString();
|
|
labelText += " + " + carryArr[imdtResIdx+1].toString();
|
|
}
|
|
}
|
|
labelText += " = ";
|
|
labelText += " = ";
|
|
@@ -258,29 +258,31 @@ function App() {
|
|
|
|
|
|
let carries = carryArr.map(x => x || "0")
|
|
let carries = carryArr.map(x => x || "0")
|
|
carries.push("0");
|
|
carries.push("0");
|
|
- while(carries.length < carries.length){
|
|
|
|
|
|
+ while(carries.length < resArr.length){
|
|
carries.unshift("0"); // add "0" before
|
|
carries.unshift("0"); // add "0" before
|
|
}
|
|
}
|
|
|
|
|
|
- let noOfDigits = resArr.length - 1;
|
|
|
|
let foundComma = false;
|
|
let foundComma = false;
|
|
for (let i=0; i<resArr.length-1; i++) {
|
|
for (let i=0; i<resArr.length-1; i++) {
|
|
let text = "";
|
|
let text = "";
|
|
let trueNumbers = false;
|
|
let trueNumbers = false;
|
|
let idxNumbers = resArr.length - i - 1;
|
|
let idxNumbers = resArr.length - i - 1;
|
|
let idxCarry = carries.length - i - 1;
|
|
let idxCarry = carries.length - i - 1;
|
|
|
|
+ let realSum = 0;
|
|
for (let j=0; j<numbers.length; j++) {
|
|
for (let j=0; j<numbers.length; j++) {
|
|
- if (numbers[j][idxNumbers] != "." && numbers[j][idxNumbers] != " "){
|
|
|
|
|
|
+ let no = numbers[j][idxNumbers];
|
|
|
|
+ if (no!=="." && no!==" "){
|
|
trueNumbers = true;
|
|
trueNumbers = true;
|
|
|
|
+ realSum += parseInt(no);
|
|
}
|
|
}
|
|
- text += numbers[j][idxNumbers]
|
|
|
|
|
|
+ text += no
|
|
if (j<numbers.length-1){
|
|
if (j<numbers.length-1){
|
|
text += " + "
|
|
text += " + "
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
// ignore indexes without real digits
|
|
// ignore indexes without real digits
|
|
- if (resArr[idxNumbers] != " " || carries[idxCarry] != " "){
|
|
|
|
|
|
+ if (resArr[idxNumbers]!==" " || carries[idxCarry]!==" "){
|
|
trueNumbers = true;
|
|
trueNumbers = true;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -294,18 +296,19 @@ function App() {
|
|
}
|
|
}
|
|
|
|
|
|
// add carry only if > 0
|
|
// add carry only if > 0
|
|
- if (carries[idxCarry] != "0"){
|
|
|
|
|
|
+ if (carries[idxCarry]!=="0"){
|
|
|
|
+ realSum += parseInt(carries[idxCarry]);
|
|
text += " + " + carries[idxCarry] + " Übertrag"
|
|
text += " + " + carries[idxCarry] + " Übertrag"
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ let realCarry = parseInt(realSum/10).toString()
|
|
|
|
+ realSum = (realSum % 10).toString()
|
|
text += " = "
|
|
text += " = "
|
|
|
|
|
|
- if (!trueNumbers){
|
|
|
|
- noOfDigits =- 1;
|
|
|
|
- }else{
|
|
|
|
|
|
+ if (trueNumbers){
|
|
text += resArr[idxNumbers]
|
|
text += resArr[idxNumbers]
|
|
text = text.replace(" ", "0")
|
|
text = text.replace(" ", "0")
|
|
- text += resArr[idxNumbers] === realResArr[idxNumbers] ? "\t\tRichtig" : "\t\tFalsch";
|
|
|
|
|
|
+ text += resArr[idxNumbers]===realSum && carries[idxCarry-1]===realCarry ? "\t\tRichtig" : "\t\tFalsch";
|
|
|
|
|
|
let paragraph = document.createElement("p");
|
|
let paragraph = document.createElement("p");
|
|
paragraph.innerHTML = text
|
|
paragraph.innerHTML = text
|