С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Структура и функция, возвращающая указатель на структуру https://www.cyberforum.ru/ cpp-beginners/ thread1370521.html
Добрый вечер! В чем проявляется особенность функции, если мы даем ей тип от имени структуры? (или как правильно называется такое описание) Например: struct TEST { int x1; float x2; char Y; };
C++ Возможно ли написать программу, пишущую программы?
Кто-нибудь пробовал?
C++ Написать функцию для генерации всех комбинаций цифр Здравствуйте, как написать такую функцию: Есть переменная типа string: string str = "58422"; как написать цикл который выведет все комбинации этих цифр, пример: 58422 85422 54822 ... https://www.cyberforum.ru/ cpp-beginners/ thread1370486.html C++ Acii в символы https://www.cyberforum.ru/ cpp-beginners/ thread1370485.html
Как символы перевести в ACII код я знаю, вот: char str; int str1; cout<<"Введите строку: "; cin.getline(str,99); for(int i(0); i<strlen(str); i++) { str1=(int)str; }
C++ TicTacToe ООП
Сделал TicTacToe на ООП. Сейчас один класс. Подскажите как лучше модернизировать? Какие методы и классы добавить, какие плохо реализованы, логика самой игры итд. //tictactoe.h #ifndef TICTACTOE_H #define TICTACTOE_H class TicTacToe { private: char board;
C++ Пропускает строку ввода Пропускает cin.getline(str,99); сразу на _getch(); Подскажите, что делать? #include <iostream> #include <conio.h> #include <cstring> using namespace std; void code() https://www.cyberforum.ru/ cpp-beginners/ thread1370470.html
C++ Компиляция под 32 битный процессор В общем название темы говорит само за себя. У меня стоит Win 7 64x разрядная и MS VS 2013. Когда я компилирую приложение, то оно спокойно поддерживается на таких же 64x разрядных системах. И не запускается на 32x разрядных. Само собой я грешу на компилятор, но проблема в том что отыскать галочку для компиляции под 32x я не могу. https://www.cyberforum.ru/ cpp-beginners/ thread1370466.html Как считывать с файла данные блоками? C++
Есть код. Нужно считывать с файла информацию и подсчитать количество символов.Предусмотреть диагностику ошибок. Обязательно применение функции ifs.read(&ch,?);Я считываю по одному символу, а мне нужно блоками. Что подразумевается под блоками?И как это реализовать? #include <iostream> //библиотеки ввода/вывода #include <fstream> //файловый ввод/вывод using namespace std; int main() { ...
C++ Stack и указатели c++ Есть следующий Стэк #ifndef _LINKED_STACK #define _LINKED_STACK #include "StackInterface.h" #include "Node.h" template < class ItemType > class LinkedStack :public StackInterface < ItemType > { private: https://www.cyberforum.ru/ cpp-beginners/ thread1370448.html C++ Задания из книги Р. Лафоре https://www.cyberforum.ru/ cpp-beginners/ thread1370433.html
Добрый день, решаю задачу из книги Лафоре. Если в двух словах, то нужно перевести строку в long double. Вот листинг решения: #include <iostream> #include <iomanip> #include <windows.h> #include <conio.h> #include <sstream> #include <cstring>
C++ С\С++ динамическое создание зубчатого массива с разной длиной строк которая заранее не известна
Друзья, помогите найти верное решение, есть интересная задачка Вводится массив строк текста с неизвестным количеством строк. Ввод текста заканчивается, если количество символов во введенной строке текста будет равно заданной величине. Затем ввести строку символов разделителей. Сформировать текст, в строках которого содержится по одному слову из текста, а также номера строк, в которых не...
C++ Segmentation fault https://www.cyberforum.ru/ cpp-beginners/ thread1370425.html
Доброго времени суток. Есть 2 класса. object class object{ void (*f)(object*); public: void setFunc(void (*func)(object*)){ f = func; }
Модератор
Эксперт С++
13720 / 10917 / 6478
Регистрация: 18.12.2011
Сообщений: 29,146
08.02.2015, 10:59 0

Пытаюсь создать описание класса одномерных массивов строк. В чем моя ошибка? - C++ - Ответ 7200873

08.02.2015, 10:59. Показов 1351. Ответов 8
Метки (Все метки)

Ответ

У меня его нет. Код Ваш. Я только поправил ошибки выделения памяти в функции.

Примерно так должно работать:
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
54
55
56
57
58
59
60
61
62
63
64
65
#include <iostream>
#include <ctime>
using namespace std;
class nik
{
    int size;//количество строк
    char **pp;//указатель на массив указателей, которые содержат адреса строк
public:  
    nik():size(0),pp(0){}
void print() 
{ //выводим на экран
    for(int i = 0; i < size; i++)    //показываем все строки на экран
        cout << pp[i] << endl;  //достаточно обратиться к pp[i] - это адрес строки (0-й элемент)
    cout << endl;
}
 
void del() 
{ //очищаем память
  for(int i = 0; i < size; i++) //освобождаем память
  {
      delete [] pp[i]; // сначала выделенную под строки
  }
  delete [] pp; // потом выделенную под массив указателей
}
char** AddPtr(char *str);
};
 
char** nik::AddPtr (char *str)
{
    if(size == 0) // size - количество строк
   {
        pp = new char *[1]; //выделяем память для size+1 указателей на строки
        pp[0]=new char[strlen(str)+1];
   }
   else
   {   //если массив уже не пустой, данные надо скопировать во временный массив **copy
        char **copy = new char* [size+1]; //создаем временный массив на 1 строкубольший
        for(int i = 0; i < size; i++) //копируем в него адреса уже определенных строк
        {
            copy[i]=new char[strlen(pp[i])+1];
            strcpy(copy[i],pp[i]);
            delete[] pp[i];
        }
        //теперь строки хранятся в адресах copy
        delete [] pp; //освобождаем память, которая указывала на строки
       pp = copy; //показываем указателю на какие адреса теперь ссылаться
    }
    pp[size] = new char [strlen(str) + 1];  //выделяем память на новую строку
    strcpy(pp[size], str);  //и копируем новую строку в элемент p[size].
    size++;
    return pp;
}
int main() 
{
    setlocale(LC_ALL, "rus");
    nik arr1;
    arr1.AddPtr("11111111111111111");
    arr1.AddPtr("22222222222222222");
    arr1.AddPtr("33333333333333333");
    arr1.AddPtr("44444444444444444");
    arr1.print();
    arr1.del();
    system("pause");
    return 0;
}


Вернуться к обсуждению:
Пытаюсь создать описание класса одномерных массивов строк. В чем моя ошибка? C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.02.2015, 10:59
Готовые ответы и решения:

Составить описание класса одномерных массивов строк
Составить описание класса одномерных массивов строк, каждая строка задается длиной и указателем на...

Составить описание класса одномерных массивов строк
Составить описание класса одномерных массивов строк,каждая строка которых задается длиной и...

Объектно-ориентированное программирование: Составить описание класса одномерных массивов строк
Всем здравствуйте! Я извиняюсь что беспокою вас. Мне нужна помощь по решению задачи. Тему я не...

Описание класса для определения одномерных массивов строк фиксированной длины
Составить описание класса для определения одномерных массивов строк фиксированной длины....

8
08.02.2015, 10:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.02.2015, 10:59
Помогаю со студенческими работами здесь

Описание класса для определения одномерных массивов строк. Исправить ошибку
Программа иногда работает правильно а иногда вылетает с ошибкой Unhandled exception at 0x009C12F8...

ООП.Составить описание класса для определения одномерных массивов строк фиксированной длины
Условие задачи: Составить описание класса для определения одномерных массивов строк фиксированной...

Составить описание класса одномерных массивов строк, где каждая строка задается длиной и указателем.....
Составить описание класса одномерных массивов строк, где каждая строка задается длиной и указателем...

Составить описание класса одномерных массивов строк, каждая строка задается длиной и указателем на выделенную для нее память
Реализация системы классов для работы с одномерными массивами строк.Составить описание класса...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru