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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.09.2013, 14:56   #1
alucard115
Пользователь
 
Аватар для alucard115
 
Регистрация: 25.12.2012
Сообщений: 88
По умолчанию Одномерные массивы С++

Здравствуйте! Вот само задание : "Дан N-элементный одномерный массив M. В данном массиве элементы, которые удовлетворяют следующему условию a<=m<=b , заменить числом Z. Числа a, b и Z необходимо предварительно ввести с клавиатуры."
не могу понять, как условие a<=m<=b записать, и какую операцию ввести, чтобы эти числа заменить числом Z. Подскажите как это сделать? И правильно ли я задал " N-элементный одномерный массив M"??
вот, то что написал.
Код:
#include <iostream>
#include <conio.h>
#include <math.h>
using namespace std;

int main()
{	int a,b,m,Z ;
	int М[20]; for (int i = 0; i < N; i = i + 1)  М[i] = 0; 
	cout << "Vvedite a";
	cin >>a;
	cout << "Vvedite b";
	cin >>b;
	cout << "Vvedite Z";
	cin >>Z;


getch();
	return 0;
}

Последний раз редактировалось alucard115; 04.09.2013 в 15:08.
alucard115 вне форума Ответить с цитированием
Старый 04.09.2013, 15:41   #2
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

Условие пишем просто в теле цикла:
Если ((M[i] больше или равно а) И (M[i] меньше или равно b))
M[i]=Z;
Неприятности приходят и уходят, а жизнь продолжается!
Sweta вне форума Ответить с цитированием
Старый 04.09.2013, 15:50   #3
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,680
По умолчанию

Давайте посмотрим...

Код:
int M[] = {1, 2, 3, 4, 5, 6, 7, 8};
int Z = 3;
for(int i = 0; i < sizeof(M)/sizeof(int); i++)
{
	if(a <= M[i] && b >= M[i]) 
		M[i] = Z;
}
Что-то вроде этого.
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!

Последний раз редактировалось Bugrimov; 04.09.2013 в 15:59.
Bugrimov вне форума Ответить с цитированием
Старый 04.09.2013, 15:52   #4
alucard115
Пользователь
 
Аватар для alucard115
 
Регистрация: 25.12.2012
Сообщений: 88
По умолчанию

Цитата:
Сообщение от Sweta Посмотреть сообщение
Условие пишем просто в теле цикла:
Если ((M[i] больше или равно а) И (M[i] меньше или равно b))
M[i]=Z;
Код:
if ((M[i]>=a) && (M[i]<=b))
M[i]=Z;
Так выглядеть будет?
alucard115 вне форума Ответить с цитированием
Старый 04.09.2013, 16:00   #5
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,680
По умолчанию

Совершенно верно...
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 04.09.2013, 16:01   #6
alucard115
Пользователь
 
Аватар для alucard115
 
Регистрация: 25.12.2012
Сообщений: 88
По умолчанию

Цитата:
Сообщение от Bugrimov Посмотреть сообщение
Давайте посмотрим...

Код:
int M[] = {1, 2, 3, 4, 5, 6, 7, 8};
int Z = 3;
for(int i = 0; i < sizeof(M)/sizeof(int); i++)
{
	if(a <= M[i] && b >= M[i]) 
		M[i] = Z;
}
Что-то вроде этого.
Спасибо) А почему
Код:
int Z=3
, получается мы задаем заранее число Z? если да, то мне нужно, чтобы число Z я ввел с клавиатуры..
и
Код:
int M[] = {1, 2, 3, 4, 5, 6, 7, 8};
почему именно от 1 до 8? поясните пожалуйста.
alucard115 вне форума Ответить с цитированием
Старый 04.09.2013, 16:08   #7
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,680
По умолчанию

Вводите число Z с клавиатуры.
Код:
int Z;
cin >> Z;
А массив заполнен произвольно. Там могут быть любые числа и в любом количестве (почти в любом ).
Можно так написать
Код:
M[] = {10, 44, 5, 20, 7, 0, 2, 17, 99, 33, 1};
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 04.09.2013, 16:17   #8
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

Ребята простите, что перебиваю.
Вопросы к
Цитата:
alucard115
1. Вы только начали изучатьпрограммирование?
2 Количество элементов N в массиве у Вас определено? Точнее изучали ли Вы функцию sizeof(M) выделения памяти для массива?
Неприятности приходят и уходят, а жизнь продолжается!
Sweta вне форума Ответить с цитированием
Старый 04.09.2013, 16:17   #9
alucard115
Пользователь
 
Аватар для alucard115
 
Регистрация: 25.12.2012
Сообщений: 88
По умолчанию

В этом выражении программа подчеркивает [i]
Код:
if(a <= M[i] && b >= M[i]) 
		M[i] = Z;
и пишет: Выражение должно иметь тип указателя на объект
alucard115 вне форума Ответить с цитированием
Старый 04.09.2013, 16:18   #10
alucard115
Пользователь
 
Аватар для alucard115
 
Регистрация: 25.12.2012
Сообщений: 88
По умолчанию

Цитата:
Сообщение от Sweta Посмотреть сообщение
Ребята простите, что перебиваю.
Вопросы к
1. Вы только начали изучатьпрограммирование?
2 Количество элементов N в массиве у Вас определено? Точнее изучали ли Вы функцию sizeof(M) выделения памяти для массива?
1. да, только начинаю.
2. Функцию " sizeof(M) выделения памяти для массива" не изучали...
alucard115 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одномерные массивы (С++) glebque Помощь студентам 3 21.05.2013 22:17
Одномерные массивы, двумерные массивы, строки Sand093 C++ Builder 11 20.05.2012 21:48
Даны одномерные массивы А и В. Сформировать массивы, состоящие из элемент LyaLya Помощь студентам 15 20.12.2009 14:12