Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Евгения Е
0 / 0 / 1
Регистрация: 20.05.2014
Сообщений: 11
#1

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

03.06.2014, 20:04. Просмотров 313. Ответов 7
Метки нет (Все метки)

Вообщем, в программировании я не сильна.
Поэтому обращаюсь за помощью.
У меня задача:
Дан вещественный массив A[N], в котором не повторяются значение элементов.
Как мне сделать так, что если у меня количество мною введённых элементов превышает указанное, программа автоматически писала ошибку?
То есть например, мне выводит программа ""Введите количество элементов N:" я ввожу 4
и когда я пишу больше 4х элементов, программа работает дальше, когда должна выводить ошибку?
Я знаю только, что нужно сделать два цикла, у меня только один.Как быть?
PS УКАЗАТЕЛИ ИСПОЛЬЗОВАТЬ НЕЛЬЗЯ

Вот сама программа

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 "stdafx.h"
#include <cstdlib>
#include <iostream>
using namespace std;
 
void main()
{
setlocale(LC_ALL, "Rus");
int n;
cout<<"Введите количество элементов N: ";
cin>>n;
double a[100];
double t;
cout<<"Введите элементы массива A: ";
for (int i = 0; i < n; i++)
{
cin>>t;
for (int j=0; j < i; j++)
if (a[j] == t)
{
cout<<"Ошибка"<<endl;
}
a[i] = t;
}
system ("pause"); }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2014, 20:04
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Одномерный массив, как выйти? (C++):

Как сложить массив чтоб получился одномерный массив?
Например есть 3х мерный массив, как сложить его строки чтоб получился...

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

Одномерный массив, подскажите как вывести, как просит в задании
После ввода с клавиатуры произвольного одномерного массива целых чисел (в...

Как перевернуть одномерный массив?
#include &lt;iostream&gt;; using namespace std; int main() { const int n=3;...

Как возвратить одномерный массив
Есть вопрос. Можно ли возвратить из одной функции в другую, ее вызвавшую, не...

Как странспонировать одномерный массив
Как странспонировать одномерный массив то есть массив x в нём есть числа 1...

7
nmcf
6243 / 5555 / 2526
Регистрация: 14.04.2014
Сообщений: 23,356
03.06.2014, 20:10 #2
Как больше 4-х? Вводится число n, затем цикл повторяется n раз. Откуда лишнее?
0
Евгения Е
0 / 0 / 1
Регистрация: 20.05.2014
Сообщений: 11
03.06.2014, 20:18  [ТС] #3
nmcf, я привела пример насчет 4
Ну смотри
" Введите количество элементов N:" я написала 5
Затем мне пишет
Введите элементы массива A: я печатаю любые цифры 4 5 2 6 2 4 2 34
и то есть меня программа не останавливает, когда я ввела больше пяти элементов. Мне нужно сделать так, чтобы выводилась ошибка
Надеюсь понятно объяснила)
0
tegauss
30 / 24 / 27
Регистрация: 06.05.2014
Сообщений: 161
03.06.2014, 20:28 #4
Евгения Е,

" Введите количество элементов N:" я написала 5
после этого Вы не сможете ввести больше пяти элементов. Предлагаю Вам серьезно задуматься над тем, почему
0
nmcf
6243 / 5555 / 2526
Регистрация: 14.04.2014
Сообщений: 23,356
03.06.2014, 20:31 #5
Программа просто возьмёт первые n чисел. Так ли важно остальное? Ну тебе тогда надо проверять осталось ли что-то в потоке.
0
Евгения Е
0 / 0 / 1
Регистрация: 20.05.2014
Сообщений: 11
04.06.2014, 04:27  [ТС] #6
nmcf, мне это принципиально важно. Необходимо сделать по задани65ю
0
askurandrio
Заблокирован
14.06.2015, 22:05 #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "stdafx.h"
#include <cstdlib>
#include <iostream>
using namespace std;
 
void main()
{
setlocale(LC_ALL, "Rus");
double a[100]; int n; 
cout<<"Введите количество элементов N: "; cin>>n;
cout<<"Введите элементы массива A: ";
for (int i = 0; i < n; i++)
{
    cout<<"Введите элемент "<<i<<" = ";cin>>a[i];
}
a[i] = t;
}
system ("pause"); }
0
lss
926 / 855 / 355
Регистрация: 10.10.2012
Сообщений: 2,705
15.06.2015, 06:12 #8
Цитата Сообщение от Евгения Е Посмотреть сообщение
" Введите количество элементов N:" я написала 5
Затем мне пишет
Введите элементы массива A: я печатаю любые цифры 4 5 2 6 2 4 2 34
и то есть меня программа не останавливает, когда я ввела больше пяти элементов. Мне нужно сделать так, чтобы выводилась ошибка
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
    setlocale(LC_ALL, "Rus");
    int n;
    cout<<"Введите количество элементов N: ";
    cin>>n;
    double a[100];
    double t;
    cout<<"Введите элементы массива A: ";
    while (true)
    {
        for (int i = 0; i < n; i++)
        {
            cin >> t;
            a[i] = t;
        }
       
        if (cin && cin.rdbuf() ->in_avail() == 1)
            break;
        else
        {
            cin.clear();
            while (cin.get() != '\n');
            cout << "Ошибка!" << endl;
            cout <<"Введите элементы массива A: ";
        }
    }
    system ("pause");
0
Миниатюры
Одномерный массив, как выйти?  
15.06.2015, 06:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.06.2015, 06:12
Привет! Вот еще темы с решениями:

Как перемешать одномерный массив?
Никак не могу придумать как сделать так чтобы цифры не повторялись в некоторых...

Как преобразовать одномерный массив в двумерный?
Есть масcив типа ABCDEFG нужно чтобы каждый пятый элемент начинался с новой...

Как одномерный массив представить двумерным?
Я загрузил изображение. И есть указатель на его однобайтные пиксели: BYTE...

Матрица как одномерный массив с указателем
Ребят, помогите пожалуйста, нужно создать динамическую матрицу, но без...


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

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

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