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

помогите обработать массив. - C++

Восстановить пароль Регистрация
 
nail25
0 / 0 / 0
Регистрация: 08.10.2011
Сообщений: 11
08.10.2011, 23:24     помогите обработать массив. #1
Доброго времени суток.
В общем есть задача с массивом.
вывод массива я сделал:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//вывод основного массива
    int n;
    int a[1000];
    cout<<"vvedite N"<<endl;
    cin>>n;
    cout<<endl;
    for (int i=0;i<n;i++)
    { for (int j=0;j<n*4;j++)
        {
        a[i,j]=rand()%100;
 
        if (a[i,j]<10) {cout<<" ";}
 
        cout<<a[i,j]<<" ";
        if ((j+1)%(n*4)==0) {cout<< endl;}
        }
        if ((i+1)%n==0) {cout<< endl;}
    }
задача такова. Рандомный массив надо разделить на три блока. таким образом: помогите обработать массив.
чтобы блоки разделялись как нибудь пробелами или промежутками, и количество элементов второго блока было равно количеству элементов третьего блока.
помогите пожалуйста
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nail25
0 / 0 / 0
Регистрация: 08.10.2011
Сообщений: 11
08.10.2011, 23:42  [ТС]     помогите обработать массив. #2
это только часть задачи. но не пройдя этот пункт я не могу делать дальше. загвостка конкретно на этом этапе.

допустим вот разделение так 3333 333 33333
3333 3333 3333
3333 33333 333
или что нибудь на подобие того...
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
09.10.2011, 00:05     помогите обработать массив. #3
Цитата Сообщение от nail25 Посмотреть сообщение
и количество элементов второго блока было равно количеству элементов третьего блока.
Код
если размер массива size = четное
     если size > 2 то первый блок = 2, второй и третий = (size - 2) / 2
     иначе исключение: массив на 3 блока не делится
иначе если size > 2 то первый блок = 1, второй и третий = (size - 1) / 2
     иначе исключение: массив на 3 блока не делится
nail25
0 / 0 / 0
Регистрация: 08.10.2011
Сообщений: 11
09.10.2011, 00:32  [ТС]     помогите обработать массив. #4
смотри, допустим деление можно сделать так:

22 2 22222
22 22222 2

3333 333 33333
3333 3333 3333
3333 33333 333

44444 4444 4444444
44444 44444 444444
44444 444444 44444
44444 4444444 4444
как сделать вот такую штуку??

Добавлено через 21 минуту
размер массива всегда четный получается
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
09.10.2011, 00:37     помогите обработать массив. #5
nail25, в соответствии с поставленной в первом посте задачей я написал вам порядок действий. что вы сейчас печатаете я понятия не имею, но в поставленной задаче это не имеет отношения. может объясните что вам нужно, что значат эти матрицы одинаковых цифр, почему там нету по два равных блока чисел и как это все вообще увязать с поставленным вами условием?
nail25
0 / 0 / 0
Регистрация: 08.10.2011
Сообщений: 11
09.10.2011, 00:40  [ТС]     помогите обработать массив. #6
матрицы это как примеры деления массива при разном N.
как мне добиться примерно такого визуального решения??
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
09.10.2011, 00:43     помогите обработать массив. #7
Цитата Сообщение от nail25 Посмотреть сообщение
как мне добиться примерно такого визуального решения??
читайте пост №5. объясните наконец по пунктам чего вы хотите. я кажется начинаю догадываться, но... не буду тратить время. сформулируйте задачу.
KeyGen
 Аватар для KeyGen
333 / 289 / 6
Регистрация: 07.08.2011
Сообщений: 789
Записей в блоге: 1
09.10.2011, 00:44     помогите обработать массив. #8
Лови:
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
49
50
51
52
53
#include <iostream>
using namespace std;
    
    
    
int main()
{
    setlocale(LC_ALL, "rus");
    int razmer;
    
    cout << "Razmer: ";
    cin >> razmer;
    
    int razmer2=razmer*4;
    
    int mass [razmer][razmer2];
    
    int charr=razmer;
    charr+=48;
    
    
    for (int i=0; i<razmer; i++)
        for (int j=0; j<razmer2; j++)
        mass[i][j]=charr;
        
        
    for (int i=0; i<razmer; i++)
        for (int j=0; j<razmer; j++)
        if(j<razmer-1)
        mass[i][j]=charr;
        else
        mass[i][j]=0;
        
        int k=0;
    for (int i=0; i<razmer; i++){
        for (int j=razmer2-1; j>=razmer*2+k; j--)
        if(j>razmer*2+k)
        mass[i][j]=charr;
        else
        mass[i][j]=0;
        k++;
        }
    
    for (int i=0; i<razmer; i++){
        for (int j=0; j<razmer2; j++)
        cout << char(mass[i][j]);
        cout << endl;
        }
    
    cout << "\n\n\n";
    system("PAUSE");
    return 0;
}
Миниатюры
помогите обработать массив.  
KeyGen
 Аватар для KeyGen
333 / 289 / 6
Регистрация: 07.08.2011
Сообщений: 789
Записей в блоге: 1
09.10.2011, 00:47     помогите обработать массив. #9
Но учти что после 9 будут выводиться знаки)
Если нужно не массив модифицировать, тогда только выводом можно его разделить. Понту от этого только, массив же останется заполненный до краев одной цифрой...
Миниатюры
помогите обработать массив.   помогите обработать массив.  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.10.2011, 01:00     помогите обработать массив.
Еще ссылки по теме:

Есть функция, в прототипе которой несколько параметров перечислены через запятую. Можно ли в теле функции обработать их, как массив? C++
C++ Используя динамический массив, обработать элементы
ПОМОГИТЕ!С++ ! одномерный массив! C++

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

Или воспользуйтесь поиском по форуму:
nail25
0 / 0 / 0
Регистрация: 08.10.2011
Сообщений: 11
09.10.2011, 01:00  [ТС]     помогите обработать массив. #10
KeyGen
спасибо! именно то что нужно!!)спасибо огромное
Yandex
Объявления
09.10.2011, 01:00     помогите обработать массив.
Ответ Создать тему
Опции темы

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