Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 08.06.2018, 15:26   #1
Виктор-76
Новичок
 
Регистрация: 02.05.2018
Сообщений: 3
Репутация: 10
По умолчанию Замена статического массива на динамический

Помогите, пожалуйста, преобразовать статический массив в динамический
Код:

#include "stdafx.h"
#include <iostream>
using namespace std;
 
int main()
{   
    setlocale(0,"RUS");
    int a[100],min;
    for (int i=0; i<100; ++i)
    {
       a[i] = rand()%200-100;
        cout<<a[i]<<"\n";
    }
    min=a[0];
    for(int i=1;i<100; i++)  if(a[i]<min) min=a[i];  
    cout<<endl<<"Минимальное число = "<<min<<endl<<"Получившийся массив: ";
    for(int i=0;i<100; i++){
        if(a[i]>0) a[i]=min;
        cout<<abs(a[i])<<" ";
    }
    return 0;
}

Виктор-76 вне форума   Ответить с цитированием
Старый 08.06.2018, 15:45   #2
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 12,034
Репутация: 2028

icq: 216409213
По умолчанию

Чем помочь? new и delete написать?
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x на форуме   Ответить с цитированием
Старый 09.06.2018, 11:55   #3
Александр121
Форумчанин
 
Регистрация: 18.09.2017
Сообщений: 235
Репутация: -75
По умолчанию

На держи))) спецально для тех кто не знает чем помочь и как помочь пособие))
delete писать не обязательно так как прогу закрываешь память сама удалится смысла не вижу ,но если нужно докину мне не трудно))

Код:

#include <iostream>
using namespace std;

int main()
{
    setlocale(0,"RUS");
    cout<<"введите количество элементов";
    int n;// количество элементов
    cin>>n; // считывание количество элементов
   int  *a = new int[n]; // динамический массив
int min;
    for (int i=0; i<n; ++i)
    {
       a[i] = rand()%200-100;
        cout<<a[i]<<"\n";
    }
    min=a[0];
    for(int i=1;i<n; i++)  if(a[i]<min) min=a[i];
    cout<<endl<<"Минимальное число = "<<min<<endl<<"Получившийся массив: ";
    for(int i=0;i<n; i++){
        if(a[i]>0) a[i]=min;
        cout<<abs(a[i])<<" ";
    }
    return 0;
}

Александр121 вне форума   Ответить с цитированием
Старый 09.06.2018, 18:15   #4
Вадим Мошев
гигаМодератор :)
Заслуженный модератор
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Адрес: Адрес: Адрес: Адрес: Адрес: Адрес: Адрес: Адрес: Адрес:
Сообщений: 7,554
Репутация: 3678
По умолчанию

Цитата:
Сообщение от Александр121 Посмотреть сообщение
delete писать не обязательно так как прогу закрываешь память сама удалится
Разве динамическую память не нужно очищать вручную? Это под статические переменные выделяется память при запуске программы и освобождается при завершени
Вадим Мошев вне форума   Ответить с цитированием
Старый 09.06.2018, 18:39   #5
Александр121
Форумчанин
 
Регистрация: 18.09.2017
Сообщений: 235
Репутация: -75
По умолчанию

Также она удаляется,не нужно
Александр121 вне форума   Ответить с цитированием
Старый 09.06.2018, 18:47   #6
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 12,034
Репутация: 2028

icq: 216409213
По умолчанию

Да-да, не удаляйте никогда. И деструкторы тоже не вызывайте, и ресурсы не отпускайте, и т.д.
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x на форуме   Ответить с цитированием
Старый 09.06.2018, 21:09   #7
alexzk
Участник клуба
 
Регистрация: 12.04.2017
Сообщений: 889
Репутация: 172
По умолчанию

Цитата:
Сообщение от Александр121 Посмотреть сообщение
Также она удаляется,не нужно
А если код будет на bare metal, или скажем, на ардуино ? (без наличия ос) - вот тут ваша лень и аукнет.
alexzk вне форума   Ответить с цитированием
Старый 10.06.2018, 08:46   #8
SAMOUCHKA
Участник клуба
 
Регистрация: 07.08.2011
Адрес: Димитровград
Сообщений: 545
Репутация: 111

skype: ilya10009
По умолчанию

Александр121 что вы ему голову морочите?
память нужно освобождать. это является хорошим стилем программирования. и можно не беспокоится освободит ли память ос или нет.
__________________
eremeew.ilya@yandex.ru
SAMOUCHKA вне форума   Ответить с цитированием
Старый 16.06.2018, 01:59   #9
Александр121
Форумчанин
 
Регистрация: 18.09.2017
Сообщений: 235
Репутация: -75
По умолчанию

Это является хорошим стилем когда ты пишешь в яндексе в стиле ооп а не когда пишешь типовые программы.
Александр121 вне форума   Ответить с цитированием
Старый 16.06.2018, 02:11   #10
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 956
Репутация: 667
По умолчанию

Цитата:
Сообщение от Александр121 Посмотреть сообщение
Это является хорошим стилем когда ты пишешь в яндексе в стиле ооп а не когда пишешь типовые программы.
Минуснул по полной программе. И добавил в игнор-лист.
Black Fregat вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
из статического массива вывести элементы в динамический yana1213 Помощь студентам 2 20.05.2014 23:02
Передача процедуре статического массива cod48 Общие вопросы Delphi 1 24.08.2010 21:07
переделать массив из статического в динамический Saka Помощь студентам 13 21.12.2009 22:01
Помогите создать динамический массив из статического в готовой проге!) Sitis Помощь студентам 12 16.04.2009 11:04
Замена статического массива на динамический Славный Общие вопросы Delphi 1 11.06.2008 00:19


19:51.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru