Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

suzy

array bidimensional de strings?

Recommended Posts

suzy

:P Viva!

desculpem lá, mas nao consigo entender isto, tou confusa

tenho de fazer uma programa em c++, no qual uma classe contem uma matriz bidimensional de strings, é tipo o tabuleiro, no qual os objectos vao se mover

é sito char matriz[50][50];???

obrigada

Share this post


Link to post
Share on other sites
pedrotuga

Um array de strings não é impossível de conseguir usando apenas os tipos de dados primários do C++, nomeadamente string não é um tipo de dados básico.

Podes usar isso sim, um array de ponteiros para strings. Strings essas que são na verdade arrays de caracteres, sendo que os ponteiros anteriormente definidos devem apontar para o edereço de memórida do primeiro caracter.

A sintaxe usada se não me engano é:

char *ponteiros[50][50];

char umaprimeirastring[100] = "Hurray! Uma string!";

ponteiros[0][0] =  &umaprimeirastring;

//ou
*ponteiros[0][0] = umaprimeirastring;

Acho que não cometi nenhum erro, mas já não escrevo nada em C++ há quase 10 anos. Alguem que me corrija se eu tiver dado alguma calinada.

Share this post


Link to post
Share on other sites
pmg

Eu não sei C++, mas porque não usar o std::string?

#include <iostream>
#include <string>

int main(void) {
  std::string array_bidimensional[50][50] = {{}};

  array_bidimensional[0][1] = "Ola";
  array_bidimensional[2][3] = "Mundo";
  for (int row=0; row<50; row++) {
    for (int col=0; col<50; col++) {
      if (array_bidimensional[row][col] != "") {
        std::cout << array_bidimensional[row][col] << std::endl;
      }
    }
  }
  return 0;
}

Como disse em cima, eu não sei C++. Este código pode estar cheio de erros ... mas compila sem warnings.


What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Share this post


Link to post
Share on other sites
suzy

pois, assim tem mais sentido, e que tenho de ter um tabuleiro, e os objectos tem de saltar em varias posicoes :P

obrigada

Share this post


Link to post
Share on other sites
Rui Carlos

Eu não sei C++, mas porque não usar o std::string?

Depende dos hábitos de quem está a desenvolver o programa. Como no post inicial estava-se a usar arrays de chars, fiz o mesmo.

Mas também prefiro usar as strings que o C++ oferece.

Share this post


Link to post
Share on other sites
pedrotuga

Pode não se querer usar o std por vários motivos, desde compatibilidades, tamanho dos binários gerados, simplicidade do código, etc. Sendo que neste caso o motivo principal é mesmo o teor didático do programa. Se o programador está com dificuldade em fazer operações básicas com strings, então atirar-lhe com a STD pode resultar em mais dúvidas do que propriamente esclarecimentos.

Claro que é uma solução mais em condições e que oferece muitas mais funcionalidades 'à borla'.

Suzy, tem o mesmo sentido que as outras duas soluções já apresentadas, todas te permitem fazer isso que estás a dizer.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.