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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.10.2013, 15:38   #1
Caspar Fray
Новичок
Джуниор
 
Аватар для Caspar Fray
 
Регистрация: 15.10.2013
Сообщений: 2
По умолчанию Операции с массивами C++

Приветствую, прошу помощи, разобрать задание:

Дан N-элементный одномерный массив M. В данном массиве заменить значения последних K положительных элементов на -1.

Я вывел массив из псевдослучайных чисел и дал пользователю возможность ввода количества положительных элементов, которые в последствии будут заменены на -1. Ступор случился на этапе с оператором if...

Код:
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main() {
	int n = 10;
	short mas[n];
	srand(time(NULL));
	cout << "Array: ";
	for (int i=0; i<n; i++) {
		mas[i] = rand()%10;
		cout << mas[i] << " ";
	}
        cout <<  endl;

        int k;
          cout << "Enter K: ";
               cin >> k;
          cout << "Number K= " << k << endl;
          if (k = 1){mas[9] = -1;}
          //if (k = 2){mas[9] = -1; mas[8] = -1;} на этом месте столбняк...не могу правильно задать условие...

          cout << "Array: " << mas[0] << " " << mas[1] << " " << mas[2] << " " << mas[3] << " " << mas[4] << " " 
                            << mas[5] << " " << mas[6] << " " << mas[7] << " " << mas[8] << " " << mas[9] << endl;

    system("pause");
}
Caspar Fray вне форума Ответить с цитированием
Старый 15.10.2013, 15:58   #2
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Код:
if(k == 1)
операция сравнения вместо присваивания.
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 15.10.2013, 16:03   #3
Caspar Fray
Новичок
Джуниор
 
Аватар для Caspar Fray
 
Регистрация: 15.10.2013
Сообщений: 2
По умолчанию

Цитата:
Сообщение от Bugrimov Посмотреть сообщение
Код:
if(k == 1)
операция сравнения вместо присваивания.
Не поверите, только что доперло у самого...прям как в php...

Сделал вот так...
Код:
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main() {
	int n = 10;
	short mas[n];
	srand(time(NULL));
	cout << "Array: ";
	for (int i=0; i<n; i++) {
		mas[i] = rand()%10;
		cout << mas[i] << " ";
	}
        cout <<  endl;

        int k;
          cout << "Enter K: ";
               cin >> k;
          cout << "Number K= " << k << endl;
          if (k == 1) {mas[9] = -1;}
          if (k == 2){(mas[9] = -1) && (mas[8] = -1);}
          if (k == 3){(mas[9] = -1) && (mas[8] = -1) && (mas[7] = -1);}
          if (k == 4){(mas[9] = -1) && (mas[8] = -1) && (mas[7] = -1) && (mas[6] = -1);} 

          cout << " Change array: " << mas[0] << " " << mas[1] << " " << mas[2] << " " << mas[3] << " " << mas[4] << " " 
                            << mas[5] << " " << mas[6] << " " << mas[7] << " " << mas[8] << " " << mas[9] << endl;

system("pause");
}
Спасибо
Caspar Fray вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
операции с массивами паскаль Иришка1 Помощь студентам 4 01.06.2012 18:35
С++. Операции с массивами Сергей Человек Помощь студентам 8 09.07.2009 11:48
Операции с массивами Stelix Помощь студентам 3 26.03.2008 22:11
Операции с массивами Hakman Помощь студентам 10 19.02.2008 18:36