С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Одномерный массив с проверкой элементов на повтор - C++

12.09.2010, 22:59. Просмотров 1247. Ответов 2
Метки нет (Все метки)

Доброе время суток, сегодня первый день изучаю язык Си...дали задание:
Сгенерировать одномерный массив (размер 5 или 6, который задаёт пользователь) так, чтобы цифры в нем не повторялись.
вот, что у меня вышло:

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
36
37
38
39
40
41
42
43
#include <iostream.h>
#include <stdlib.h>
main()
{
   int n;
while ((n!=1) && (n!=2))
{
system("cls");    
cout <<"\n Please choose massive length: \n";
cout <<" 1) 5 \n";
cout <<" 2) 6 \n";
cout <<"\n Massive length: ";
cin >>n;     
}
 
switch (n)
{
   case 1:
      n=5;
      cout << "\n Choosen massive length is "<<n << endl;
      cout<<"\n";
    break;
   case 2:
      n=6;
      cout << "\n Choosen massive length is "<<n << endl;
      cout<<"\n";
    break;
}
 
int Mas[n];
int i;
 
for(i=0; i<n; i++)
{
cout<<" Mas["<<i<<"] = ";
cin>>Mas[i];
}         
cout<<"\n";
 
getchar();
getchar();
return 0;
}
Помогите пожалуйста с алгоритмом проверки на повторение. Т.е как я понял, ты вводишь элемент, а он прогоняет по всему массиву на повтор, если элемент с таким значением существует, то вылетает уведомление и предлагает ввести значение заново.
Заранее спасибо...надеюсь понятно объяснил задание...

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

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

Ввести одномерный массив из n элементов. Определить число различных элементов в нем - C++
Возникла небольшая проблема. Нужно сделать элементарное задание, но чтобы было несколько функций пользователя. Задание: Ввести одномерный...

Одномерный массив. Найти наименьшие среди элементов первого массива, которые не входят во второй массив. - C++
Задано два массива. Найти наименьшие среди элементов первого массива, которые не входят во второй массив. Ни как не могу придумать:cry:, ...

Задан одномерный массив, содержащий n элементов, определить сумму всех чётных элементов - C++
Задан одномерный массив, содержащий n элементов. определить, сколько раз в нём встречается максимальное значение. Задан одномерный...

Дан целочисленный одномерный массив А, состоящий из 14 элементов. вычислить и напечатать сумму парши элементов - C++
дано целочисленный одномерный массив А, состоящий из 14 элементов. вычислить и напечатать сумму парши элементов, на нечетных местах и их...

Дано одномерный массив Х, состоящий из 15 элементов. Определить пивсуму наибольшего и наименьшего элементов массива - C++
Дано одномерный массив Х, состоящий из 15 элементов. Определить пивсуму наибольшего и наименьшего элементов массива

2
fasked
Эксперт С++
4951 / 2531 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
12.09.2010, 23:18 #2
На Си!
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
36
37
38
39
40
41
42
43
44
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    int i = 0;
    int j = 0;
    
    int *arr = NULL;
    int size = 0;
    
    do {
        printf("input size: ");
        scanf("%d", &size);
    }
    while(size != 5 && size != 6);
    
    if((arr = (int*)malloc(sizeof(int)*size)) == NULL) {
        fprintf(stderr, "allocated memory error\n");
        return -1;
    }
    
    for(i = 0; i < size; ++i) {
        printf("enter value to [%d] element: ", i);
        scanf("%d", &arr[i]);
        
        for(j = 0; j < i; ++j) {
            if(arr[i] == arr[j]) {
                printf("repeat of %d, try again\n", arr[i]);                
                
                --i;
                break;
            }
        }
    }
    
    for(i = 0; i < size; ++i)
        printf("%d ", arr[i]);
    printf("\n");
    
    free(arr);
    
    return 0;
}
1
Triggerself
0 / 0 / 0
Регистрация: 12.09.2010
Сообщений: 6
12.09.2010, 23:35  [ТС] #3
Спасибо, разобрался
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.09.2010, 23:35
Привет! Вот еще темы с ответами:

Дан двумерный массив. Сформировать одномерный массив из элементов заданного массива, расположенных под побочной диагональю. - C++
Дан двумерный массив размером n x n. Сформировать: Одномерный массив из элементов заданного массива, расположенных под побочной...

Скопировать двумерный массив в одномерный массив из 50 элементов - C++
Создать двумерный массив 10*5, заполнить его значениями ( i^2-j^2), где i и j итераторы двумерного массива. А затем скопировать двумерный...

Дан одномерный массив состоящий из N целочисленных элементов. Вычислить сумму положительных элементов массива кратных 3 - C++
если не сложно помогите 1)дана функция y=0.5+sin(5x), причем х изменяется от 0 до 2pi с шагом x=pi/6!(программа не выводит результата...

Дано одномерный массив Х, размером 15 элементов. Провести циклический сдвиг элементов в массиве вправо на 2 позиции - C++
Дано одномерный массив Х, размером 15 элементов. Провести циклический сдвиг элементов в массиве вправо на 2 позиции.


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

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

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