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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.06.2017, 16:29   #1
Kapralick
 
Регистрация: 17.06.2017
Сообщений: 7
По умолчанию использование программы без индексации

добрый вечер, недавно дали задание: "Дан целочисленный массив A[N][N]. Нужно сформировать массив B[N], состоящий из нулей и единиц, руководствуясь следующим правилом: если i-я строка массива A содержит хотя бы один отрицательный элемент, то B[i]=1, в противном случае B[i]=0
"
суть задания состоит в том что бы решить задачу 2 способами, с индексацией и без индексации. Первый вариант я сделал, кто может объяснить как делать без индексации. И мини-вопрос: правильно ли записана программа ?
Цитата:
#include "stdafx.h"
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
srand(time(nullptr));
size_t N;
cout << "Введите N:";
cin >> N;
int** A = new int*[N];
int* B = new int[N];
cout << "Массив A:" << endl;
for (size_t i = 0; i<N; i++)
{
A[i] = new int[N];
B[i] = 0;
for (size_t j = 0; j<N; j++)
{
A[i][j] = rand() % 5 / 4; //чтобы увеличить вероятность 0 до 75%
B[i] = (A[i][j] < 0) | B[i];
B[i] |= A[i][j];
}
cout << std::endl;
}
cout << endl << endl << "Массив B:" << endl;
for (size_t i = 0; i<N; i++)
cout << B[i] << " ";
cout << endl;
return 0;
}
Kapralick вне форума Ответить с цитированием
Старый 18.06.2017, 16:42   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Код:
B[i] |= A[i][j];
зачем?
p51x вне форума Ответить с цитированием
Старый 18.06.2017, 17:01   #3
Kapralick
 
Регистрация: 17.06.2017
Сообщений: 7
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Код:
B[i] |= A[i][j];
зачем?
с помощью этой строчки определяется есть ли хотя бы один отрицательный элемент, если да, то B[i]=1, в противном случае B[i]=0
Kapralick вне форума Ответить с цитированием
Старый 18.06.2017, 17:19   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

а тогда что же происходит в этой
Код:
B[i] = (A[i][j] < 0) | B[i];
?
p51x вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка индексации. Neotwalker C# (си шарп) 4 06.07.2016 15:09
Использование SQLite без длл? IvaniuS Общие вопросы Delphi 7 20.03.2016 14:14
Использование fread без блокирующего режима TRIZER PHP 4 20.06.2011 14:02
использование DCU без PAS kaizer131 Общие вопросы Delphi 10 11.10.2010 15:37
Использование ActiveX без регистрации Zen2007 Общие вопросы .NET 2 10.08.2009 13:40