Форум программистов, компьютерный форум CyberForum.ru

Не могу считать матрицу из файла в динамический массив - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Указатель на метод класса http://www.cyberforum.ru/cpp-beginners/thread1115058.html
Доброго времени суток, форумчане. Необходимо получить указатель на размер вектора. Делаю из соображений быстродействия, т.к. каждый раз обращаться через оператор точки будет долго. Возможно я не прав. Просто думается, что обращаться напрямую через указатель быстрее нежели через класс. Искал много и даже находил решения моей проблемы, но вообще не понимаю как делать и как должно работать. Прошу...
C++ Max_element можете объяснить как и с нескольких чисел определить максимальное число используя операцию max_element, и присвоит его переменной max, зарание спасибо за помощь... http://www.cyberforum.ru/cpp-beginners/thread1115048.html
Найти ошибку C++
Не могу понять, что не так в программе, она запускается, но выдает не совсем, то что нужно, а нужно именно преобразовать слова null, one, two, three в числа 0,1,2,3 , но если ввести другое число например four, то вывести сообщение об ошибке. Моя прога запускается и и преобразовывает слова в числа, но она будет их преобразовывать в эти числа даже если я введу туда любой набор букв. Заранее...
C++ В заданной строке установить пробелы вместо символов
1)В заданной строке установить пробелы вместо символов, номера позиций которых при делении на 4 дают в остатке 3. 2)Дано число N и текстовый файл. Удалить из файла абзац с номером N (абзацы отделяются друг от друга одной или несколькими пустыми строками и нумеруются от 1). Пустые строки, предшествующие и следующие за удаляемым абзацем, не удалять. Если абзац с данным номером отсутствует, то...
C++ Классы student и prepod поместить в один массив http://www.cyberforum.ru/cpp-beginners/thread1115041.html
Имеются наследники класса person : student и prepod. Нужно создать массив, в котором будут храниться объекты этих классов и вывести на экран, например, только студентов. Не знаю как именно создать массив, чтобы при помощи typeid обращаться к нужным элементам Без массива всё работает...Вот код. #include <iostream> using namespace std; class person { char *name;
C++ Нужно создать массив строк и найти слова Нужно создать массив строк, строки состоят из символов. Вывести только русские слова, где гласных символов больше. Массив сделать динамическим. А поиск слов через функцию. Ввод строк через аргументы командной строки... Помогите пожалуйста, а то мне программирование не сильно даётся! подробнее

Показать сообщение отдельно
star_fish_xd
0 / 0 / 0
Регистрация: 26.10.2013
Сообщений: 5
10.03.2014, 00:15     Не могу считать матрицу из файла в динамический массив
Вот проблемный кусок программы:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
fstream f (strConst);
        if (! f)
        {
            cout<<"Error_3";
            return 1;
        }
        int numberOfString=0;
        while (!f.eof()) if (f.get()=='\n') numberOfString++;  //считаем количество строк
        numberOfString+=1;
        cout<<numberOfString<<endl;
 
        int **a=new int *[numberOfString];     
        for (int i=0; i<numberOfString; i++)
        {
            a[i]=new int [SIZE2];
        }
 
        
        for (int i=0; i<numberOfString; i++)
    {
        for (int j=0; j<SIZE2; j++)
            f<<a[i][j];                               //не работает, непон€тно почему!
    }
 
        /*
        for (int i=0; i<numberOfString; i++)
    {
        for (int j=0; j<SIZE2; j++)                       //в таком виде все работает  
            a[i][j]=0;
    }
 
 
    */
    for (int i=0; i<numberOfString; i++)
    {
        for (int j=0; j<SIZE2; j++)
            cout<<a[i][j]<<" ";
    }
 
    delete [] a;
 
 
    f.close();
я создаю динамический двумерный массив и пытаюсь записать в него матрицу вида 1 1
1 1
из текстового файла. При этом в массив записывается мусор. В создании массива ошибки быть не может, так как если его инициализировать нулями (смотри закоментированный кусок проги), то все работает, выводятся нули. При этом к файлу я тоже вроде обращаюсь правильно так как код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include "stdafx.h"
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <conio.h>
using namespace std;
 
int main()
{
    fstream f ("D:\\text.txt");
    int array1 [2] [2];
    for (int i=0; i<2; i++)
    {
        for (int j=0; j<2; j++)
            f>>array1[i][j];
    }
    
    for (int i=0; i<2; i++)
    {
        for (int j=0; j<2; j++)
            cout<<array1[i][j]<<" ";
    }
    f.close();
    getch();
    return 0;
}
работает, хотя отличие только в том что размеры массива не динамические.
то есть получается что по отдельности все работает, а когда я пытаюсь одновременно и создать динамический массив и заполнить его матрицей из файла, программа не срабатывает. Помогите пожалуйста найти ошибку!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 12:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru