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

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

Войти
Регистрация
Восстановить пароль
 
 
proger2030
11 / 11 / 2
Регистрация: 15.11.2010
Сообщений: 256
#1

Как создать 100 массивов разными значениями ? - C++

25.11.2011, 23:10. Просмотров 976. Ответов 18
Метки нет (Все метки)

вот фрагмент кода! Подскажите плс
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    //while(KolMas < MaxMas)
    //{
                
        for(int i = 0; i < straka; i++)
        {
            for(int j = 0; j < stolbes; j++)
                {
               MasA[i][j] =  rand()%100 + 1;
            }
        
        }
        //KolMas++;
        
    //}
Это только для одного массива а мне их надо 100 ну вообще много. Я могу цикл запустит но у них получается значения одинаковы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.11.2011, 23:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как создать 100 массивов разными значениями ? (C++):

вычислить значения одной и той-же функции с разными значениями, в несколько потоков - C++
Есть задача, вычислить значения одной и той-же функции с разными значениями, которые известны изначально, в несколько потоков и вывести...

Как автоматически создать несколько переменных с разными именами? - C++
Товарищи программисты, есть строка с данными и в ней присутствуют точки, помогите пожалуйста написать цикл Который бы присваивал каждой...

Как создать 2-ое дерево со значениями 1-го? Не могу разобраться с указателями - C++
Вот код(недоработанный): #include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; using namespace std; struct sNode { int...

Как создать динамический трехмерный массив и заполнить его случайными значениями? - C++
Я больше по Java, но сейчас надо сделать пару задачек по плюсам. Одна из них звучит как-то так: Во-первых, меня смущает тот...

Заполнить массив случайными значениями, лежащими в диапазоне от 50 до 100 - C++
Массив предназначен для хранения значений весов двадцати человек. С помощью датчика случайных чисел заполните массив целыми значениями,...

Заполнить булевский массив goroda[100] значениями false - C++
Не соображу как это сделать !

18
fasked
Эксперт С++
4951 / 2531 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
25.11.2011, 23:12 #2
proger2030, трехмерный массив не пробовали? Говорят, помогает.
0
proger2030
11 / 11 / 2
Регистрация: 15.11.2010
Сообщений: 256
25.11.2011, 23:19  [ТС] #3
Цитата Сообщение от fasked Посмотреть сообщение
proger2030, трехмерный массив не пробовали? Говорят, помогает.
Да ты подожди со своим трехмерным массивом. Дойдет дело до этого посмотрим
0
silent_1991
Эксперт С++
4989 / 3046 / 149
Регистрация: 11.11.2009
Сообщений: 7,028
Завершенные тесты: 1
25.11.2011, 23:27 #4
Цитата Сообщение от proger2030 Посмотреть сообщение
Дойдет дело до этого посмотрим
Как посмотрите - возвращайтесь, возобновим разговор.
0
fasked
25.11.2011, 23:29
  #5

Не по теме:

Цитата Сообщение от proger2030 Посмотреть сообщение
Да ты подожди со своим трехмерным массивом. Дойдет дело до этого посмотрим
Хам

0
proger2030
11 / 11 / 2
Регистрация: 15.11.2010
Сообщений: 256
25.11.2011, 23:37  [ТС] #6
Цитата Сообщение от fasked Посмотреть сообщение

Не по теме:


Хам

Господа реально помогите. я не прошу вас код написать сего лишь подкинь идею хотя бы.
0
silent_1991
Эксперт С++
4989 / 3046 / 149
Регистрация: 11.11.2009
Сообщений: 7,028
Завершенные тесты: 1
25.11.2011, 23:40 #7
proger2030, вы читаете, что вам пишут? Используйте трёхмерные массивы (т.е. массивы двухмерных массивов, с логической точки зрения), в самом верхнем цикле перебирая двухмерные массивы, а во вложенных заполняя каждый из них.
0
co6ak
Кошковед
409 / 502 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
25.11.2011, 23:40 #8
C++
1
2
3
4
5
6
7
#include <time.h>
 
int main()
{
srand ( time ( NULL ) );
...
}
0
Bers
Заблокирован
25.11.2011, 23:57 #9
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
//структура "матрица"
//Представляет собой обёртку над двухмерным массивом
template<typename TypeT, int _SizeX, int _sizeY>
struct Array2D
{
    Array2D()
    {
        for(int y = 0; y < _sizeY; ++y)
        {
            for(int x = 0; x < _SizeX; ++x)
            {
               Arr[x][y] =  rand()%100 + 1;
            }
        }
    }
    TypeT Arr[_SizeX][_sizeY];
};
 
//создаём 100 штук таких матриц
//каждая матрица будит проинициализирована
//случайными числами
Array2D<int,100,100> SuperArray[100];
 
 
int main()
{
   return 0;
};
Добавлено через 5 минут
Цитата Сообщение от silent_1991 Посмотреть сообщение
proger2030, вы читаете, что вам пишут? Используйте трёхмерные массивы (т.е. массивы двухмерных массивов, с логической точки зрения), в самом верхнем цикле перебирая двухмерные массивы, а во вложенных заполняя каждый из них.
Настоятельно не рекомендую использовать трехмерные массивы.
Более того, крайне не рекомендую использовать двухмерные массивы.

Одномерный массив намного проще для понимания, и гибче в управлении.
Его легче трансформировать во всевозможные состояния.

Если так сильно понадобились многомерные массивы - всегда можно инкапсулировать сложность абстракции внутри нового класса.

Массивы массивов намного гибче и проще в плане всевозможных трансформаций/сортировок и тп.
Не придётся голову ломать над глючной адресной арифметикой многомерных массивов.

Всегда нужно стремится понижать сложность архитектуры. Для этого и существуют классы.
1
silent_1991
Эксперт С++
4989 / 3046 / 149
Регистрация: 11.11.2009
Сообщений: 7,028
Завершенные тесты: 1
26.11.2011, 00:07 #10
Bers, как мне кажется, ТСу рановато задумываться о классах. Плюс к тому, кто-то и на Си пишет...
0
Bers
Заблокирован
26.11.2011, 00:10 #11
Цитата Сообщение от silent_1991 Посмотреть сообщение
Bers, как мне кажется, ТСу рановато задумываться о классах. Плюс к тому, кто-то и на Си пишет...
Кто пишет на СИ, тот пускай не публикует приплюснутый код.

На с++ если задумался о многомерных массивах, значит пора задуматься и о классах тоже.
0
silent_1991
26.11.2011, 00:10
  #12

Не по теме:

Кстати, вы всё это сказали в контексте "не юзайте сырые массивы, юзайте векторы векторов"? Если да, отлично, я только за. Если нет - мне есть что возразить.

0
proger2030
11 / 11 / 2
Регистрация: 15.11.2010
Сообщений: 256
26.11.2011, 00:11  [ТС] #13
я еще не полностью знаком с ООП. Вообще я начинающий. А как решить тогда эту задачу без использование 2D массивов ?
Дано 100 матриц и 100 векторов, умножение каждой матрицы на каждый вектор.
это просто если у тебя 1 матрица 1 вектор)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
// Умнажаем матрицу на вектор
 
     for(int j = 0 ; j < straka; j++)
     {
          Solution[j] = 0;
 
          for(int i = 0; i < stolbes; i++)
          Solution[j] += MasA[j][i]*VectorB[i];
     }
        
     //Вывод решения
     for(int i = 0; i < straka; i++)
     std::cout << i << ' ' << Solution[i] << std::endl;
0
silent_1991
Эксперт С++
4989 / 3046 / 149
Регистрация: 11.11.2009
Сообщений: 7,028
Завершенные тесты: 1
26.11.2011, 00:12 #14

Не по теме:

Цитата Сообщение от Bers Посмотреть сообщение
Кто пишет на СИ, тот пускай не публикует приплюснутый код.
Честное слово, не вижу в первом посте ни одной причины считать код плюсовым. Теги не в счёт (тут плюсовый код и в шарповский тег оформляли, и в голый code).



Добавлено через 33 секунды

Не по теме:

Теперь вижу причину

1
Bers
Заблокирован
26.11.2011, 00:19 #15
Цитата Сообщение от silent_1991 Посмотреть сообщение
Кстати, вы всё это сказали в контексте "не юзайте сырые массивы, юзайте векторы векторов"? Если да, отлично, я только за. Если нет - мне есть что возразить.
Юзать вектора векторов, или стековые вектора стековых векторов. Это не суть.
Цитата Сообщение от silent_1991 Посмотреть сообщение
Честное слово, не вижу в первом посте ни одной причины считать код плюсовым. Теги не в счёт (тут плюсовый код и в шарповский тег оформляли, и в голы code).
Я на тегги как раз таки и смотрю.
0
26.11.2011, 00:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.11.2011, 00:19
Привет! Вот еще темы с ответами:

Как создать n массивов? - C++
как создать определенное количество однотипных двумерных массивов, их количество зависит от переменной. Величина переменной определяется на...

Как создать массив массивов - C++
Привет всем!!!! У меня вопрос такой: можно ли в Си++ задать массив, например, 3на5, в котором элементами будут также массивы 5на5? и если...

Заменить значения всех элементов побочной диагонали матрицы значениями, равными 100 - C++
задана матрица целых чисел . Нужно заменить значения всех эллементов побочной диагонали матрицы значениямиями , равными 100:stink:

Создать массив структур без использования массивов и нотации массивов - C++
Доброго времени суток! Есть задание, в котором нужно создать массив структур, имея следующую структуру: struct name { string...


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

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

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