Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.96/25: Рейтинг темы: голосов - 25, средняя оценка - 4.96
6 / 6 / 2
Регистрация: 28.04.2009
Сообщений: 106
1

Генерация массива

31.10.2012, 14:55. Показов 4694. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Что то не создает массив.
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
// lab1.cpp: определяет точку входа для консольного приложения.и еще вопрос правильно ли я прописал чтобы рандомно создавались только 5тизначные числы
//
 
#include "stdafx.h"
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
 
int _tmain(int argc, _TCHAR* argv[])
{
    const int n= 47;
    const int t=71;
    int mas1[2][n];
    int mas2[2][t];
    srand(static_cast<unsigned>(time(NULL)));
    for(int i=0; i<1; ++i)
        for(int j=0; j<n; ++j)
            mas1[i][j] = rand()%90001+10000;
    for(int i=0; i<1; ++i)
        for(int j=0; j<n; ++j)
            printf("Исходный массив %i", mas1[i][j]);
 
 
    return 0;
и плюс еще ругается когда прописываешь в выводе массива вместе printf cout. Пишет что идентификатор cout не определен
C++
1
2
3
for(int i=0; i<1; ++i)
        for(int j=0; j<n; ++j)
            cout<<mas1[i][j];
Добавлено через 5 минут
и еще вопрос правильно ли я прописал то что бы создавались только 5ти значные числы
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.10.2012, 14:55
Ответы с готовыми решениями:

Генерация массива случайных чисел равномерно распределенных в заданном интервале и упорядочение массива
Помогите создать ПО (на любом языке программирования) позволяющее, генерирующее массив заданной...

Генерация элементов массива с заданной размерностью. Сортировку массива каждым из 6 способов. Подсчет времени
Решил выложить свои лабораторные работы 1-10 за первый курс, первого семестра...

Генерация массива
Помогите, пожалуйста. :cry: Например, есть число 01х01у0. Возьмем для пример такое - 01110110 ...

Генерация рандомного массива
Доброго времени суток, Задача такая, сделать массив из рандомных чисел. КОТОРЫЕ НЕ ПОВТОРЯЮТСЯ....

5
Мой лучший друг-отладчик!
167 / 167 / 30
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
31.10.2012, 15:22 2
ругается на cout, потому что не указано пространство имен.пишите std::cout

Можно вопрос - что это за строка такая длинная - srand(static_cast<unsigned>(time(NULL)));
В чем различия со строкой srand(time(0));?
получение 5-значных псевдослучайных чисел правильно написали.
1
6 / 6 / 2
Регистрация: 28.04.2009
Сообщений: 106
31.10.2012, 15:31  [ТС] 3
вот что я нашел по этому
2) иногда в вызове srand пишут srand(static_cast<unsigned>(time(NU LL))); для чего нужен static_cast<unsigned>?

Вообще оно ни на что не влияет. Преобразование типов выполняются автоматически. Просто функция srand объявлена как

void srand(unsigned int n);
Просто до того как было без этого у меня выходило предупреждение как вставил это предупреждение пропало

Добавлено через 3 минуты
проблема с cout пропала. как сделать так чтобы после запуска не закрывалось окно?

Добавлено через 1 минуту
сам решил поставив в конце getch();
0
Мой лучший друг-отладчик!
167 / 167 / 30
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
31.10.2012, 15:36 4
чтобы прога не зкрывалась добавьте в самый конец программы перед return 0 одну из следующих строк:
system("pause"); - хороший вариант
getch(); - тоже неплохой вариант
std::cin.get() - изза некоторых особенностей эту функцию нужно иногда вызывать 2 раза
0
6 / 6 / 2
Регистрация: 28.04.2009
Сообщений: 106
31.10.2012, 16:12  [ТС] 5
спасибо! еще одна проблема, надо проверить чтобы сгенерированные элементы массива был униникальными. и если возникало повторение чтобы функция рандом вызывалось еще раз и снова проверялось условие. и так пока все элементы не будут уникальными

Добавлено через 28 минут
Вот что то получилось правильно ли?
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
#include "stdafx.h"
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
 
int _tmain(int argc, _TCHAR* argv[])
{
    const int n= 47;
    const int t=71;
    int mas1[2][n];
    int mas2[2][t];
    int c=0;
    srand(static_cast<unsigned>(time(NULL)));
    mas1[0][0] = rand()%90001+10000;
    for(int i=0; i<1; ++i)
        for(int j=1; j<n; ++j)
        {
            mas1[i][j] = rand()%90001+10000;
            for(int k=0; k<i; ++k)
                for(int m=0; m<j; ++m)
                    if(mas1[i][j]==mas1[i-k][j-m])
                    {
                        mas1[i][j] = rand()%90001+10000;
                        c++;
                    }
        }
        if (c>0) std::cout << "try again\n";
        std::cout<<"Ishodnii massiv"<<'\n';
    for(int i=0; i<1; ++i)
        for(int j=0; j<n; ++j)
            std::cout<<i<<","<<j<<"   "<<mas1[i][j]<<'\n';
    _getch();
    return 0;
}
0
6 / 6 / 2
Регистрация: 28.04.2009
Сообщений: 106
01.11.2012, 17:31  [ТС] 6
В общем сделал задание. Если кому надо то вот полный текст задания
18. Сгенерировать 47 пятизначных неповторяющихся чисел (элементов).
Вывести их на экран.
Построить хеш-таблицу, используя:
хеш-функцию – сумма двух первых и двух последних цифр элемента,
метод устранения коллизий – открытая адресация с линейным опробыванием.
и сам код программы
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
54
55
56
#include "stdafx.h"
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
 
int _tmain(int argc, _TCHAR* argv[])
{
    const int n= 47;
    const int t=71;
    int mas1[n];
    int mas2[t];
    int c;
    for(int i=0;i<t;++i)
        mas2[i]=0;
    srand(static_cast<unsigned>(time(NULL)));
    mas1[0] = rand()%90001+10000;
    for(int i=1; i<n; ++i)
        {
            mas1[i] = rand()%90001+10000;
            for(int j=1; j<=i; ++j)
                topr:if(mas1[i]==mas1[i-j])
                {
                    mas1[i] = rand()%90001+10000;
                    goto topr;
                }
        }
        std::cout<<"Ishodnii massiv"<<'\n';
    for(int i=0; i<n; ++i)
            std::cout<<i<<"   "<<mas1[i]<<'\n';
    int j;
    int k=0;
    for(int i=0; i<n;++i)
    {
        c=0;
        j= ((mas1[i]/1000)+(mas1[i]%100))%t;
        int j0=j;
        top:if(mas2[j]==0)
            {mas2[j]=mas1[i];}
        else
        {
            c++;
            k++;
            j=(j0+c)%t;
            goto top;
            }
    }
    std::cout<<"Hesh tablica"<<'\n';
    for(int i=0; i<t; ++i)
        std::cout<<i<<"   "<<mas2[i]<<'\n';
    std::cout<<"Kol-vo kolizii: "<<k<<'\n';
    double m=(n+k)*1.0/n*1.0;
    std::cout<<"Otnoshenie kolizii: "<<m<<'\n';
    _getch();
    return 0;
}
0
01.11.2012, 17:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.11.2012, 17:31
Помогаю со студенческими работами здесь

Генерация рандомного массива
Привет, не могу понять как это делается:( Имеем последовательность (рандомных) целых чисел, среди...

Генерация строк из случайных символов массива
Запросить у пользователя количество строк, которые нужно сгенерировать, минимальное и максимальное...

Генерация массива случайными вещественными числами
Дан одномерный вещественный массив из N элементов (N – нечетное), заданных случайными числами на...

Генерация двумерного массива с определённым условием
Здравствуйте, обращаюсь за помощью тут впервые) Начал изучение языка С++ и друг подкинул такую...

Генерация массива всех перестановок из n элементов.
Нашел по этой теме здесь на форумах такой код: #include &lt;iostream.h&gt; int X; int N; void...

Генерация массива целых случайных чисел, которые не повторяются
Нужно получить числа от 0 до 15 в рандомном порядке, делаю так: BOOL...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru