У Ани – белая, у Маши – синяя, у Вари – красная.
Объяснение:
Пусть Маша сказала правду и у неё не синяя флешка. Тогда у Ани не синяя флешка, и у Вари тоже не синяя (а белая). Значит, синей флешки ни у кого нет, чего быть не может. Поэтому про Машу сказали неправду, у неё синяя флешка.
Если синяя флешка у Маши, у Ани синей флешки быть не может, а тогда верное утверждение – о цвете флешки Вари. Если у Вари не белая флешка, то единственный оставшийся вариант – у Вари флешка красного цвета. Следовательно, у Ани – белая флешка.
Это ничему не противоречит, такое распределение удовлетворяет условию.
#include <iostream> // iostream
int main() { // int main
int N; // N
int M; // M
int sum = 0; // сумма чисел хэмминга от n до m
std::cout << "N: "; // запрашиваем N
std::cin >> N;
std::cout << "M: "; // запрашиваем M
std::cin >> M;
int *hemming = new int[M - N + 1]; // массив с числами хемминга
int counter = 0; // размер массива
for (int i = N; i <= M; ++i) { // записываем числа в массим хемминга
if (i % 2 == 0 || i % 3 == 0 || i % 5 == 0) { // если остаток от деления
std::cout << i << " "; // на 2 или 3 или 5 равен нулю
hemming[counter] = i; // и выводим.
sum += hemming[counter]; // прибавляем к сумме числа
++counter; // увеличиваем счётчик
}
}
std::cout << std::endl << sum; // выводим сумму
}
Если я все правильно понял, то так:
#include <iostream>
#include <algorithm>
/*
Написать на C++:в матрице 4*5 замените на -2 столбцы с положительными суммами элементов,
а затем в качестве первого вставьте столбец из минимальных элементов соответственных строк
*/
#define N 4 // строки
#define M 5 // столбцы
int main()
{
int
matrix[N][M],
sum(0);
for(int i = 0; i < N; i++)//инициализируем матрицу.
{
for(int j = 0; j < M; j++)
{
std::cin >> matrix[i][j];
}
}
for(int i = 0; i < N; i++)//выводим начальную матрицу
{
for(int j = 0; j < M; j++)
{
std::cout << matrix[i][j] << " ";
}
std::cout << std::endl;
}
for(int j = 0; j < M; j++)//выполняем 1 задание
{
for(int i = 0; i < N; i++)
{
sum+=matrix[i][j];
}
if(sum)
{
for(int i = 0; i < N; i++)
{
matrix[i][j] += -2;
}
}
}
int minimal(0);
for(int i = 0; i < N; i++)//выполняем второе задание
{
minimal = std::min(matrix[i][0], matrix[i][M-1]);
matrix[i][0] = minimal;
}
for(int i = 0; i < N; i++)
{
for(int j = 0; j < M; j++)
{
std::cout << matrix[i][j] << " ";
}
std::cout << std::endl;
}
}
p.s я не заморачивался насчет читабельности и оптимизации кода, ибо делаю не для себя. Но, по-моему, должно работать.
В противном случае пиши мне, исправлю.