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

Форум программистов: 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 сообщение ] 


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

Зарегистрированные пользователи: Yahoo [Bot]


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

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