Заполните одномерный массив так, чтобы все его элементы были различны - C (СИ)
Формулировка задачи:
парни кто может помочь, а лучше написать программку???
вот задание "заполните одномерный массив так, чтобы все его элементы были различны. Размеры массива возьмите произвольно"
очень нужно!!! всем заранее спасибо!!!
вот так правильно???
#include <stdio.h> #include <conio.h> #include <stdlib.h> const N=15; int a[N], x, i, f; void main() { randomize(); do { f=0; a[i]=random(100); for(int j=1; j<=i-1; j++) { if(a[j]==a[i]) f=1; } if(f==0) i=i+1; }while (i<N); for (i=0; i<N; i++) printf ("%3d ", a[i]); getch(); }
Решение задачи: «Заполните одномерный массив так, чтобы все его элементы были различны»
textual
Листинг программы
int number=0; for(int i=0; i<max_size; i++){ srand(time(NULL)); number=rand%10; for (int j=0; j<max_size; j++){ if (Mas[j]!=number) Mas[i]=number; } }
Объяснение кода листинга программы
- Переменная
number
инициализируется значением 0. - Запускается цикл
for
для заполнения массиваMas
. - Внутри цикла
for
инициализируется переменнаяsrand
с помощью функцииtime(NULL)
. - Затем в переменной
number
используется оператор%
для получения остатка от деления на 10. - В случае, если в массиве
Mas
есть элемент с таким же значением, как уnumber
, то значениеnumber
не присваивается ни одному элементу массива. - Если такого элемента нет, то значение
number
присваивается элементу массива с индексомi
. - Цикл
for
продолжается до тех пор, пока не будет выполнено условиеi<max_size
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д