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

Одномерный массив - C++

Восстановить пароль Регистрация
 
Feytan
1 / 1 / 0
Регистрация: 09.12.2010
Сообщений: 93
11.05.2011, 13:30     Одномерный массив #1
Помогите пожалуйста с прогой.
Задание: Дан одномерный массив длиной N. Массив заполняется датчиком случайных чисел (лучше использовать любое распределение, кроме нормального).

Проблема в том, что мне непонятно, что это за датчик случайных чисел и как он будет влиять на код программы?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.05.2011, 13:30     Одномерный массив
Посмотрите здесь:

C++ Одномерный массив
одномерный массив C++
Одномерный массив C++
C++ Одномерный массив
C++ одномерный массив
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mimicria
return (true);
 Аватар для mimicria
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,344
11.05.2011, 13:37     Одномерный массив #2
Borland:
-randomize();
-rand();
VC:
-srand();
-rand();
Почитать про эти функции можно в MSDN, например
Nursik77
 Аватар для Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
11.05.2011, 13:55     Одномерный массив #3
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
void main()
{
int a[n];
int i;
randomize();//говорим что мы хотим ввести рандомные числа
printf("\nEnter the size of array:");
scanf("%i",&n);//вручную вводим размер массива
for(I=0;I<n;I++)
 { a[I]=random(100);// здесь заполняем наш массив числами от 0 до 100.
    printf(" %i",a[I]);
 }
getch();
}
Добавлено через 3 минуты
Проблема в том, что мне непонятно, что это за датчик случайных чисел и как он будет влиять на код программы?
Из приведенного примера видно, что "Датчик случайных чисел" каждый раз будет выдавать "рандомные", то есть каждый раз разные числа в диапазоне от 0 до 100.
mimicria
return (true);
 Аватар для mimicria
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,344
11.05.2011, 14:00     Одномерный массив #4
Если вдруг захочется вникнуть в алгоритм получения псевдослучайных чисел
Feytan
1 / 1 / 0
Регистрация: 09.12.2010
Сообщений: 93
11.05.2011, 14:40  [ТС]     Одномерный массив #5
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
#include <iostream>
#include<time.h>
using namespace std;
 
int main ()
{
        srand (time(NULL));
{
        int i, N, a[N];
        
        cout<<endl<<"Dlina massiva - N: "; //n - длина одномерного массива
        
        cin>>N; 
 
        cout<<"\n";
  
  
        for(i=0; i<N; i++)
        {
                        a[N]=rand()%20;
                        cout<<a[N];
        }
                cout<<"\n";
}
    system("pause");
    
        return 0;
}
Я вот попробовал по учебнику сделать, но что-то вроде не так идет, программа запускается и тут же закрывается
mimicria
return (true);
 Аватар для mimicria
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,344
11.05.2011, 14:44     Одномерный массив #6
C++
1
int i, N, a[N];
так делать нельзя, вам нужен динамический массив
Feytan
1 / 1 / 0
Регистрация: 09.12.2010
Сообщений: 93
11.05.2011, 15:01  [ТС]     Одномерный массив #7
mimicria,
а как тогда можно?
mimicria
return (true);
 Аватар для mimicria
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,344
11.05.2011, 15:19     Одномерный массив #8
C++
1
2
int i, N;
int *a = new int[N];
А в самом конце
C++
1
delete[] a;
Feytan
1 / 1 / 0
Регистрация: 09.12.2010
Сообщений: 93
11.05.2011, 17:05  [ТС]     Одномерный массив #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
29
30
31
32
33
#include <iostream>
#include<time.h>
using namespace std;
 
int main ()
{
        srand (time(NULL));
{
        int i, N;
        
        int *a = new int[N];
        
        cout<<endl<<"Dlina massiva - N: "; //N - длина одномерного массива
        
        cin>>N;
 
        cout<<"\n";
  
 
        for(i=0; i<N; i++)
        {
                        a[N]=rand()%20;
                        
                        cout<<a[N];
        }
                cout<<"\n";
                
        delete[] a;
}
    system("pause");
    
        return 0;
}
Прога стала запускаться, спс.

Но вот такой вопрос, у меня между цифрами нет свободного пространства, из-за этого непоймешь какие числа, являются случайными и сколько их, в чем проблема?
Миниатюры
Одномерный массив  
mansp
18 / 18 / 0
Регистрация: 07.11.2010
Сообщений: 136
11.05.2011, 17:08     Одномерный массив #10
C++
1
 cout<<a[N]<<" ";
измени в цикле
mimicria
return (true);
 Аватар для mimicria
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,344
11.05.2011, 17:09     Одномерный массив #11
C++
1
2
3
4
5
6
for(i=0; i<N; i++)
        {
                        a[N]=rand()%20;
                        
                        cout<<a[N]<<"  ";
        }
Feytan
1 / 1 / 0
Регистрация: 09.12.2010
Сообщений: 93
11.05.2011, 17:16  [ТС]     Одномерный массив #12
Заранее извеняюсь за глупые вопросы, но это для того чтобы понимать и знать, так вот какой вопрос:

Цитата Сообщение от mimicria Посмотреть сообщение
Код C++1 int i, N, a[N];
так делать нельзя, вам нужен динамический массив
а как понять что нужен динамический массив? есть и другие массивы? и в чем же между ними разница?
mimicria
return (true);
 Аватар для mimicria
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,344
11.05.2011, 18:12     Одномерный массив #13
Цитата Сообщение от Feytan Посмотреть сообщение
Заранее извеняюсь за глупые вопросы, но это для того чтобы понимать и знать, так вот какой вопрос:
а как понять что нужен динамический массив? есть и другие массивы? и в чем же между ними разница?
Статический - размер заранее известен
C++
1
int a[10];
Динамический - размер задаётся в процессе работы
C++
1
int N=10; int *a = new int [N];
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.05.2011, 19:12     Одномерный массив
Еще ссылки по теме:

C++ Одномерный массив
Одномерный массив. C++
C++ одномерный массив

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

Или воспользуйтесь поиском по форуму:
Feytan
1 / 1 / 0
Регистрация: 09.12.2010
Сообщений: 93
11.05.2011, 19:12  [ТС]     Одномерный массив #14
mimicria,
Спасибо за науку.

Вот еще несколько вопросов по задаче, если в этой вот самой задаче сказано, что: в отсортированный массив нужно вставить случайное число, чтобы он оствался отсортированным?

То суть задачи немного меняется, только в том, что сам массив после того как мы указали количество членов в нем и, что массив задается случайными числами, должен быть отсортирован и выведен на экран, после этого мы вводим случайное число, которое мы тоже вводим с клавиатуры. Но при этом как я понимаю сам массив должен остаться отсортированным, т.е. это нужно просто как-то подвинуть часть массива, с этим непонятки полные, но для начала: как нужно отсортировать массив и какие библиотеки могут подключаться для этого, а какие нет?
Yandex
Объявления
11.05.2011, 19:12     Одномерный массив
Ответ Создать тему
Опции темы

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