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

Создать матрицу элементы которой являются строки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Что будет, если new вызвать 2 раза с одним и тем же указателем? http://www.cyberforum.ru/cpp-beginners/thread30564.html
Собственно вопрос что будет? напрмер int *i=new(1); i=new(3); i будет сылаться на ячеку со значенеим 3 это ясно, а куда денется ячейка со значением 1?
C++ Функция перемножения матриц Задание: http://www.cyberforum.ru/cpp-beginners/thread30562.html
C++ Проверьте лабораторную
Вот, сделал первое задание. Если не составит труда, то проверьте пожалуйста. Я максимально понятно там все прокомментировал. Посмотрите, что можно улучшить или что исправить, какие-нибудь...
ОШибка в коде. C++
#include <iostream> using namespace std; int main() { double sum=1.0; double term=0; double eps; int power=1; printf("Enter Epsilon"); scanf("% if"& eps);
C++ Функция для поиска максимального числа в матрице, которое встречается более одного раза http://www.cyberforum.ru/cpp-beginners/thread30508.html
Функция для поиска максимального числа в матрице, которое встречается более одного раза. Спасибо!!! Добавлено через 1 час 12 минут 45 секунд задана матрица SUS
C++ vector и list Есть база объектов: студенты, преподы, аспиранты... Каждому объекту присвоены значения (общие- возраст, имя, мейл- и специфические для каждого подкласса -курс для студента, кафедра для аспиранта, и... подробнее

Показать сообщение отдельно
ISergey
Maniac
Эксперт С++
1375 / 886 / 52
Регистрация: 02.01.2009
Сообщений: 2,661
Записей в блоге: 1
18.04.2009, 17:52
он то работает но так делать нельзя.
Посмотри такой код поймешь
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
int main()
{
    char *p;
 
    //new block
    {
        char *str = new char[7];
        strcpy(str,"string");
 
        p = str;//p указывает на str ! но не копирует строку !
 
        cout<<p<<endl;//выведет "string"
 
        delete[] str;
    }//str deleted;
 
    cout<<p<<endl;//здесь корей всего мусор будет
    return 0;
}
В вашем случае засада
C++
1
2
3
4
5
6
 for (j = 0; j < M; j++) {
                         char* str = "This is string";
             matrix[i][j] = str;//matrix[i][j] указывает на str ! но не копирует строку !
        }//здесь компилятор должен удалить str
//str уже нету, но тот адресс куда ссылается matrix[i][j] возможно 
//еще небыл перезаписан проетому ваш код какбы работает правильно
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru