динамический массив с++ [закрыт]

134
28 сентября 2019, 17:30

Задача написать функцию на С++,переводящую число X из 10 системы счисления в 3.

#include "pch.h"
#include <iostream>
#include <string>
using namespace std;
int a,x,k,x1,t;
int perefod(int x)
{   cin >> x;
    while (x > 0) { x /= 3; k++; }
    int *a = new int[k];
    for (int i = 0; i < k; i++) {
        while (x > 0) { t = 0; t = x % 3; a[i] = t; x /= 3; }}
    for (int i = k; i < 0; i--) { cout << a[i]; }
    return 0;
    delete[]a;}
int main()
{x1 = perefod(x);
    return 0;}
Answer 1

А зачем именно массив? Раз выводить нужно - берите строку:

string perevod(int x)
{
    string s;
    while(x)
    {
        s = char('0'+x%3) + s;
        x /= 3;
    }
    return s;
}
int main()
{
    int n;
    cin >> n;
    cout << perevod(n) << endl;
}
Answer 2

После while (x > 0) { x /= 3; k++; } x==0, и вся остальная часть функции ничего не будет делать, тем более что вы перед удалением уже возвращаете ноль( не понятно что вы пытались этим выразить), так что удаление массива тоже не произойдет. Для этой функции ничего не нужно возвращать, раз вы вывод пытаетсь осуществлять прямо в функции. Ее нужно определять как void perefod(int x). И можно выполнить в вашем стиле тоже, только по логике уже вами принятого ответа.

READ ALSO
&ldquo;Thunk&rdquo; в контексте виртуальных функций

“Thunk” в контексте виртуальных функций

Что такое "Thunk" в контексте виртуальных функций?(Как работает?)

103
С++. Указатели. Операция delete

С++. Указатели. Операция delete

Я начинающий в программированииЧитая книгу о С++ в главе посвященной указателям (в частности оператору delete), я наткнулся на то, что в среде...

122
Как по очереди анимировать Views

Как по очереди анимировать Views

У меня на странице несколько ViewНужно чтобы каждый анимировался после предыдущей

119