Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.10.2016, 22:20   #1
artilun
Пользователь
 
Регистрация: 25.10.2016
Сообщений: 25
По умолчанию С++ Исправить ошибки в коде

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

Дан вектор Y размером n. Получить матрицу порядка n x m, по таким правилам: aij=yj^i ( в степени i), i є [1,m], j є [1,n].
Код:
#include"stdafx.h"
#include <iostream>
# include <stdio.h>
# include <windows.h>
# include <locale.h>
#include <math.h>
using namespace std;
#define N 100
#define M 100


int main()
{
int n = 4;
double **A;
A = new double *[n];
int temp = 2;
static const int arr[] = {2,2,2,2};
vector<int> vec (arr, arr + sizeof(arr) / sizeof(arr[0]) );
for(int i = 0; i < n; ++i)
A[i]= new double [n];
for(int i = 0; i < n; ++i)
{
for(int j = 0; j < n; ++j)
{
A[i][j] = pow(vec[i],j);
cout<<A[i][j] << "\t";
}
cout << endl;
}
return 0;
system("pause");
return 0;


}

Последний раз редактировалось Alex11223; 03.11.2016 в 10:41.
artilun вне форума Ответить с цитированием
Старый 26.10.2016, 02:19   #2
New man
Форумчанин
 
Регистрация: 24.01.2011
Сообщений: 774
По умолчанию

Думаю, проблема в этом.
Код:
return 0;
system("pause");
return 0;
Программа работает "правильно" (на самом деле нет), но закрывается слишком быстро (когда подпрограмма достигает return, из неё сразу же происходит выход). Убери первыйй return.


А ВООБЩЕ, ТОЛЬКО У МЕНЯ В ШАРАГЕ ЗА НЕУДАЛЁННУЮ ДИНАМИЧЕСКУЮ ПАМЯТЬ НЕ ПРИНИМАЛИ РАБОТЫ?! Какого фига вас учат выделять память через new, а потом не удалять?

Вот это мастхэв.
Код:
for(int i = 0; i < n; ++i)
    delete[] A[i];//A[i]= new double [n];
delete[] A;//A = new double *[n];
a.k.a. Angelicos Phosphoros
Мой сайт

Последний раз редактировалось New man; 26.10.2016 в 02:22.
New man вне форума Ответить с цитированием
Старый 28.10.2016, 12:43   #3
DFrost
 
Регистрация: 28.10.2016
Сообщений: 9
По умолчанию

Зачем освобождать динамически выделенную память перед завершением программы??? Может у тебя действительно ШАРАГА? и лучше поискать другое место?)
DFrost вне форума Ответить с цитированием
Старый 03.11.2016, 10:39   #4
New man
Форумчанин
 
Регистрация: 24.01.2011
Сообщений: 774
По умолчанию

Цитата:
Сообщение от DFrost Посмотреть сообщение
Зачем освобождать динамически выделенную память перед завершением программы??? Может у тебя действительно ШАРАГА? и лучше поискать другое место?)
А ты планируешь всегда весь код засовывать в main? Очистка памяти - обязательная привычка. Лучше только умные указатели.
a.k.a. Angelicos Phosphoros
Мой сайт
New man вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите, нужно исправить 4 ошибки в коде программы Dimas190597 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 02.10.2016 15:57
Помогите исправить ошибки в коде lomik222 Общие вопросы C/C++ 5 11.03.2016 09:51
Помогите пожалуйста исправить ошибки в коде Nata Golden rose Общие вопросы C/C++ 6 18.05.2014 23:28
Ошибки в коде. Необходимо исправить. Vladzis Общие вопросы C/C++ 6 06.05.2014 17:28
Треугольная последовательность. Помочь исправить ошибки в коде (C) lmbe Помощь студентам 0 27.12.2013 03:17