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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
kap1
0 / 0 / 0
Регистрация: 29.03.2011
Сообщений: 4
#1

Динамический массив из целых чисел - C++

29.03.2011, 23:54. Просмотров 735. Ответов 2
Метки нет (Все метки)

Плохо разбираюсь с массивами, поэтому нужна помощь написать кусок кода, где создается динамический массив и формирующий в нем множества всех целых чисел вида 2^k и 3^k меньших заданного числа N в порядке возрастания. вообще даже соображений нет, вот что накалякал
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
25
26
27
28
29
30
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
int main ()
{
    int N, k, a, b;
    k=1;
    a=2;
    b=3;
    cout<<"N="; cin>>N;
    int *i,j;
    j=100;
    i=new int[j];
          int z=1; 
          //for (int k=1;k<1000; k++) нужно ли это
          while (k) { //возводим а в степень z
          if (k & 1) z *= a;
          a *= a;
          k >>= 1;
  }
    if (z<=N) {
        z=i;
    }
        else {
            cout<<"i: "<<i<<endl;
        }
        delete i;
        return 0;
}
не знаю как все собрать и как добавить еще 3^k или лучше использовать pow?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.03.2011, 23:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Динамический массив из целых чисел (C++):

Динамический массив целых чисел - C++
Здравствуйте! Помогите создать динамический массив целых чисел. Заполнить с клавиатуры. Количество элементов задается случайно. Найти...

Задан динамический массив целых чисел Z - C++
Задан динамический массив целых чисел Z. Найти элементы массива равные или кратные своим порядковым номерам. Заполнение массива оформить в...

Создать динамический массив целых чисел, полностью заполняемый с клавиатуры - C++
int n; int*a = new int; for (int i = 0; i &lt; n; i++) { cout &lt;&lt; &quot;Enter the &quot; &lt;&lt; i + 1 &lt;&lt; &quot; element&quot; &lt;&lt; endl; ...

Описать класс, реализующий простой динамический массив из целых чисел - C++
Всем привет. Ребят помогите с задачей разобраться, вот текст задачи: Описать класс, реализующий простой динамический массив из целых...

В функцию передается несколько целых чисел. Создать из всех параметров динамический массив и вернуть указатель - C++
В функцию передается несколько целых чисел. Создать из всех параметров динамический массив и вернуть указатель на него. Первым элементом...

Класс "Динамический одномерный массив целых чисел" - C++
Задача заключается в том что нужно Создать класс - одномерный динамический массив целых чисел. Перегрузить оператор класса, оператор...

2
NightmareZ
1361 / 570 / 37
Регистрация: 31.03.2009
Сообщений: 1,953
30.03.2011, 00:16 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <cmath>
#include <memory>
 
int main()
{
    int n, k;
    std::cin >> n >> k;
 
    int* arr = new int[n];
 
    for (int i = 0; i < n; i++)
        arr[i] = static_cast<int>(std::pow(static_cast<float>(i), k));
 
    for (int i = 0; i < n; i++)
        std::cout << arr[i] << " ";
    std::cout << std::endl;
 
    delete[] arr;
 
    return 0;
}
1
kap1
0 / 0 / 0
Регистрация: 29.03.2011
Сообщений: 4
31.03.2011, 00:09  [ТС] #3
NightmareZ, спасибо, как я понял создается массив из k^n (где n от 0 до введенного значения), буду отталкиваться от этого)
только вот в строчке
C++
1
arr[i] = static_cast<int>(std::pow(static_cast<float>(i), k));
нужно поменять местами число и степень
C++
1
arr[i] = static_cast<int>(std::pow(k, static_cast<float>(i)));
Вообщем слил массивы из последовательностей 2^k и 3^k, практически все сделал, кроме вот концовки, где этот общий массив из слиённых двух массивов сравнивается с числом. Там почему то получается последовательность чисел и в начале единица лишняя, допустим должно получится [ 1 2 3 4 8 9 16 27 ], а выводит [ 1 1 2 3 4 8 9 16 27 ] и так всегда. как от нее избавиться?
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <stdio.h>
#include <iostream.h>
#include <math.h>
#include <memory>
 
int main () {
    int N;
    cout<<"N="; cin>>N;
     int n, m;
        n=10; 
        int* arr1 = new int[n];
        int* arr2 = new int[n];
        int* arr = new int[2*n];
        for (int i = 0; i < n; i++)
        arr1[i] = (pow(2,(i)));
        for (int k = 0; k < n; k++)
        arr2[k] = (pow(3,(k)));
        k = i = m = 0;
        do { 
           if (arr1[i] < arr2[k] ) 
           arr[m++] = arr1[i++]; 
           else 
            if (arr1[i] > arr2[k]) 
            arr[m++] = arr2[k++]; 
                 else { 
                     arr[m++] = arr1[i++];
                     arr[m++] = arr2[k++];
                 }
        } while ( i < n && k < n);
            while ( i < n) 
                arr[m++] = arr1[i++];
            while (k < n) 
                arr[m++] = arr2[k++];
 
        for (m = 0; m < 2*n; m++)
        {
             if( arr[m] <= N)
             {
        cout << arr[m] << " ";
             }
        }
 
        delete[] arr;
        delete[] arr1;
        delete[] arr2;
 
        return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.03.2011, 00:09
Привет! Вот еще темы с ответами:

Разработать класс "динамический массив целых чисел" с конструкторами и деструкторами - C++
Динамический одномерный массив целых чисел Базовый класс: Конструкторы: по умолчанию, с параметрами и копирования. Деструктор. ...

Задан массив K(m) попарно различных целых чисел. Получить все перестановки целых чисел - C++
Помогите пожалуйста с программой. Задан массив K(m) попарно различных целых чисел. Получить все перестановки целых чисел

Динамический массив целых - C++
Люди помогите с задачкой, срочно надо, сегодня последний день остался, а я не могу сделать!!!! помогите!!! по критериям: ...

Создать динамический список из случайных целых чисел? - C++
Создать динамический список из случайных целых чисел (от -30 до +30), поменять местами элементы, содержащие максимальное и минимальное...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.