Как работать с 1 массивом несколькими методами - PullRequest
0 голосов
/ 04 апреля 2019

У меня есть многомерный массив в моей структуре, я хочу работать с этим массивом, используя несколько методов, я думаю, что я должен использовать двойной указатель, но я не знаю, как это сделать

struct generator {
    char r[26][max];

        void set();
    void display();
};

void generator::set() {
    char *tab = new char[max];
    int k = 0;

    cin >> tab;

    while (tab[k] != '\0') {    
        r[0][k] = tab[k];
        k++;
}
void generator::display(){
    cout << r[0][1];    // should display first letter of string
}

1 Ответ

1 голос
/ 04 апреля 2019

в

 cout << r[0][1];    // should display first letter of string

комментарий неправильный, отображающий букву second , первая буква с индексом 0


Добавление достаточного количества определений и пропущенного '}' для компиляции и выполнения:

#include <iostream>
using namespace std;

#define max 10

struct generator {
  char r[26][max];

  void set();
  void display();
};

void generator::set() {
  char *tab = new char[max];
  int k = 0;

  cin >> tab;

  while (tab[k] != '\0') {    
    r[0][k] = tab[k];
    k++;
  }
}

void generator::display(){
  cout << r[0][1];    // should display first letter of string
}

int main()
{
  generator g;
  g.set();
  g.display();
  cout << endl;
}

Компиляция и исполнение:

/tmp % g++ -pedantic -Wall -Wextra g.cc
vxl15036 /tmp % ./a.out
aze
z
...