По веденному буквенно-численному значению, вывести адрес ячейки матрицы - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Нужно, чтобы она по веденному буквенно-численному значению, выводила адрес ячейки только в числовом формате и была бесконечна, например: A5 => [5,0] Z8 => [8,25] AAA2345 => [2345,702] PA12 => [12,416]

Решение задачи: «По веденному буквенно-численному значению, вывести адрес ячейки матрицы»

textual
Листинг программы
struct cell
{
int x;
int y;
int value;
struct cell* next; // указатель на следующий элемент односвязного списка
 
cell() { next = 0; x = 0; y = 0;}
cell(int a) { next = 0; value = a; x = 0; y = 0;}
~cell() { if(next) delete next; }
void add_next(int a) { struct cell* v = this; while(v->next) v = v->next; v->next = new struct cell(a);}
void print() { printf(("x:%d y:%d value:%d\n", x, y, value); if(next) next->print(); }
};

Объяснение кода листинга программы

В данном коде представлен класс структурного типа cell, который представляет собой элемент матрицы. У этого элемента есть следующие поля:

  1. int x; - координата X ячейки
  2. int y; - координата Y ячейки
  3. int value; - значение ячейки
  4. struct cell* next; - указатель на следующий элемент в односвязном списке Конструктор класса cell создает экземпляр этого класса, инициализируя поля значениями по умолчанию:
  5. next = 0;
  6. x = 0;
  7. y = 0;
  8. value = 0; В деструкторе класса cell выполняется удаление указателя на следующий элемент, если он не равен нулю: ~cell() { if(next) delete next; } Метод add_next добавляет новый элемент в список, начиная с текущего элемента и двигаясь по списку до конца, вставляя новый элемент после каждого встреченного элемента. Метод print выводит на экран значения полей x, y и value текущего элемента, а также вызывает метод print для следующего элемента, если он не равен нулю. Для списка, представленного в виде односвязного списка, необходимо выделить память под первый элемент списка и добавить в него все остальные элементы списка.

Оцени полезность:

7   голосов , оценка 4.714 из 5
Похожие ответы