Jump to content
  • 0
felipefernandes

[C++ / <fstream> ] Tamanho da Matriz

Question

Olá,

 

gostaria de saber se há a possibilidade fazer a leitura de um arquivo, no formato de uma matriz, e retornar o número ou tamanho de uma linha, por exemplo. No caso seria uma matriz quadrada, como:

 

10 8 29 3

17 5 41 30

21 2 14 9

 

A intenção seria para definir um parâmetro base para que o processo ficasse mais dinâmico.

 

Sou praticamente iniciante em C++, daí comecei a implementar como segue (imprimindo todos elementos do arquivo):

 

#include <iostream>
#include <vector>
#include <fstream>

 

using namespace std;

 

int main()
{
    /* ============== FAZ LEITURA DO ARQUIVO =================== */
    ifstream graph;//declara uma variável file para um arquivo
    
    graph.open("teste.txt", ifstream::in);//Abrindo o arquivo
    if(graph == NULL)
    {
        cout << "arquivo desconhecido\n";
    }
    
    do
    {
        int num;
        graph >> num;
        if(!graph.fail())
        {
            cout << num << " ";
        }
    }
    while(graph.good());

 

    graph.close();

 

    return 0;
}

Share this post


Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 0
void lerMatriz(int linha) recebe numero de linhas a serem lidas
{
fstream file; //CRIA UM OBJETO
    file.open("entrada-01.txt"); //ABRINDO ARQUIVO
    if(!file) cout<<"Erro \n"; //VERIFICANDO SE HOUVE PROBLEMA NA ABERTURA
    file.seekg(0);
    for (int i = 0; i <  linha; ++i) //Esse 'for' delimita o numero de linhas
    {
    	while(file.get(ch) && ch != '\n') //Delimita numero de colunas do arquivo (considerei que ele vai ler todas as colunas)
    }
}

Se querer delimitar o numero de colunas, basta criar mais um for para coluna.

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

  • Similar Content

    • By flipmartinz13
      Alguém pode me ajudar nessa questão de C++? não estou conseguindo construir o algorítmo corretamente.

      5.92)    Faça um algoritmo que leia a matrícula, nome, sexo e três notas dos alunos de uma escola e obtenha os seguintes resultados:
      a) A matrícula da aluna que obteve a maior média.
      b) A matrícula do aluno que obteve a menor média.
      c) O percentual de mulheres na turma.
      d) Quantos alunos foram aprovados, independente do sexo.
      e) O percentual de alunas aprovadas.
      Obs.: o flag é uma matrícula igual a 0 (zero).
    • By flipmartinz13
      Estou tentando fazer esse exercício de introdução a programação em C++, e estou tendo dificuldades para criar os algoritmos. Alguém poderia me ajudar?


      Uma agência de turismo quer fazer um levantamento das praias da cidade para um programação turística de verão, sabendo-se que cada praia tem um nome e uma distância (em Km) do hotel. Criar um algoritmo que forneça os seguintes dados:
      18

       Porcentagem de turistas nas praias próprias do hotel
       A praia mais adiante
       Nome e distancia das praias não-próprias com distancia do hotel maior que 10 km.
      O algoritmo acaba quando se digita @ para nome da praia.
    • By juninhogpe
      Boa tarde.
      Estou com problemas ao subir arquivos no formato MP3 com o código abaixo. Sempre usei ele e hoje apenas aparece erro.
      Abaixo o código:
       
      $titulo = $_POST['titulo']; if ($titulo != ""){ $texto = $_POST['texto']; $padre = $_POST['padre']; $data = date("Y-m-d", strtotime($_POST['data'])); $audio = isset($_FILES["audio"]) ? $_FILES["audio"] : FALSE; $arquivo = isset($_FILES["foto"]) ? $_FILES["foto"] : FALSE; if($arquivo && $audio){ if(!preg_match("/^image\/(pjpeg|jpeg|png|gif|bmp)$/", $arquivo["type"])){ echo utf8_encode("<script> alert ('Arquivo em formato inválido! A imagem deve ser jpg, jpeg, bmp, gif ou png. Cadastro não foi realizado.');</script>"); } if(!preg_match("/^audio\/(mp3|MP3)$/", $audio["type"])){ echo utf8_encode("<script> alert ('Arquivo em formato inválido! erro no upload do audio. Cadastro não foi realizado.');</script>"); } else{ preg_match ("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo["name"], $ext); $dd = date("msdYiH"); $imagem_nome = $dd. "." . $ext[1]; $imagem_dir = "../am/" . $imagem_nome; $up = move_uploaded_file($arquivo["tmp_name"], $imagem_dir); preg_match ("/\.(mp3|MP3|wav|wma){1}$/i", $audio["name"], $ext); $dd = date("msdYiH"); $audio_nome = $dd. "." . $ext[1]; $audio_dir = "../am/" . $audio_nome; $up_audio = move_uploaded_file($audio["tmp_name"], $audio_dir); if ($up){ $sql = utf8_decode("INSERT INTO palavra (titulo, foto, data, audio, texto, padre) VALUES ('$titulo','$imagem_nome', '$data','$audio_nome', '$texto', '$padre')"); } } }else echo utf8_encode("<script> alert ('Erro no upload.');</script>"); if($conn->query($sql) === TRUE){ echo utf8_encode("<script> alert (\"Cadastro realizado com sucesso.\");</script>"); echo utf8_encode('<script>window.location="palavra.php";</script>'); } else{ echo "Erro: " . $sql . "<br />" .$conn->error; echo utf8_encode('<script>window.location="palavra.php";</script>'); } }  
      O que estou fazendo de errado?
      Obrigado.
    • By Jefferson andre
      Saudações, como eu faço para monitorar o conteúdo de novos arquivos criados em uma determinada pasta?
       
      Motivo: quando se envia um arquivo para a Sefaz ela retorna alguns arquivos sendo o primeiro o mais importante pois o seu conteúdo informa o nome do próximo é assim por diante.
      Agradeço a ajuda e por sugestões
    • By danisj
      #include<iostream>
      using namespace std;
      int BuscaBin (int lista[], int baixo, int alto, int chave)
      {
          int central;
          int valorcentral;
          while (baixo <= alto)
          {
              central = (baixo + alto)/2;
              valorcentral = lista[central];
              if (chave == valorcentral)
                  return central;
              else if (chave < valorcentral)
                  alto = central -1;
              else
                  baixo = central + 1;
          }
      }
      int main()
      {
          int a[10];
          int chave, pos;
          cout << "Introduza uma lista de 10 inteiros:";
          for (pos = 0; pos < 10; pos++)
              cin >> a[pos];
          cout << "Introduza chave a buscar:";
          cin >> chave;
          pos = 0;
          while ((pos = BuscaBin(a, 0, 9, chave))!= -1)
          {
              pos++;
          }
          cout << chave << " está na lista "  << " vezes na lista " << endl;
      }
          
      O objetivo é inserir uma lista e resultar  numa busca binária e ele retornar a chave, não posso alterar a função BuscaBin
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.