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

Есть динамический массив с размерностью 5, необходимо его сделать с размерностью 6, заполнить цифрами и вывести на экран - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить номер первого из столбцов, содержащих хотя бы один нулевой элемент http://www.cyberforum.ru/cpp-beginners/thread1131456.html
Помогите решить задачу 15. Дана целочисленная прямоугольная матрица: а) определить номер первого из столбцов, содержащих хотя бы один нулевой элемент; б) характеристикой строки...
C++ C++ после Delphi Приветствую.В течении года изучал Pascal, а затем delphi. Сначала неплохо освоил Паскаль(выиграл пару городских олимпиад), затем выучил delphi на уровне написания: мелких приложений(аудио-,видео-... http://www.cyberforum.ru/cpp-beginners/thread1131447.html
C++ Реализуйте класс для хранения сетевого адреса в формате IPv4
Помогите с задачей! Реализуйте класс для хранения сетевого адреса в формате IPv4. Обработайте ошибки динамического выделения памяти и ошибки задания адреса (допустимый формат - четыре числа от 0 до...
Заменить printf scanf на cout cin C++
#include<iostream.h> #include<math.h> #pragma argsused int main(int argc, char* argv) {int i; float x,B,y; printf("\n B="); scanf("%f", &B); printf("________x_____|______y");...
C++ Создание функции для перевода чисел из 10-ой с четверичную систему, для динамического массива http://www.cyberforum.ru/cpp-beginners/thread1131402.html
доброго времени суток , помогите с созданием функции для перевода чисел из 10-ой с четверичную систему, для динамического массива
C++ Даны сведения о студентах группы. Вывести список группы по убыванию года рождения студента Даны сведения о студентах группы: ФИО студента, дата рождения студента, место рождения студента. Вывести список группы по убыванию года рождения студента. составит программу на С++ подробнее

Показать сообщение отдельно
DrOffset
7376 / 4453 / 1009
Регистрация: 30.01.2014
Сообщений: 7,304
27.03.2014, 22:27
Цитата Сообщение от ValeryS Посмотреть сообщение
но по моему нарушен приоритет, не увеличиваешь значение а увеличиваешь адрес
Нет, там все в порядке.
CheburatorUA,
Обратив внимание, что ты скопировал указатель в функцию. Снаружи осталось старое значение. А новый массив выделился в совершенно новом месте. Попробуй вот такой код, он должен работать правильно:
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
#include <iostream>
#include <stdlib.h>
using namespace std;
void masplus(float* &, int*);
int main ()
{
    int size=5;
    float* mas1;
    mas1 = new float[size];
 
    masplus(mas1, &size);
 
    for(int i=0;i<size; i++)
         cout<<mas1[i];
}
 
void masplus(float* & mas, int *n)
{
    delete [] mas;
    *n+=1;
    mas = new float[*n];
    for(int i=0;i<*n; i++)
        mas[i]=i;
}
Добавлено через 17 секунд
Цитата Сообщение от CheburatorUA Посмотреть сообщение
Это наверно проблема в моем microsoft visual studio 2010?
Нет, проблема в UB в коде.

Добавлено через 5 минут
Цитата Сообщение от alsav22 Посмотреть сообщение
У меня всё нормально выводит.
Потому что нормально работающая программа - частный случай неопределенного поведения
2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru