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

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

Войти
Регистрация
Восстановить пароль
 
Маринчик
0 / 0 / 0
Регистрация: 12.10.2012
Сообщений: 148
#1

Теоретически понимаю, а как записать - непойму - C++

23.11.2012, 23:25. Просмотров 515. Ответов 10
Метки нет (Все метки)

дан массив случайных чисел B. все необходимые с ним действия сделала. кроме одного.. Нужно записать элементы массива B (50) с индексами 1,4, 9,16...49 подряд в массив Р(7).


Понимаю что это определенная арифметическая прогрессия..(разность (1-4)=3, (4-9)=5 (9-16)=7 и т.д.,чтоэти 3,5,7 - увеличиваются через 2) Понимаю что цикл должен быть както изменен ,два раза наверное..
А как записать на С++ - непойму.
Помогите пожалуйста
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.11.2012, 23:25
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Теоретически понимаю, а как записать - непойму (C++):

Не понимаю как записать формулу - C++

Как теоретически (не программно) посчитать количество сравнений и обменов в пузырьковой сортировке? - C++
как теоретически посчитать количество сравнений и обменов в пузырьковой сортировке?не программно

Могут ли теоретически существовать методы с неопределенным числом аргументов? - C++
Разумно ли использовать va args в таких ситуациях?

непойму где ошибка - C++
какое бы значение а не вводила б - все время выводится одно и тоже значение..что не так??программа легкая,кажется составлена верно.но не...

Непойму про компиляторы - C++
Компилятор написан на с++ как такое может быть? ведь чтобы скомпилировать такой компилятор нужен был еще кактой компилятор который тоже...

Поиск символа - непойму - C++
я юзаю strchr но непойму что за второй параметр..он ИНТ! мне нужно найти кол-во символов в тексте например а. а если для string...

10
ValeryS
Модератор
6963 / 5300 / 522
Регистрация: 14.02.2011
Сообщений: 17,881
23.11.2012, 23:31 #2
Цитата Сообщение от Маринчик Посмотреть сообщение
чтоэти 3,5,7 - увеличиваются через 2)
не полностью приведен ряд это может быть и простые числа
но если увеличивается на два то может быть так
C++
1
for(int i=1,j=3;i<50;i+=j,j+=2)
0
Kuzia domovenok
2128 / 1956 / 195
Регистрация: 25.03.2012
Сообщений: 6,808
Записей в блоге: 1
23.11.2012, 23:33 #3
Разуй глаза, убери цветы от них... Ну, ты б хотя бы то что это ряд квадратов заметил...
C++
1
2
3
4
5
6
7
int id=1;
int id_2=id*id;
while(id_2<50){
  B[id]=A[id_2];
  id++;
  id_2=id*id;
}
Добавлено через 1 минуту
Цитата Сообщение от ValeryS Посмотреть сообщение
Понимаю что это определенная арифметическая прогрессия..(разность (1-4)=3, (4-9)=5 (9-16)=7 и т.д.,чтоэти 3,5,7 - увеличиваются через 2) Понимаю что цикл должен быть както изменен ,два раза наверное..
А как записать на С++ - непойму.
Помогите пожалуйста
чтоэти 3,5,7 - увеличиваются через 2)
не полностью приведен ряд это может быть и простые числа
но если увеличивается на два то может быть так
for(int i=1,j=3;i<50;i+=j,j+=2)
Да о чём вы оба? Это просто ряд квадратов!
1
ValeryS
Модератор
6963 / 5300 / 522
Регистрация: 14.02.2011
Сообщений: 17,881
23.11.2012, 23:37 #4
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Ну, ты б хотя бы то что это ряд квадратов заметил...
не заметил виноват
пошел на поводу
0
MrGluck
Модератор
Эксперт CЭксперт С++
7785 / 4821 / 750
Регистрация: 29.11.2010
Сообщений: 13,176
23.11.2012, 23:38 #5
Грубо и без проверок на выход за пределы массива P:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
 
int main()
{
    const int N = 50;
    int B[N], P[7];
    // формируем массив B
    for (int i=0; i < N; i++)
        B[i] = i;
 
    int index = 0;
    for (int i=1; i < N; i++)
    {
        P[index++] = B[i];
        i += index * 2;
    }
 
    for (int i=0; i < 7; i++)
        std::cout<< P[i]<< " ";
    return 0;
}
0
alsav22
5436 / 4831 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
23.11.2012, 23:39 #6
C++
1
2
for (int i = 1, j = 0; j < 7; i++, j++)
        P[j] = B[i * i];
0
ValeryS
Модератор
6963 / 5300 / 522
Регистрация: 14.02.2011
Сообщений: 17,881
23.11.2012, 23:42 #7
но самое смешное то что ТС тоже вывела правильную закономерность( по крайней мере на данном участке)
(1 4 ) 3
(4 9 ) 5
(9 16 ) 7
(16 25 ) 9
(25 36 ) 11
(36 49 ) 13

как видишь разница увеличивается на 2
интересно это просто совпало или это закономерность ?
1
Маринчик
0 / 0 / 0
Регистрация: 12.10.2012
Сообщений: 148
24.11.2012, 00:20  [ТС] #8
Цитата Сообщение от ValeryS Посмотреть сообщение

как видишь разница увеличивается на 2
интересно это просто совпало или это закономерность ?
вот мне почему то эта закономерность-совпадение больше кинулась в глазанамудрила наверное..
незаметила что все проще
0
Croessmah
Ушел
13768 / 8018 / 924
Регистрация: 27.09.2012
Сообщений: 19,740
Записей в блоге: 3
Завершенные тесты: 1
24.11.2012, 00:37 #9
Цитата Сообщение от ValeryS Посмотреть сообщение
интересно это просто совпало или это закономерность ?
так раскладывается любой квадрат
0
Croessmah
Ушел
13768 / 8018 / 924
Регистрация: 27.09.2012
Сообщений: 19,740
Записей в блоге: 3
Завершенные тесты: 1
24.11.2012, 00:40 #10
Название: Безымянный.jpg
Просмотров: 49

Размер: 3.6 Кб
Для целых чисел имеется ввиду
2
ValeryS
Модератор
6963 / 5300 / 522
Регистрация: 14.02.2011
Сообщений: 17,881
24.11.2012, 07:44 #11
Croessmah, спасибо но я имел ввиду другое

вот это
((x+2)^2-(x+1)^2)-((x+1)^2-x^2)=a
(x^2+4x+4-x^2-2x-1)-(x^2+2x+1-x^2)=a
(2x+3)-(2x+1) =a
2=a;
как видим разница разниц всегда равна 2
и по сему цикл
C++
1
for(int i=1,j=3;i<50;i+=j,j+=2)
имеет место быть
и он может быть быстрее чем
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
int id=1;
int id_2=id*id;
while(id_2<50){
* B[id]=A[id_2];
* id++;
* id_2=id*id;
}
поскольку нет умножения
Но утверждать не буду, проверять нужно
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.11.2012, 07:44
Привет! Вот еще темы с ответами:

классы непойму что с конструктором - C++
привет вот создал такой класс но чето конструктор ругается но что непойму( #include &lt;iostream&gt; #include &lt;string&gt; using namespace...

непойму где ошибка, программа перевода чисел.. - C++
пишу прогу которая будет переводить в десятичную систему счисления числа предустановленные в системе остаточных классов (СОК) с заданным...

Найди серединку. Не понимаю как сделать и как начать - C++
Вводятся натуральные числа - А и В (А&lt;В), которые не превышают 100000000. Найти число Х – середину ряда, состоящего из ...

Не понимаю как сделать! - C++
Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале от Хнач Хкон с шагом dx с...


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

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

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