Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.06.2014, 20:03   #1
Евгения Е
Пользователь
 
Регистрация: 21.05.2014
Сообщений: 11
Сообщение Одномерный массив, как выйти?

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

Вот сама программа
Код:
#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"); }

Последний раз редактировалось Stilet; 03.06.2014 в 23:12.
Евгения Е вне форума Ответить с цитированием
Старый 03.06.2014, 21:16   #2
casekey
Пользователь
 
Регистрация: 03.11.2010
Сообщений: 95
По умолчанию

Код:
do
{
  cout << "Введите n: ";
  cin >> n;
} while ( (n>4) || (n<0) );
так?

Последний раз редактировалось casekey; 03.06.2014 в 21:18.
casekey вне форума Ответить с цитированием
Старый 03.06.2014, 22:10   #3
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,680
По умолчанию

У меня получилось что-то вроде этого
Код:
#include <iostream>
#include <cstdlib>
#include <locale>

using namespace std;

const int MAX = 100;

int main() {
	double arr[MAX] = {0.0};
	int N;

	setlocale(0, "rus");

	cout << "\n Количество элементов в массиве: ";
	cin >> N;

	cout << "\n Ввод массива:\n -------------" << endl;
	for(int i = 0; i < MAX; i++) {
		if(i <= N) {
			cout << " [" << i+1 << "] - ";
			cin >> arr[i];
		}
		else {
			cout << "\n ОШИБКА!!! Не вводить больше " << N << " элементов." << endl;
			break;
		}
	}
	system("pause");
	return 0;
}
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти одномерный массив элементы которого равны минимальным значениям в строках исходной матрицы и одномерный массив элементы... Richik123 Microsoft Office Excel 1 16.10.2013 15:45
Одномерный символьный массив как дополнить програмку Grizzz Помощь студентам 0 13.11.2012 18:48
Как можна записать в файл одномерный массив? vitiok1 Общие вопросы C/C++ 1 03.03.2012 18:39
Как странспонировать одномерный массив Simak63 Помощь студентам 1 03.05.2011 10:09
Как преобразовать одномерный массив? kitty Помощь студентам 1 01.12.2007 20:16