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

Проход матрицы используя указатели - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сижу на зачете !! http://www.cyberforum.ru/cpp-beginners/thread81683.html
Народ, плиз помоите. сижу на зачете. Написать прогу котрая считывает массив целых чисел с клавиатуры, пользователь вводит значение и прога ищет это значение в массиве... ПЛИЗ с использованием указателей
C++ Страж включения - это... ? Всем доброго времени суток. Меня заинтересовал такой вот вопрос - Что такое "Страж включения", для чего используется, и "с чем его едят" ? )) http://www.cyberforum.ru/cpp-beginners/thread81621.html
Ошибка сегментации... C++
Пытаюсь написать программу, которая может хранить массив из произвольного числа объектов класса. Но при попытке записать данные в класс, программа вылетает. Как же быть? Оператор new - НЕ подходит, т. к. количество объектов массива может быть изменено в любой момент, и следовательно, память будет постоянно "перевысвобождаться". Вот эксиз класса: class person {
C++ ошибка vs
когда пытаюсь запустить игру выходит ошибка http://www.cyberforum.ru/games/thread42138-page2.html мне кажется что это из-за visual studio , помогите может кто знает в чём проблема. Добавлено через 2 часа 36 минут проблема: хочу например поиграть в gta 4, при запуске не дает запустится visual studio 2005 выпрыгивает окошко, какая-то там отладка нужна и т.д и не запускается игра, как от нее...
C++ ввод матриц http://www.cyberforum.ru/cpp-beginners/thread81352.html
Есть задача "Написать и протестировать функцию для сложения и вычитания вещественных матриц. Одним из формальных параметров должен быть признак вида операции." Возник вопрос: по задаче должны складываться и вычитаться матрицы. Но! дано N-кол-во матриц (допустим нужно сложить не 2, а 5 матриц) как объявить это кол-во матриц, что они произвольного размера ( размер вводим с клавиатуры ( A B Cи...
C++ Исправьте прогу, пожалуйста! Прога про массивы.... Задача:Написать программу. Размерности массивов вводить с клавиатуры. Элементы массивов по желанию пользователя вводить с клавиатуры или генерировать случайным образом в заданных пределах. Исходные данные и результаты выводить на экран дисплея в табличном виде. В квадратной матрице поменять местами элементы, симметричные относительно главной диагонали. Пытался написать прогу, много ошибок,... подробнее

Показать сообщение отдельно
Gravity
557 / 551 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
02.01.2010, 17:24     Проход матрицы используя указатели
Если я правильно понял то, что ты хочешь сделать, то я бы сделал это так (не вводил проверки на выделение памяти).
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
44
45
46
47
48
49
50
51
52
53
#include <iostream>
#include <stdlib.h>
#include <string.h>
using namespace std;
 
class str
{
private:
    char** a;
    int npos;       // счетчик строк
    int maxsize;    // максимальное число строк
    int maxlen;     // длина одной строки
public:    
    str () : npos(0), maxsize(2), maxlen(1024)
    {
        a = (char **) malloc(maxsize * sizeof(char *));
        for(int i = 0; i < maxsize; i++)
            a[i] = (char *) malloc(maxlen);
    }
    ~str(){}
    void push(char* s)
    {
        // превысили допустимый размер - расширение массива
        if(npos >= maxsize) {
            maxsize *= 2;
            a = (char **) realloc(a, maxsize * sizeof(char *));
            for(int i = npos; i < maxsize; i++)
                a[i] = (char *) malloc(maxlen);
        }
        strncpy(a[npos++], s, maxlen);
    }
    void show()
    {
        for (int i = 0; i < npos; ++i)
            cout << a[i] << " ";
        cout << "\nsize = " << maxsize << endl;
    }
 };
 
int main()
{
    str s;
    char buf[1024];
    
    // while (gets(st)) - gets зло!
    while(fgets(buf, sizeof(buf), stdin) != NULL && *buf != '\n') {
        buf[strlen(buf)-1] = '\0';    // удалить символ новой строки в конце
        s.push(buf);
    }
    s.show();
    getchar();
    return 0;
}
Но зачем делать "Си с классами"? Если уж писать на С++, то с вектором строк.
 
Текущее время: 00:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru