Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/76: Рейтинг темы: голосов - 76, средняя оценка - 4.93
0 / 0 / 0
Регистрация: 10.04.2015
Сообщений: 9
1

Сформировать массив по заданному правилу

24.07.2015, 15:51. Показов 15524. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Напишите программу, которая создает двухмерный массив и заполняет его по следующему принципу: пользователь вводит число (например, 3) первый элемент массива принимает значение этого числа, последующий элемент массива принимает значение этого числа умноженного на 2 (т.е. 6 для нашего примера), третий элемент массива предыдущий элемент умноженный на 2 (т.е. 6*2=12 для нашего примера). Созданный массив вывести на экран.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.07.2015, 15:51
Ответы с готовыми решениями:

Сформировать массив по заданному правилу
Даны целые числа N (> 2), A и B. Сформировать и вывести целочисленный массив размера N,...

Сформировать новый массив по заданному правилу
Сформировать массив J(10) из массива I(10) по следующему принципу: J(N)=I(N)+N.

Сформировать целочисленный массив по заданному правилу
даны целые числа n(>2), a и b. сформировать и вывести целочисленный массив размера N, первый...

Сформировать новый массив из исходного по заданному правилу
Задача из Златопольского: Из элементов массива p сформировать массив q того же размера по правилу:...

8
0 / 0 / 0
Регистрация: 23.12.2013
Сообщений: 12
24.07.2015, 15:58 2
Я так понял, что нужно вывести всего 3 числа, потому что не сказано про размерность массива.
То есть:
C++
1
cout << n << " " << n * 2 << " " << n * 4;
0
Модератор
Эксперт С++
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,712
24.07.2015, 15:58 3
Берем образец
Образцы (шаблоны) программ для типовых задач
И в нем меняем функцию Input
C++
1
2
3
4
5
6
7
8
// ввод массива
void Input(int* M,int n)
{
    cout<<"M[0]=?";
    cin >> M[0];
    for(int i=1;i<n;i++)
       M[i]=m[i-1]*2;
}
0
Эксперт по математике/физикеЭксперт С++
2048 / 1366 / 395
Регистрация: 16.05.2013
Сообщений: 3,505
Записей в блоге: 6
24.07.2015, 16:00 4
C++
1
2
3
4
std::cin >> num;
*array = num;
for(int i = 1; i < N * N; ++i)
    *(array + i) = *(array + i - 1) * 2;
0
0 / 0 / 0
Регистрация: 10.04.2015
Сообщений: 9
24.07.2015, 16:25  [ТС] 5
Всем спасибки)) Я только учусь и весь день голову ломаю: "Как же сделать)))"

Добавлено через 18 минут
А если он двумерный, размер допустим Array [m][n]
0
52 / 52 / 23
Регистрация: 01.06.2015
Сообщений: 189
24.07.2015, 22:07 6
Если двумерный, тогда так:
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
#include <iostream>
#include <iomanip>
 
using namespace std;
 
int main()
{
    int num,rows,cols;
 
    cout <<"Number = ";
    cin >> num;
    cout <<"Rows = ";
    cin >> rows;
    cout <<"Cols = ";
    cin >> cols;
 
    int** matrix = new int*[rows];
    for (int i = 0; i < rows; i++){
 
        matrix[i]= new int[cols];
        for (int j = 0; j < cols; j++){
            matrix[i][j] = num;
            num*=2;
        }
    }
 
    cout << "Matrix: " << endl;
    for (int i = 0; i < rows; i++){
        for (int j = 0; j < cols; j++) cout << setw(7) << matrix[i][j] << ' ';
        cout << endl;
    }
 
    for(int i = 0; i < rows; i++){
        delete[] matrix[i];
    }
    delete[] matrix;
 
 
    return 0;
}
1
0 / 0 / 0
Регистрация: 10.04.2015
Сообщений: 9
24.07.2015, 23:07  [ТС] 7
За такую помощь Уважуха, спасибо!
0
53 / 43 / 22
Регистрация: 29.05.2016
Сообщений: 214
21.06.2016, 11:04 8
C++
1
2
3
4
5
6
7
8
for (int i = 0; i < n; i++){
    for (int j = 1; j < m; j++){
     mass[i][j] = mass[i][j-1] * 2;     
     cout << setw(4) << mass[i][j-1];
    }
    if (i<m-m) mass[i+1][m-3] = mass[i][m-1] * 2;
    cout << setw(4)<<mass[i][m-1]<< endl;
   }
Добавлено через 52 секунды
C++
1
2
3
4
5
6
7
8
9
for (int i = 1; i < n*m; i++){
    mass[0][i] = mass[0][i - 1] * 2;
   }
   for (int i = 0; i < n; i++){
    for (int j = 0; j < m; j++){
     cout << setw(4) << mass[i][j];
    }
    cout << endl;
   }
0
184 / 192 / 48
Регистрация: 25.08.2011
Сообщений: 792
21.06.2016, 11:19 9
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
using namespace std;
 
int main() {
    std::vector<int> vec(10);
    vec[0] = 1;
    std::generate(vec.begin() + 1, vec.end(), [&vec]()->int
    {
    static int pos = 1;
    auto val = vec[pos - 1] * 2;
    ++pos;
    return val;
    });
    std::copy(vec.begin(), vec.end(), ostream_iterator<int> (cout, " "));
    return 0;
}
0
21.06.2016, 11:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.06.2016, 11:19
Помогаю со студенческими работами здесь

Массив: Сформировать матрицу размера M × N по заданному правилу...
Даны целые положительные числа M, N, число Q и набор из N чисел. Сформировать матрицу размера M...

Сформировать вектор по заданному правилу
Даны натуральное число n и действительные числа y1 y2…yn. Получить вектор Z (Z1, Z2…Zn),...

Сформировать матрицу по заданному правилу
Данна целочисленная матрица размером 3 * 4. Написать программу, которая формирует двумерный массив...

Сформировать последовательность по заданному правилу
Всем привет, еще раз! В общем стоит такая задача: Даны два положительных числа n и k. Надо...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru