Классы, дело жизни и смерти
Класс должен включать весь необходимый интерфейс: конструкторы, перегрузку операций (в том числе + , - , =), другие необходимые методы.
Продемонстрировать:
выполнение цепочки для сложения и вычитания объектов класса и целых чисел;
цепочки присваиваний.
Разработать функцию:
для сортировки массива объектов; (ввод тестовых массивов объектов – из файла);
для сложения элементов массива, являющихся четными числами.
(ввод тестовых массивов объектов – из файла строкой вида 19-1 или 23+2);
Подскажите, какие переменные должны быть представлены в этом классе, и какие методы? Я даже не знаю, с какой стороны взяться....
Пока возьмись за учебник и напиши класс-обертку для обычных целых чисел. А потом посмотрим, что можно сделать, как изменить.
Кто-то гонит: либо топик-стартер, либо преподаватель.
Керниган-Ричи и классы???
ЗЫ: топик-стартер, небось весь семестр пыво пыл?
Ну, в Internet то доступ есть. Набирай в поисковике что-то типа "c++ пример перегрузка операторов". Может и готовое решение найдешь.
Это никого не волнует. Даже тебя ещё недавно не волновало.
Керниган-Ричи и классы???
Кернигана выдали в самом начале, а сейчас я болел 3 недели, хзы, мб и рекомендовали что-либо еще
Это никого не волнует. Даже тебя ещё недавно не волновало.
Я болел, не надо думать, что я пиво семестр пил)
Я первокурсник, а классы мы прошли за 2 занятия практических, на которых я болел...Структуры мы вообще за занятие прошли..
Что я не могу понять - это сам алгоритм.
То есть, число должно быть введено, но как это число передать в класс в нужном нам виде? мб коряво выразился, но.....мм....блин...
Ну, в Internet то доступ есть. Набирай в поисковике что-то типа "c++ пример перегрузка операторов". Может и готовое решение найдешь.
Как ни странно, я нагуглил перегрузку операторов, и вроде понял
Вот, приблизительно, только алгоритм в виде функции, а не класса.
int near_prime_number(int);
int main(){
near_prime_number(900);
}
//функция поиска ближайшего(в меньшую сторону) простого числа
int near_prime_number(int N){
int a[N];//устанавливаем размер массива равный нашему числу
//заполнение массива а с размером N,
//т.е. получим массив со всеми числами от 0 до нашего числа
for(int i=0; i<N; i++){
a = i;
}
//единица - не простое число, поэтому обнулим эту ячейку
a[1]=0;
//алгоритм - "Решето Эратосфена". гуглить обязательно
for(int s=2; s<N; s++){
if(a!=0){
for(int j=s*2; j<N; j+=s){
a[j]=0;
}
}
}//теперь имеем отфильтрованный массив, в котором
//только нули и простые числа:0,0,2,3,0,5,0,7, и т.д.
//алгоритм поиска максимального числа в массиве
//ищем максимальное из оставшихся простых чисел
int max=a[0];
for(int i=0;i<N;i++){
//здесь еще можно проверить, не равен ли элемент нулю
if (a>max) max=a;
}
printf("Maxumum prime: %d\n",max);//если не нужен встроенный вывод, то это лишнее
if (max==0) printf("Нет наибольшего ближаейшего простого числа");//для чисел 2,1
return max;
}
На выводе получем 887
остаток=N - near_prime_number(N)
т.е. 900 - 887=13