ПРИМЕЧАНИЕ: у меня было две переменные с одинаковыми именами ... Большое спасибо Стефану Бирладяну и Хенрику за то, что заметили это! *
Недавно я начал писать код, который помогает мне вводить значения функции bool в диаграмму Вейча (Карно) с 4 переменными. Код должен записывать элементы в матрицу размером 4x4, но с такими индексами:
- элемент - индекс 3,3
- элемент - индекс 2,3
- элемент - индекс 3,2
- элемент - индекс 2,2
- элемент - индекс 0,3
- элемент - индекс 1,3
- элемент - индекс 0,2
- элемент - индекс 1,2
- элемент - индекс 3,0
- элемент - индекс 2,0
- элемент - индекс 3,1
- элемент - индекс 2,1
- элемент - индекс 0,0
- элемент - индекс 1,0
- элемент - индекс 0,1
элемент - индекс 1,1 Это код функции main ():
void main() { int n; n=4; int **VeitchDiagram; //allocate memory for Veitch diagram VeitchDiagram = new int *[n]; for(int i=0; i<n; i++) VeitchDiagram[i]=new int [n]; //enter the elements for(int i=0; i<n; i++) { int j, k; if(i%2==1) { k=0; if(i<2) j=4; else j=-1; for(int k=0; k<2; k++) { if(i<2) j--; else j++; cin >> VeitchDiagram[k][j]; //this part writes the input to elements with index (at least it should do that): k++; //0,3 1,3 0,2 1,2 if i%2==1 and i<2 cin >> VeitchDiagram[k][j]; //0,0 1,0 0,1 1,1 if i%2==1 and i>=2 k--; } } else { k=3; if(i<2) j=4; else j=-1; for(int k=0; k<2; k++) { if(i<2) j--; else j++; cin >> VeitchDiagram[k][j]; //this part writes the input to elements with index (at least it should do that): k--; //3,3 2,3 3,2 2,2 if i%2==0 and i<2 cin >> VeitchDiagram[k][j]; //3,0 2,0 3,1 2,1 if i%2==0 and i>=2 k++; } } } //free memory allocated for VeitchDiagram for(int i=0; i<n; i++) delete [] VeitchDiagram[i]; delete [] VeitchDiagram; }