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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 5.00
Molotoff
1 / 1 / 0
Регистрация: 21.07.2009
Сообщений: 50
#1

Заполнение массива - C++

23.01.2011, 06:32. Просмотров 1235. Ответов 1
Метки нет (Все метки)

Доброго дня, уважаемые форумчане!
В очередной раз сталкиваюсь с небольшой проблемой, суть ее заключается в следующем. Есть два массива малый и большой, нужно значения из малого более-менее равномерно записать в большой. Например:
A[5] = {0,1,2,3,4} - исходный массив
B[17] = {0,0,0,1,1,1,2,2,2,3,3,3,3,4,4,4,4} или B[17] = {0,0,0,0,1,1,1,2,2,2,2,3,3,3,4,4,4} - результирующий массив
Т.е. принципиальной разницы нет, главное, чтоб эти "отрезки" отличались не более чем на единицу. И опять же, требуется, чтоб алгоритм был быстрый (выполнялся за небольшое число операций).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.01.2011, 06:32     Заполнение массива
Посмотрите здесь:

Заполнение массива от 'А' до 'Я' и 'а' до 'я' - C++
Как заполнить массив буквами русского алфавита по порядку, желательно не вручную . Нужно от 'А' до 'Я' и затем от 'а' до 'я' т.е 66...

Заполнение массива - C++
У меня есть строка, которую пользователь ввел с консоли как мне каждый элемент строки добавить в массив??? Добавлено через 7 минут ...

Заполнение массива - C++
Подскажите пожалуйста, как заполнить массив в такой закономерности: Например дано число 6:••• Пример для числа 4:••• ...

Заполнение массива - C++
Рандомно заполнить массив из 8 элементов таким образом чтобы все его элементы при просмотре с лева на право образовывали убывающую...

Заполнение массива - C++
Доброго времени суток всем:) Прошу немного помощи. Дали лабу на заполнение массива, а я не умею составлять формулы и не нашёл никакой...

Заполнение массива - C++
помогите решить задачу. заранее спасибо.;)

Заполнение массива - C++
Как заполнить массив? Вот что получилось: #include <stdio.h> #include <conio.h> #include <stdlib.h> void main() { int...

Заполнение массива - C++
Помогите пожалуйста переписать данный код что бы массив заполнялся таким образом: 15 19 22 24 25 10 14 18 21 23 6 9 13 17 20 ...

Заполнение массива - C++
Заполнить массив 6x6 цифрами от 1 до 36 по следующей схеме 11 12 13 14 15 16 10 27 28 29 30 17 9 26 35 36 31 18 8 25 34 33 32...

Заполнение массива от -5 до 5. - C++
Всем привет, народ помогите пожалуйста с задачей... Borland c 3.1 Заполнить массив из десяти элементов случайными числами в...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alex_x_x
бжни
2445 / 1650 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
23.01.2011, 06:56     Заполнение массива #2
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
#include <iostream>
#include <algorithm>
#include <iterator>
#include <cmath>
 
const size_t nB = 13;
 
int A[] = {0,1,2,3,4},
    B[nB];//{0,0,0,1,1,1,2,2,2,3,3,3,3,4,4,4,4}; 
 
const size_t nA = sizeof(A)/sizeof(A[0]), step = floor(nB*1.0/nA);
            
int main(){
   size_t i,j,index = 0, offer = nB - step*nA;
   for( i=0;i<nA;++i ){
      for( j=0;j<step && index<nB;++j,++index ){
         B[index]=A[i];
      }  
      if( offer ){
         B[index++] = A[i];
         --offer; 
      }   
   }  
   std::copy( B,B+nB,std::ostream_iterator<int>(std::cout," ") );
}
Добавлено через 1 минуту
тут про отличия отрезков прочитал надо поразмыслить
Yandex
Объявления
23.01.2011, 06:56     Заполнение массива
Ответ Создать тему
Опции темы

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