Задача: Найти в массиве все простые двухзначных числа
Задача. Дан массив целых чисел. Найти в массиве все простые двухзначных числа, если таких чисел больше двух удалить их из массива. Проверить изменился ли максимальный элемент массива.
Решение с использованием языка CPP:
/* * File: arraydelsimple.cpp * Author: darkfire * * Created on November 7, 2010, 4:58 PM */ #include <iostream> #include <stdlib.h> /* * Дан массив целых чисел. * Найти в массиве все простые двухзначных числа, если таких чисел * больше двух удалить их из массива. * Проверить изменился ли максимальный элемент массива. */ /*Алгоритм */ using namespace std; void EnterRandArray(int *arr, int ); void ViewArray(int *arr, int ); int MaxElment(int *, int ); bool num_simple (int); int *del_symple(int *arr, int &sz, int count); int main(){ int SIZE = 10; int *parr = new int[SIZE]; int maxarr,maxparr, zn2,count=0; //заполним массив EnterRandArray(parr, SIZE); //выведем масив на экран ViewArray(parr, SIZE); //Находим максимальный элемент maxarr=MaxElment(parr, SIZE); cout<<"\n"<<"Max arr1: "<<maxarr<<"\n"; //Найдем количесво двухзначных простых чисел for (int i=0;i<SIZE;i++){ if((parr[i]>10)&&(parr[i]<99)) if (num_simple(parr[i]))count++; } cout<<"count: "<<count; //если таких цисел больше двух -удаляем их if (count>2){ parr = del_symple(parr, SIZE, count); cout<<"\n"; ViewArray(parr, SIZE); } maxarr=MaxElment(parr, SIZE); cout<<"\n"<<"Max newarr: "<<maxarr<<"\n"; delete [] parr; cout<<"\n"; return 0; } int *del_symple(int *parr, int &sz, int count){ int new_sz=sz-count; int pos =0; int *newarr= new int [new_sz]; for(int i=0,j=0;i<sz;i++){ if((parr[i]<10)||(parr[i]>99)){ newarr[j]=parr[i]; j++;} else if(!(num_simple(parr[i]))){ newarr[j]=parr[i]; j++; } } sz=new_sz;//изменяем(уменьшаем) размер массива return newarr; } bool num_simple (int number){ //простое число делится без остатка только на самого себя и единицу. for (int i=2;i<number;i++) if(number%i==0){ return false;} return true; } int MaxElment(int *arr, int SIZEA){ int max=arr[0];//правильней брать элемент массива for (int i=1;i<SIZEA;i++){ if (arr[i]>max)max=arr[i]; } return max; } void EnterRandArray(int *arr, int SIZEARR){ for (int i=0;i<SIZEARR;i++)arr[i]=rand()%110; } void ViewArray(int *arr, int SIZEARR){ for (int i=0;i<SIZEARR;i++)cout<<arr[i]<<"\t"; }
📌 Для тестирования скриптов, установщиков VPN, Python ботов рекомендуем использовать надежные VPS на короткий срок. Если вам нужна помощь с более сложными задачами, вы можете найти фрилансера, который поможет с настройкой. Узнайте больше о быстрой аренде VPS для экспериментов и о фриланс-бирже для настройки VPS, WordPress. 📌
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!
7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Китайский VPN Shadowsocks простая установка и настройка
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах