Форум программистов, компьютерный форум CyberForum.ru

Массив работает но криво ( - C++

Восстановить пароль Регистрация
 
Chibisov
0 / 0 / 0
Регистрация: 26.10.2010
Сообщений: 9
07.12.2010, 01:03     Массив работает но криво ( #1
1 . В одномерном массиве, состоящем из и целых элементов, вычислить:
1) К максимальных элементов массива;
2) Проверить массив на упорядоченность;
Преобразовать массив таким образом, чтобы в первой его половине располага¬лись элементы, стоявшие в нечетных позициях, а во второй половине — элемен¬ты, стоявшие в четных позициях.


Составить программу, которая из введенной последовательности N натуральных чисел удаляет все трехзначные сверхпростые числа; (131, 113)


#include <iostream>
#include <time.h>
using namespace std;
const int size=500;

bool sverh_prost(int x)
{
bool flag=true;
int i,y=0;
for (i=2; i<=(x/2); i++)
if (x%i==0)
flag=false;
while (x>0)
{
y=y*10+x%10;
x/=10;
}
x=y;
for (i=2; i<=(x/2); i++)
if (x%i==0)
flag=false;
if (flag && y!=1)
return true;
else
return false;
}

int main()
{
setlocale(NULL,"rus");
int a[size],n,count=0,i,j;
cout<<"Введите размерность массива\n";
cin>>n;
if (!(n<=size && n>0))
{
cout<<"некорректный ввод длины массива\n";
return 0;
}

cout<<"введите 1, если хотите чтобы массив заполнился рандомов\n";
cout<<"введите 0, если хотите заполнился с клавиатуры\n";
int p;
cin>>p;
if (p==1)
{
int q,w;
cout<<"введите границы интервала\n";
cin>>q>>w;
srand(time(0));
cout<<"равдомный массив\n";
for (i=0; i<n; i++)
{
a[i]=rand()%(w-q+1)+q;
cout<<a[i]<<" ";
}
cout<<"\n";
}
else
{
for (i=0; i<n; i++)
cin>>a[i];
}

int b[size];
for (i=0; i<n; i++)
b[i]=a[i];
for (i=0; i<n-1; i++)
for (j=i+1; j<n; j++)
if (b[i]>b[j])
{
int x=b[i];
b[i]=b[j];
b[j]=x;
}

cout<<"Введите кол-ва макс. элементов\n";
int k;
cin>>k;
if (k>n && k<0)
{
cout<<"некорректный ввод k\n";
return 0;
}

for(i=0; i<k; i++)
cout<<b[n-i-1]<<" ";
cout<<"\n";
bool flag1=true, flag2=true;
for (i=1; i<n; i++)
{
if (a[i]>a[i-1]) flag1=false;
if (a[i]<a[i-1]) flag2=false;
}
if (flag1 || flag2)
cout<<"Массив упорядоченыый\n";
else
cout<<"Массив неупорядоченный\n";

k=0;
cout<<"Массив с заменов мест чётных и нечётных\n";
for (i=0; i<n; i++)
if ((i+1)%2==1) b[k++]=a[i];
for (i=0; i<n; i++)
if ((i+1)%2==0) b[k++]=a[i];

for (i=0; i<n; i++)
cout<<b[i]<<" ";
cout<<"\n";

for (i=0; i<n; i++)
if (sverh_prost(a[i]))
{
for (j=i; j<n-1; j++)
a[j]=a[j+1];
n--;
i--;
}
cout<<"Массив без сверхпростых чисел\n";
for (i=0; i<n; i++)
cout<<a[i]<<" ";
cout<<"\n";
}

подколибруйте плз )
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2010, 01:03     Массив работает но криво (
Посмотрите здесь:

Потоки в винде. Работает, но криво C++
C++ криво считает сумму
C++ криво считает произведение
C++ Rand в матрице работает криво.
C++ Криво пишет даные в файл
C++ криво работает коеструктор копии производного класса
C++ Криво работает удаление пробелов из строки
Криво читается бинарник C++
Кодирование происходит криво C++
Эксперты! Одномерный массив неповторяющихся чисел не могу понять почему криво работает C++
C++ В общем, не пойму почему криво заполняется массив
Функиця криво работает C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 06:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru