→ Для вступления в общество новичков и профессионалов программирования, пожалуйста нажмите здесь ...

Форум программистов: C++, Basic, Delphi, Pascal, JavaScript
Логин: Пароль:
Запомнить?  
@Mail.ru



Начать новую тему Ответить на тему  [ 1 сообщение ] 
указатели 
Автор Сообщение
Начинающий

Регистрация: 02.09.2015
Сообщения: 1

Репутация: 0 [ ? ]
Сообщение указатели
Необходимо переделать (создать один стационарный указатель) , а как не знаю. Может кто код немного подправить и обьяснить?
После введения из клавиатуры произвольного одномерного массива целых чисел (в пределах знакового целого типа) вывести на экран непарные из них (по 10 в строке у виде столбцов), отсортированные за убыванием. Введение каждого числа завершуеться нажатиям <Enter>, введение прекращается введением числа 0. Одинаковые числа выводятся один раз.

Код:

Код C++Выделить код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include "stdafx.h"
#include "iostream"
#include "conio.h"
using namespace std;
void sort_selection(int d[], int f)
{
int i,j,k,x;
for(i=0;i<f-1;i++)
{
k=i;
x=d[i];
for(j=i+1;j<f;j++)
if(d[j]>x)
{
k=j;
x=d[j];
}
d[k]=d[i];
d[i]=x;
}
}
void ORZ(int c[], int q)
{
int y=0,s=0,n[100]={0,};
for(int i=0,flag=0;i<q;i++)
{
for(int j=i-1;j>=0;j--)
{
if(c[i]==c[j])
{
flag=1;
}
}
if(flag==0)
{
n[s++]=c[i];
++y;
}
flag=0;
}
for(int i=0;i<y;i++)
{
printf("%4d%c",n[i],(i%10==9)?'\n':' ');
}
}
void main(void)
{
int d[500]={0},i=-1,j=0,f=0,c[500]={0},z=0,q=0;
cout«"vvedite massiv zakanchivaya cifroy 0"«endl;
do
{
++i;
cin»d[i];
f++;
}
while(d[i]!=0);
cout«endl«"vsego vvedeno elmentov: "«f«endl;
sort_selection(d,f);
for(int k=0;k<f;k++)
{
if(d[k]%2!=0)
{
q++;
c[z++]=d[k];
}
}
cout«"neparnie:"«endl;
ORZ(c,q);
_getch();
}
Необходимо переделать (создать один стационарный указатель) , а как не знаю. Может кто код немного подправить и обьяснить?

Организовать двоичный поиск элемента А в произвольном одномерном массиве целых чисел.
Код:

Код C++Выделить код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include "stdafx.h"
#include "iostream"
#include "conio.h"
#include "stdio.h"
using namespace std;

int BinarySearch(int A[], int key,int N)
{
int left=0, right=N-1, mid;
while (left<=right)
{
mid=left+(right-left)/2;
if (key<A[mid])
right=mid-1;
else
if (key>A[mid])
left=mid+1;
else
return mid;
}
return -1;
}
//главная функция
void main()
{
setlocale(LC_ALL,"Rus");
int i, key,N;
int A[100];
cin»N;
for (i=0; i<N; i++)
cin»A[i];
cout«"Искомый элемент > ";
cin»key; //ввод ключа
if (BinarySearch(A, key,N)==-1)
cout«"\nЭлемент не найден";
else
cout«"\nНомер элемента: "«BinarySearch(A, key,N);
_getche();
}
Необходимо переделать (создать один стационарный указатель) , а как не знаю. Может кто код немного подправить и обьяснить?
В одномерном массиве, вводимом с клавиатуры и состоящем из n действительнных элементов, вычислить:
1) номер минимального элемента массива;
2) сумму элементов массива, расположенных между первым и вторым отрицательными элементами.
Переделать массив таким образом, чтобы сначала располагались все элементы
Модуль которых не превышает 1, а потом все остальные.В одномерном массиве, вводимом с клавиатуры и состоящем из n действительнных элементов, вычислить:
1) номер минимального элемента массива;
2) сумму элементов массива, расположенных между первым и вторым отрицательными элементами.
Переделать массив таким образом, чтобы сначала располагались все элементы
Модуль которых не превышает 1, а потом все остальные.
Код:

Код C++Выделить код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#include "stdafx.h"
#include "conio.h"
#include "iostream"
using namespace std;

float boom(float b[],int N)
{int a=0;
float min=b[0];

for(int i=0;i<N;i++)
{
if(min>b[i])
{
min=b[i];
a=i;
}
}
return a;
}
float death(float d[], int N)
{float k,a,s=0,b;
for(int i=0;i<N;i++)
{
if(d[i]<0)
{
b=i;
break;
}
}
for(int i=b+1;i<N;i++)
{
if(d[i]<0)
{
k=i;
break;
}
}
for(int i=b+1;i<k;i++)
{
s=s+d[i];
}
return s;
}
void sword (float a[],int N)
{int j=0;
float roc[100]={0};
for(int i=0;i<N;i++)
{
if(abs(a[i])<=1)
{
roc[j++]=a[i];
}
}
for(int i=0;i<N;i++)
{
if(abs(a[i])>1)
{
roc[j++]=a[i];
}
}
cout«"uporyadochenniy massiv: ";
for(j=0;j<N;j++)
{
cout«roc[j]«" ";
}
}

void main(void)
{
float rok[100]={0};
int N;
cin»N;
cout«"vvedite massiv \n";
for(int i=0;i<N;i++)
{
cin»rok[i];
}

cout«endl«"nomer min elementa: "«boom(rok,N);

cout«endl«"summa: "«death(rok,N)«endl;
sword(rok,N);


_getch();
}


02.09.2015 16:07
Профиль Отправить email
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 


Кто сейчас на конференции

Зарегистрированные пользователи: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
cron
© 2013 «Форум программистов Украины»