Различия

Показаны различия между двумя версиями страницы.


reshenie_zadachi_6 [2025/07/06 12:39] (текущий) – создано - внешнее изменение 127.0.0.1
Строка 1: Строка 1:
 +====== Задача: Найти в массиве все простые двухзначных числа ======
 +[[zadachi._olimpiady]]
  
 +**Задача**. Дан массив целых чисел. Найти в массиве все простые двухзначных числа, если таких чисел больше двух удалить их из массива. Проверить изменился ли максимальный элемент массива.
 +
 +Решение с использованием языка CPP:<file 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";
 +}
 +</file>

📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.

📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.

💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!