Тоже просто и тоже массивы. Сначала создать массив и его на экран. После этого вывести только те элементы которые не входят в отрезок [5, 25].
Реализация на C++ такая:
[cpp]
// 6.2.cpp: определяет точку входа для консольного приложения.
//
#include «stdafx.h»
#include <stdlib.h>
#include <time.h>
int _tmain(int argc, _TCHAR* argv[])
{
int A[255];
int N;
printf(«Enter N: «);
scanf(«%d», &N);
for (int i = 0; i<N; i++)
{
A[i] = rand()%100;
printf(«%d «, A[i]);
}
printf(«\n»);
for (int i = 0; i<N; i++)
{
if (!(A[i] >=5 && A[i] <= 25))
{
printf(«%d «, A[i]);
}
}
return 0;
}
[/cpp]
Самое главное в этой задаче вот это условие:
[cpp]
if (!(A[i] >=5 && A[i] <= 25))
{
printf(«%d «, A[i]);
}
[/cpp]
Оно сначала гласит, что нужно взять только те элементы, которые входят в отрезок [5, 25]. Далее восклицательный знак вначале говорит об отрицании, значит это условие возьмет все элементы вне этого отрезка. Что нам и нужно.
У вас в коде ошибка…
!(A[i] >=5 && A[i] <= 25) — здесь проверяется значение ячейки, а не номер…
Нет, не ошибка. Интервал по значению надо было брать, а не по индексам. Я и взял по значениям