Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.09.2011, 02:37   #1
Ilya_L
Пользователь
 
Регистрация: 18.06.2010
Сообщений: 78
По умолчанию динамический двумерный массив

Здравствуйте!
Подскажите пожалуйста, как можно считать файл все в двумерный массив
3
4 3 6 2 4
2 1 2
1 4

3 - число строк
первые числа строк - количество столбцов
Ilya_L вне форума Ответить с цитированием
Старый 28.09.2011, 03:48   #2
TinMan
Форумчанин
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
По умолчанию

Цитата:
Сообщение от Ilya_L Посмотреть сообщение
Здравствуйте!
Подскажите пожалуйста, как можно считать файл все в двумерный массив
3
4 3 6 2 4
2 1 2
1 4

3 - число строк
первые числа строк - количество столбцов
как-то вот так:
Код:
// Dynamic arrays demonstration, reading from file
// by TinMan, programmersforum.ru
var
  a: array of array of integer;  // объявляем двумерный дин.массив
  m,n,i,j: integer;
  f: text;

begin
  Assign(f,'dat.txt');
  Reset(f);
  Readln(f,m);     // читаем кол-во строк
  SetLength(a,m);    // делаем массив строк
  for i:=0 to m-1 do begin
    Read(f,n);       // читаем длину строрки
    SetLength(a[i],n);    // делаем каждую строку
    for j:=0 to n-1 do Read(f,a[i,j]);    // читаем строку
    Readln(f)
  end;
  // выводим прочитанный массив
  for i:=0 to Length(a)-1 do begin
    for j:=0 to Length(a[i])-1 do Write(a[i,j]:4);
    Writeln
  end;

  Readln
end.
Если ты, конечно, имел в виду Pascal/Delphi..
Предпочитаю на "ты".
TinMan вне форума Ответить с цитированием
Старый 28.09.2011, 04:28   #3
Ilya_L
Пользователь
 
Регистрация: 18.06.2010
Сообщений: 78
По умолчанию

Да Delphi, спасибо, я что-то в этом роде делал но не получалось
Ilya_L вне форума Ответить с цитированием
Старый 28.09.2011, 04:29   #4
Alkagolik
Пользователь
 
Аватар для Alkagolik
 
Регистрация: 03.08.2009
Сообщений: 77
По умолчанию

если ты конечно имел ввиду с++
Код:
#include <iostream>
#include <fstream>

int main(){
    int **arr, size, tmp;
    char *file = "file.txt";

    std::ifstream fgh(file);

    if(!fgh.is_open()){
        std::cout << "у йопт" << std::endl;
        return 1;
    }

    /* тут организуем цикл и считывая значения создаем массив */
    /*arr = new int*[size];

    for (int i = 0; i < size; ++i)
        arr[i] = new int [tmp];


    delete []arr;*/

    std::cout << std::endl;
    return 0;
}
Alkagolik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
двумерный динамический массив amandra Общие вопросы Delphi 16 30.07.2013 22:56
Двумерный динамический массив Sauber Помощь студентам 2 22.03.2011 08:02
Двумерный динамический массив Markuss Общие вопросы C/C++ 5 07.12.2010 00:40
Двумерный динамический массив С++ UnknownVirus Помощь студентам 7 20.06.2010 01:48