Форум программистов, компьютерный форум CyberForum.ru

Вывести числа по правилу - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
AvengerAlive
5 / 5 / 0
Регистрация: 30.07.2011
Сообщений: 257
19.08.2011, 10:41     Вывести числа по правилу #1
Есть массив чисел 1...n;
Надо вывести вот это
1...1
1...2
.....
n...n

Ну это что-то типа k значной логики, все те числа вывести, только 0 не фигурирует, да и вообще в массиве могут быть любые числа. Это как коротко записать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.08.2011, 10:41     Вывести числа по правилу
Посмотрите здесь:

C++ C++. Заданы два вектора x(x1,x2,…,xn),y(y1,y2,…,yn) и числа a,b. Построить вектор z(z1,z2,…,zn),компоненты которого вычисляются по правилу.
Даны натуральное число n, действительные числа a[1],.,a[n]. Вычислить по правилу C++
Дано вещественное число B>0. Последовательность чисел образуется по правилу: a0=1, ai+1=ai2+1. Распечатать все числа ai такие , что ai<B C++
C++ Классы. Вывести значение числа цифр в дробной части числа
С помощью рекурсии вывести все числа от 1 до введенного пользователем числа k C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Olga_
 Аватар для Olga_
840 / 182 / 16
Регистрация: 01.08.2011
Сообщений: 502
19.08.2011, 12:30     Вывести числа по правилу #21
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
- ну теперь ясно - задание банально до ужаса
Опять мимо. В каждой строчке столько элементов, сколько в исходном массиве

Добавлено через 4 минуты
AvengerAlive, вы там все разберетесь где и как поменять для ваших значений?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
19.08.2011, 12:37     Вывести числа по правилу #22
Цитата Сообщение от Olga_ Посмотреть сообщение
Опять мимо. В каждой строчке столько элементов, сколько в исходном массиве
- вводим 4-й цикл, я не мимо - задание нужно чётко ставить, меня сбил ваш алгоритм где 3 цифры выводилось, у вас там N = 3 стоит...
Всё же хотелось бы фидбэка от ТС
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream.h>
 
int main()
{
    int arr[] = {1,2,4,7};
    int size = sizeof(arr)/sizeof(arr[0]);
    for(int i = 0,j,k,l; i < size; i++)
    for(j = 0; j < size;j++)
    for(k = 0; k < size;k++)
    for(l = 0; l < size;l++)
        cout<<arr[i]<<arr[j]<<arr[k]<<arr[l]<<"\r\n";
    return 0;
}
Olga_
 Аватар для Olga_
840 / 182 / 16
Регистрация: 01.08.2011
Сообщений: 502
19.08.2011, 12:39     Вывести числа по правилу #23
-=ЮрА=-, а если в массиве 100 элементов? A N=3 чтобы экран не загромождать, всего же N^N будет строчек
ValeryLaptev
Эксперт C++
1005 / 784 / 46
Регистрация: 30.04.2011
Сообщений: 1,595
19.08.2011, 12:39     Вывести числа по правилу #24
Цитата Сообщение от AvengerAlive Посмотреть сообщение
Есть массив чисел 1...n;
Надо вывести вот это
1...1
1...2
.....
n...n

Ну это что-то типа k значной логики, все те числа вывести, только 0 не фигурирует, да и вообще в массиве могут быть любые числа. Это как коротко записать?
Это типа задача на вычисление размещений?
Olga_
 Аватар для Olga_
840 / 182 / 16
Регистрация: 01.08.2011
Сообщений: 502
19.08.2011, 12:42     Вывести числа по правилу #25
Цитата Сообщение от ValeryLaptev Посмотреть сообщение
Это типа задача на вычисление размещений?
Не совсем. ValeryLaptev, уж вы то должны прекрасно дружить с k-значной логикой
-=ЮрА=-
Заблокирован
Автор FAQ
19.08.2011, 12:44     Вывести числа по правилу #26
Цитата Сообщение от Olga_ Посмотреть сообщение
-=ЮрА=-, а если в массиве 100 элементов? A N=3 чтобы экран не загромождать, всего же N^N будет строчек
- тогда используем рекрсию
Olga_
 Аватар для Olga_
840 / 182 / 16
Регистрация: 01.08.2011
Сообщений: 502
19.08.2011, 12:45     Вывести числа по правилу #27
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
- тогда используем рекрсию
Вот, а пока у вас для маленького частного случая программа.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
19.08.2011, 12:45     Вывести числа по правилу #28
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Если у вас мой код выдаёт ошибки
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
#include <iostream.h>
-=ЮрА=-
Заблокирован
Автор FAQ
19.08.2011, 12:51     Вывести числа по правилу #29
Цитата Сообщение от Deviaphan Посмотреть сообщение
Сообщение от -=ЮрА=-
Если у вас мой код выдаёт ошибки
Сообщение от -=ЮрА=-
#include <iostream.h>
- не понял юмора, подключение заголвков в старом стиле
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
19.08.2011, 12:54     Вывести числа по правилу #30
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
- не понял юмора, подключение заголвков в старом стиле
Ага. А виноват Майкрософт и MSVC2010
ValeryLaptev
Эксперт C++
1005 / 784 / 46
Регистрация: 30.04.2011
Сообщений: 1,595
19.08.2011, 13:05     Вывести числа по правилу #31
Цитата Сообщение от Olga_ Посмотреть сообщение
Не совсем. ValeryLaptev, уж вы то должны прекрасно дружить с k-значной логикой
Я так давно учился, что ее тогда еще не было...
А в комбинаторике у нас сочетания, перестановки и размещения - сочетания с повторениями. Задача сильно похожа на вычисление всех размещений...
Olga_
 Аватар для Olga_
840 / 182 / 16
Регистрация: 01.08.2011
Сообщений: 502
19.08.2011, 13:14     Вывести числа по правилу #32
А если задачу решать для общего случая, когда http://www.cyberforum.ru/cgi-bin/latex.cgi?k \neq n, то алгоритм будет такой (логика то k-значная, не зависит от размера массива):

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
#include <iostream>
using namespace std;
const int N = 4;
 
void Rec(int *a, int i, int n, int *b, int k)
{
   if (i < k)
      for (int j = 0; j < n; j++)
      {
         b[i] = a[j];
         Rec(a, i + 1, n, b, k);
      }
   else
   {
      for (int j = 0; j < k; j++)
         cout << b[j] << " ";
      cout << "\n";
   }
}
 
int main()
{
    int a[N] = {1, 2, 3, 4}, b[N], k = 2;
    Rec(a, 0, N, b, k);
    return 0;
}
Добавлено через 5 минут
Цитата Сообщение от ValeryLaptev Посмотреть сообщение
Я так давно учился, что ее тогда еще не было...
Тогда поясню. Пусть X - исходное множество мощности n. Функция
http://www.cyberforum.ru/cgi-bin/latex.cgi?f:X^k\rightarrow X
называется n-значной логикой. Просто в задаче требовалось вывести все элементы множества http://www.cyberforum.ru/cgi-bin/latex.cgi?X^k(все элементы k-ой степени множества X)
ValeryLaptev
Эксперт C++
1005 / 784 / 46
Регистрация: 30.04.2011
Сообщений: 1,595
19.08.2011, 13:20     Вывести числа по правилу #33
Olga_, и чем это отличается от от размещений с повторениями?
Размещение с повторениями

Размещение с повторениями или выборка с возвращением — это размещение «предметов» в предположении, что каждый «предмет» может участвовать в размещении несколько раз.
-=ЮрА=-
Заблокирован
Автор FAQ
19.08.2011, 13:22     Вывести числа по правилу #34
Цитата Сообщение от Deviaphan Посмотреть сообщение
Ага. А виноват Майкрософт и MSVC2010
- версии должны поддерживать приемственность заголовков, а иначе выходит что коды написаные лет 8-12 неправельные (на них XP собирался) и они не работают, постить больше не хочу мне и так банов хватает...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.08.2011, 13:23     Вывести числа по правилу
Еще ссылки по теме:

C++ Преобразовать вводимые числа по правилу Ai->Ai*(N-i)
C++ Нужно ввести два числа, а вывести ряд от первого числа до второго
C++ Вывести на экран все числа, номера которых есть числа Фибоначчи

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

Или воспользуйтесь поиском по форуму:
Olga_
 Аватар для Olga_
840 / 182 / 16
Регистрация: 01.08.2011
Сообщений: 502
19.08.2011, 13:23     Вывести числа по правилу #35
Цитата Сообщение от ValeryLaptev Посмотреть сообщение
Olga_, и чем это отличается от от размещений с повторениями?
Вообще то вы правы, здесь размещения с повторениями из n элементов по k
Извиняюсь
Yandex
Объявления
19.08.2011, 13:23     Вывести числа по правилу
Ответ Создать тему
Опции темы

Текущее время: 10:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru