Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 09.12.2018
Сообщений: 6
1

Функция заполняющая массив случайными числами

09.12.2018, 17:29. Просмотров 1258. Ответов 9
Метки нет (Все метки)

Задача
6. Создайте функцию, заполняющую массив случайными числами. Массив для заполнения передавайте в функцию как параметр-переменную. Главная программа должна состоять из вызова этих функций.
Всю голову сломал
Функция заполняющая массив случайными числами


C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 #include <stdio.h>
#include <conio.h>
#include <locale.h>
#include <stdlib.h>
int func (int *m, int n) {
    int i; 
    printf ("Введите длину массива\n");
    scanf ("%d", &n);
    for (i=0; i<n; i++)
    m[i] = rand()%100;
    printf( "%d\n", m[i]);
};
int main() {
    setlocale (LC_ALL, "Rus");
    int n, m;
    func (m,n);
getch();
return 0;    
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.12.2018, 17:29
Ответы с готовыми решениями:

Функция заполняющая матрицу случайными числами
Дорогие форумчане,помогите пожалуйста приделать функцию рандомного ввода чисел, ручной ввод есть, а...

Функция, заполняющая массив псевдослучайными числами в заданном пользователем диапазоне без повторений
Тема: Функции2. 4. Реализовать функцию RandWithoutRepetition, с помощью которой можно было бы...

Функция заполняющая массив и функция вывода массива
Напишите две функции. Первая функция заполняет массив, вторая функция выводит массив на экран

Заполнить массив случайными числами и отобрать в другой массив все простые числа
заполнить массив случайными числами в интервале и отобрать в другой массив все простые числа....

9
Модератор
Эксперт С++
9913 / 8436 / 5129
Регистрация: 18.12.2011
Сообщений: 22,581
09.12.2018, 17:35 2
sergun55955, А чем Вас не устроил предлагаемый образец:
Цитата Сообщение от zss Посмотреть сообщение
void RandomFill(int* M,int n); // заполнение массива случайными числами
см.
Образцы (шаблоны) программ для типовых задач
0
0 / 0 / 0
Регистрация: 09.12.2018
Сообщений: 6
09.12.2018, 17:46  [ТС] 3
Не смог там нормально разобраться, поэтому хотелось бы, чтобы вы просто указали, где ошибка и что нужно для испраления
0
0 / 0 / 0
Регистрация: 02.11.2018
Сообщений: 17
09.12.2018, 17:51 4
Ваш код не работал по причине не инициализированной переменной, которая кстати должна быть указателем и пересылаться в функцию им же, количество необходимо отправлять по ссылке, а в добавок вы не выделяли память для массива.

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
#include <stdio.h>
#include <conio.h>
#include <locale.h>
#include <stdlib.h>
 
void fun(int *m, int &n) {
    int i;
    printf("Введите длину массива\n");
    scanf("%d", &n);
    m = new int [n]; // Выделение памяти
    for (i = 0; i < n; i++)
    {
        m[i] = rand() % 100;
        printf("%d\n", m[i]);
    }
};
 
int main() {
    setlocale(LC_ALL, "Rus");
    int n;
    int *mas = nullptr; // Инициализация параметра, иначе будет ругаться и ркешиться
    fun(mas, n);
    getch();
    return 0;
}
0
4681 / 3186 / 1928
Регистрация: 18.12.2017
Сообщений: 10,165
09.12.2018, 17:52 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 <ctime>
using namespace std;
 
void Set (double*x, int N)
{
    for (int i = 0; i < N; i++)      
      x[i]=0.1*(rand()%99 + 1);
}      
 
int main()
{
    srand((int)time(0));
    int n;
    cout <<"n="; cin >>n;
 
    double*a = new double[n];
 
    Set(a,n);
    
    for (int i = 0; i < n; i++)      
      cout <<a[i]<<" ";      
    cout <<endl;
    
    delete[]a;
system("pause");
return 0;
}
если нужна программа на С есть раздел С: https://www.cyberforum.ru/c-beginners/
0
0 / 0 / 0
Регистрация: 09.12.2018
Сообщений: 6
09.12.2018, 17:59  [ТС] 6
Проверил, этот код не работает

Добавлено через 24 секунды
Программа нужна на С
0
0 / 0 / 0
Регистрация: 02.11.2018
Сообщений: 17
09.12.2018, 18:08 7
Цитата Сообщение от sergun55955 Посмотреть сообщение
Проверил, этот код не работает
Добавлено через 24 секунды
Программа нужна на С
Теперь она на C.

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
#include <stdio.h>
#include <conio.h>
#include <locale.h>
#include <stdlib.h>
 
void fun(int *m, int &n) {
    int i;
    printf("Введите длину массива\n");
    scanf("%d", &n);
    m = (int*)malloc(sizeof(int)*n); // Выделение памяти
    for (i = 0; i < n; i++)
    {
        m[i] = rand() % 100;
        printf("%d\n", m[i]);
    }
};
 
int main() {
    setlocale(LC_ALL, "Rus");
    int n;
    int *mas = nullptr; // Инициализация параметра, иначе будет ругаться и крешиться
    fun(mas, n);
    getch();
    return 0;
}
0
0 / 0 / 0
Регистрация: 09.12.2018
Сообщений: 6
09.12.2018, 18:17  [ТС] 8
не робит nullptr не нравится и &n в начале функции
0
0 / 0 / 0
Регистрация: 02.11.2018
Сообщений: 17
09.12.2018, 18:22 9
Цитата Сообщение от sergun55955 Посмотреть сообщение
не робит nullptr не нравится и &n в начале функции
Попробуй так, а лучше скрин с ошибками кинь

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int fun(int *m) {
    int i;
    int n;
    printf("Введите длину массива\n");
    scanf("%d", &n);
    m = (int*)malloc(sizeof(int)*n); // Выделение памяти
    for (i = 0; i < n; i++)
    {
        m[i] = rand() % 100;
        printf("%d\n", m[i]);
    }
    return n;
};
 
int main() {
    setlocale(LC_ALL, "Rus");
    int n;
    int *mas = 0; // Инициализация параметра, иначе будет ругаться и ркешиться
    n = fun(mas);
    getch();
    return 0;
}
0
0 / 0 / 0
Регистрация: 09.12.2018
Сообщений: 6
09.12.2018, 18:28  [ТС] 10
дай Бог здоровья, заработало
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.12.2018, 18:28

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Заполнить массив случайными числами
Помогите, пожалуйста, как заполнить массив случайными числами в диапазоне от -20 до 20.

Заполнить массив случайными числами
Задайте с помощью генератора случайных чисел массив в диапазоне от 1 до 100. Целое число

Заполнить массив случайными числами от -50 до 50
Нужно заполнить массив числами от -50 до 50 .Написал такой код #include &quot;stdafx.h&quot;...

Заполнить массив случайными числами
Задается количество элементов массива не более 100. Программа должна запросить столько чисел у...


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

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

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