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

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

Войти
Регистрация
Восстановить пароль
 
Feytan
1 / 1 / 0
Регистрация: 09.12.2010
Сообщений: 93
#1

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

11.05.2011, 13:30. Просмотров 722. Ответов 13
Метки нет (Все метки)

Помогите пожалуйста с прогой.
Задание: Дан одномерный массив длиной N. Массив заполняется датчиком случайных чисел (лучше использовать любое распределение, кроме нормального).

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

Матрица и одномерный массив (Составить одномерный массив, содержащий количество буквенных символов в каждом из ее столбцов, подсчет символов) - C++
Помогите решить задачку: Дана матрица 5х7, элементами которой являются значения символьного типа. Составить одномерный массив, содержащий...

Массив: преобразорвать двумерный массив в одномерный и отсортировать его методом пузырька - C++
всем привет. народ помогите с прогой, конкретно с функцией sort (65 строка), она должна двухмерный массив перевести построчно в одномерный...

Массив: найти номера столбцов с положительными элементами и записать их в одномерный массив - C++
ввести двумерный массив I . найти номера столбцов с положительными элементами и записать их в одномерный массив, отобразить его на экране. ...

Массив: Все элементы массива, кратные трем, записать в одномерный массив. - C++
Дан двумерный массив размером n x n? заполненный целыми числами. Все его элементы кратные трем, записать в одномерный массив.

Переписать произвольный одномерный массив в другой массив в обратном порядке - C++
Помогите написать прогу, вот задание. Переписать произвольный одномерный массив в другой массив в обратном порядке.

Целочисленный массив с размером 4*4 .Написать прогу , формирующую одномерный массив - C++
Целочисленный массив с размером 4*4 .Написать прогу , формирующую одномерный массив. #include <iostream> using namespace std; ...

13
mimicria
return (true);
1958 / 1095 / 91
Регистрация: 19.04.2011
Сообщений: 2,345
11.05.2011, 13:37 #2
Borland:
-randomize();
-rand();
VC:
-srand();
-rand();
Почитать про эти функции можно в MSDN, например
0
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.
0
mimicria
return (true);
1958 / 1095 / 91
Регистрация: 19.04.2011
Сообщений: 2,345
11.05.2011, 14:00 #4
Если вдруг захочется вникнуть в алгоритм получения псевдослучайных чисел
0
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;
}
Я вот попробовал по учебнику сделать, но что-то вроде не так идет, программа запускается и тут же закрывается
0
mimicria
return (true);
1958 / 1095 / 91
Регистрация: 19.04.2011
Сообщений: 2,345
11.05.2011, 14:44 #6
C++
1
int i, N, a[N];
так делать нельзя, вам нужен динамический массив
0
Feytan
1 / 1 / 0
Регистрация: 09.12.2010
Сообщений: 93
11.05.2011, 15:01  [ТС] #7
mimicria,
а как тогда можно?
0
mimicria
return (true);
1958 / 1095 / 91
Регистрация: 19.04.2011
Сообщений: 2,345
11.05.2011, 15:19 #8
C++
1
2
int i, N;
int *a = new int[N];
А в самом конце
C++
1
delete[] a;
0
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;
}
Прога стала запускаться, спс.

Но вот такой вопрос, у меня между цифрами нет свободного пространства, из-за этого непоймешь какие числа, являются случайными и сколько их, в чем проблема?
0
Миниатюры
Одномерный массив  
mansp
18 / 18 / 0
Регистрация: 07.11.2010
Сообщений: 136
11.05.2011, 17:08 #10
C++
1
 cout<<a[N]<<" ";
измени в цикле
0
mimicria
return (true);
1958 / 1095 / 91
Регистрация: 19.04.2011
Сообщений: 2,345
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]<<"  ";
        }
0
Feytan
1 / 1 / 0
Регистрация: 09.12.2010
Сообщений: 93
11.05.2011, 17:16  [ТС] #12
Заранее извеняюсь за глупые вопросы, но это для того чтобы понимать и знать, так вот какой вопрос:

Цитата Сообщение от mimicria Посмотреть сообщение
Код C++1 int i, N, a[N];
так делать нельзя, вам нужен динамический массив
а как понять что нужен динамический массив? есть и другие массивы? и в чем же между ними разница?
0
mimicria
return (true);
1958 / 1095 / 91
Регистрация: 19.04.2011
Сообщений: 2,345
11.05.2011, 18:12 #13
Цитата Сообщение от Feytan Посмотреть сообщение
Заранее извеняюсь за глупые вопросы, но это для того чтобы понимать и знать, так вот какой вопрос:
а как понять что нужен динамический массив? есть и другие массивы? и в чем же между ними разница?
Статический - размер заранее известен
C++
1
int a[10];
Динамический - размер задаётся в процессе работы
C++
1
int N=10; int *a = new int [N];
0
Feytan
1 / 1 / 0
Регистрация: 09.12.2010
Сообщений: 93
11.05.2011, 19:12  [ТС] #14
mimicria,
Спасибо за науку.

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

То суть задачи немного меняется, только в том, что сам массив после того как мы указали количество членов в нем и, что массив задается случайными числами, должен быть отсортирован и выведен на экран, после этого мы вводим случайное число, которое мы тоже вводим с клавиатуры. Но при этом как я понимаю сам массив должен остаться отсортированным, т.е. это нужно просто как-то подвинуть часть массива, с этим непонятки полные, но для начала: как нужно отсортировать массив и какие библиотеки могут подключаться для этого, а какие нет?
0
11.05.2011, 19:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.05.2011, 19:12
Привет! Вот еще темы с ответами:

Создать одномерный массив, заполнить его случайными значениями, отсортировать массив по убыванию - C++
создать одномерный массив, заполнить его случайными значениями, отсортировать массив по убыванию. получилось вот что: #include...

Дан двумерный массив 3х3. Получить одномерный массив из из отрицательных элементов матрицы. - C++
Пожалуйста, помогите решить простым методом задачку, просто не могу понять смысл ее выполнения. Дан двумерный массив 3х3.Получить...

Организовать одномерный массив с вещественными числами и найти первый и последний отрицательный элемент массив - C++
Организовать одномерный массив с вещественными числами и найти первый и последний отрицательный элемент массива;

Сформировать одномерный массив, удалить первый элемент с заданным значением, сдвинуть массив циклически - C++
1)сформировать одномерный массив целых чисел 2)удалить первый элемент с заданным значением 3)сдвинуть массив циклически на К элементов...


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

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

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