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

suzy

array bidimensional de strings?

9 mensagens neste tópico

: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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

obrigada

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora