1 / 1 / 0
Регистрация: 29.10.2017
Сообщений: 32
1

Заполнить массив числами которые не повторяются (Готовое решение)

21.03.2018, 18:31. Показов 3204. Ответов 7
Метки нет (Все метки)

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
26
27
28
29
30
31
32
33
34
35
#include "stdafx.h"
#include <iostream>
#include <ctime>
using namespace std;
 
int main()
{
    srand(time(NULL));
    const int SIZE = 10;
    int arr[SIZE]{};
 
    for (int i = 0; i < SIZE; i++)  //заполнения массива
    {
        arr[i] = rand() % 20+1;
    }
 
 
    for (int j = 0; j < SIZE; j++) //проверка на повтор
    {
        for (int i = 0; i < SIZE; i++)
        {
            if(i==j) continue;
            if (arr[i] == arr[j]) 
            {
                arr[i] = rand() % 20;
            }
        }
    }
 
    for (int i = 0; i < SIZE; i++) //вывод массива
    {
        cout << arr[i] << " ";
    }
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.03.2018, 18:31
Ответы с готовыми решениями:

Создать и заполнить файл f1 числами. Переписать числа из файла f1 в f2, которые повторяются больше 1 раза
1. Дан символьный файл f. Группы символов, разделенные пробелами (одним или несколькими) и не...

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

Заполнить массив случайными числами и выделить в другой массив все числа,которые встречаются более одного раза
Помогите пожалуйста!Вот задание:заполнить массив случайными числами и выделить в другой массив все...

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

7
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
21.03.2018, 18:48 2
Цитата Сообщение от cyberNovichok Посмотреть сообщение
жду конструктивной критики=)
Критиковать ваш код можно со многих сторон, но для лучшего понимания вопроса советую вам ознакомиться
Генерация массива целых случайных чисел, которые не повторяются
Там тоже есть не очень удачные решения, но есть и нормальные!
1
1718 / 567 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
21.03.2018, 19:16 3
Цитата Сообщение от cyberNovichok Посмотреть сообщение
жду конструктивной критики
В плане алгоритма или использования стандарта языка?
0
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
21.03.2018, 19:34 4
Цитата Сообщение от мановар Посмотреть сообщение
В плане алгоритма или использования стандарта языка?
Я думаю, что ТС интересует больше алгоритм. И, имхо, это правильно. Конечно, используя stl или не дай Бог, boust, все это решается одним плевком.
Но мне кажется, новичку на первых порах полезно повертеть именно алгоритмы, пощупать их на зубок... Чтобы потом лучше понять, что, и главное - ЗАЧЕМ, дали ему ребята своим stl.
0
1 / 1 / 0
Регистрация: 29.10.2017
Сообщений: 32
21.03.2018, 19:39  [ТС] 5
Цитата Сообщение от мановар Посмотреть сообщение
В плане алгоритма или использования стандарта языка?
Имею в виду есть ли серьезные ошибки, возможно какие-то рекомендации?
0
7780 / 6550 / 2981
Регистрация: 14.04.2014
Сообщений: 28,612
21.03.2018, 19:43 6
Они и со второго раза могут повториться. И с третьего тоже. Если идти таким путём, то надо каждое новое число сравнивать с уже сохранёнными и повторять, пока не получишь несовпадающее.
0
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
21.03.2018, 20:46 7
Цитата Сообщение от nmcf Посмотреть сообщение
Если идти таким путём,
Таким путем идти не надо. Это гиблый путь.
Не стоит рассчитывать на случай. Он всегда оставляет вероятность бесконечного цикла. Правда, с каждым тактом это вероятность уменьшается. Но всегда остается не нулевой.
Поясняю. Один из 100000 пользователей вашего алгоритма сидит перед компом, а ваша генерация все никак не кончится? Кто виноват? Планеты, расположенные в данный момент? Невезучесть именно этого пользователя? Нет - виноваты вы! Потому что это вы придумали такой неустойчивый алгоритм.
Я не смотрел подробности, возможно там есть и более простые нестыковки. Но идею я уловил, и она безусловно порочна.

Добавлено через 7 минут
cyberNovichok, понимаете, задача не совсем тривиальна. Если оценивать тривиальность по 10-бальной шкале, то задача "Заполнить массив рандомными числами" - это 0 баллов. А вот "неповторяющимися" - уже 1.0 - 1.5

Добавлено через 3 минуты

Не по теме:

По этому поводу шутил Дональд Кнут. В старой его книжке задача о БТФ оценивалось в 10 баллов. Пошли годы, и новом издании рейтинг этой задачи стал 9.9...:)

1
1 / 1 / 0
Регистрация: 29.10.2017
Сообщений: 32
21.03.2018, 23:33  [ТС] 8
Понял ваши идеи и сделал выводы Спасибо!
0
21.03.2018, 23:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.03.2018, 23:33
Помогаю со студенческими работами здесь

Требуется заполнить массив числами, которые вводит пользователь, и вычислить их сумму
Требуется заполнить массив числами, которые вводит пользователь, и вычислить их сумму. Если ...

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

Заполнить двумерный массив числами кратными 3. Найти сумму элементов которые кратны 9
Заполните двовымерный масив с клавиатуры только числами кратными трем, предвидить защиту елементов...

Замена элементов двумерного массива, которые повторяются с заданными числами
Данные целые числа a1,...,a10 и квадратная матрица n*n.Необходимо заменить нулями в матрице те...


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

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

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