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

Указать, упорядочены ли числа в массиве по возрастанию. - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 24, средняя оценка - 4.67
dimakaz5194
0 / 0 / 0
Регистрация: 02.11.2011
Сообщений: 40
02.11.2011, 22:50     Указать, упорядочены ли числа в массиве по возрастанию. #1
Помогите написать программы, срочно до вторника следующего нужно, в долгу не останусь, кто сможет пишите в личку, обсудим стоимость и сроки.
---------------------------------------------------
6. Дан массив вещественных случайных чисел (размер массива определяет пользователь, но в диапазоне [3;20]). Указать, упорядочены ли числа в массиве по возрастанию.

--------------------------------------------------------------------

2. Дан массив вещественных случайных чисел (размер массива определяет пользователь, но в диапазоне [3;20]). Найти минимальное число.

---------------------------------------------------------------

26. Дан массив вещественных чисел (размер – случайное число из диапазона [5;10]). Элементы массива задает пользователь. Для элементов, дробная часть которых равна 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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#include <iostream>
#include <graphics.h>
#include <math.h>
 
using namespace std;
void Tri(int a); 
void bar1(int x1, int y1, int x2, int y2, int colline, int colfill);
void SHP(int x, int y);
 
int main( )
{
    int a;
    a=30;
    initwindow( 640 , 480 , "WinBGIm" );
    setcolor(COLOR(255,0,0));
    setfillstyle(1,COLOR(255,255,255));
    floodfill(1,1,COLOR(255,255,255));
    setlinestyle(0,0,5);
    Tri(0);
    setlinestyle(0,0,20);
    Tri(30);
    setfillstyle(1,COLOR(0,0,0));
    
    bar(250,340,400,350);
    bar(250,290,400,300);
    setcolor(0);
    setlinestyle(0,0,1);
    SHP(260,290);
    SHP(290,290);
    SHP(320,290);
    SHP(350,290);
    SHP(380,290);
    
 
 
    while( !ismouseclick(WM_LBUTTONDOWN) );
  
    
    
    
    
    
    setfillstyle(1,COLOR(255,255,255));
    floodfill(1,1,1);
    setfillstyle(1,COLOR(4,81,19));
    setcolor(COLOR(0,0,0));
    fillellipse(100,300,45,45);
    setfillstyle(1,COLOR(10,201,48));
    fillellipse(165,300,48,48);    
    fillellipse(230,300,48,48);
    fillellipse(295,300,48,48);
    fillellipse(305,230,48,48);
    fillellipse(305,170,48,48);
    fillellipse(305,75,48,48);
    setlinestyle(0,0,4);
    moveto(285,30);
    linerel(-10,-20);
    moveto(324,30);
    linerel(10,-20);
    setfillstyle(1,0);
    fillellipse(275,10,5,5); 
    fillellipse(334,10,5,5);  
    fillellipse(290,55,6,6); 
    fillellipse(320,55,6,6);
    setlinestyle(0,0,2);
    arc(305,75,210,330,5);
    arc(305,90,180,360,10);
 
    
    
    
    while( !ismouseclick(WM_LBUTTONDBLCLK) ); 
  
    
    
    closegraph( ); 
    
    return( 0 );   
}
 
void bar1(int x1,int y1, int x2, int y2, int colline, int colfill)
{
    setcolor(colline);
    setfillstyle(1,colfill);
    bar(x1,y1,x2,y2);
}
 
 
void Tri(int a)
{
    moveto(135+a,420-a/2);
    lineto(502-a,420-a/2);    
    line(520-a,390-a/2,337,75+a);
    line(302,75+a,120+a,388-a/2);
    arc(136+a,400-a/2,140,270,20);
    arc(504-a,400-a/2,270,40,20);
    arc(320,83+a,25,155,20);
}
 
void SHP(int x, int y)
{
    bar(x,y,x+10,y+70);
    moveto(x,y);
    linerel(5,-10);
    linerel(5,10);
    floodfill(x+5,y-5,0);   
}
 Комментарий модератора 
Прикрепляйте картинки к сообщениям.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.11.2011, 22:50     Указать, упорядочены ли числа в массиве по возрастанию.
Посмотрите здесь:

C++ Найти все простые числа в массиве и упорядочить их по возрастанию
Если целые числа упорядочены по возрастанию (a<b<c<d) сменить порядок их следования на противоположный C++
Помогите описать функцию, определяющую, упорядочены ли строго по возрастанию элементы в целочисленном массиве C++
Описать функциюю f(a, n, p), определяющую, упорядочены ли строго по возрастанию элементы в целочисленном массиве C++
C++ Работа со списками (Проверить, упорядочены ли числа по возрастанию или по убыванию)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dimakaz5194
0 / 0 / 0
Регистрация: 02.11.2011
Сообщений: 40
03.11.2011, 13:38  [ТС]     Указать, упорядочены ли числа в массиве по возрастанию. #41
Да не уже все работает менять ничего не нужно...теперь вот хотелось бы узнать что за проверка и куда ее добавлять.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
edward_jonson
 Аватар для edward_jonson
157 / 157 / 25
Регистрация: 23.02.2011
Сообщений: 388
03.11.2011, 13:44     Указать, упорядочены ли числа в массиве по возрастанию. #42
Thinker предложил более краткий вариант проверки на упорядоченность в 6-й задаче
dimakaz5194
0 / 0 / 0
Регистрация: 02.11.2011
Сообщений: 40
03.11.2011, 18:35  [ТС]     Указать, упорядочены ли числа в массиве по возрастанию. #43
Насчет более кратко 6-ю задачу, выводит ошибку тот код.
Миниатюры
Указать, упорядочены ли числа в массиве по возрастанию.  
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
03.11.2011, 18:55     Указать, упорядочены ли числа в массиве по возрастанию. #44
dimakaz5194, это несерьезно, там алгоритм, а не программа. Вот:
C
1
2
3
4
5
6
7
8
9
10
11
12
#include<stdio.h>
int IsSort(int *a, int n)
{
    return n < 2 ? 1 : (a[n-2] > a[n-1] ? 0 : IsSort(a, n-1));
}
 
int main()
{
    int a[5] = {1, 2, 3, 4, 5};
    printf("%d\n", IsSort(a, 5));
    return 0;
}
dimakaz5194
0 / 0 / 0
Регистрация: 02.11.2011
Сообщений: 40
03.11.2011, 19:10  [ТС]     Указать, упорядочены ли числа в массиве по возрастанию. #45
да я потом уже понял что был не прав) я пока в си не силен.. а вот теперь работает
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
03.11.2011, 19:12     Указать, упорядочены ли числа в массиве по возрастанию. #46
Thinker, как-то у Вас всё задом на перёд происходит Вот немного по-другому
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
 
int is_ascendant_sorted(int * arr, size_t size){
    return ( size < 2 ) ? 1 : ( *arr > *(arr+1) ) ? 0 : is_ascendant_sorted(arr + 1, size - 1);
}
 
#define SIZE 5
 
int main(void){
    int a1[SIZE] = { 1, 2, 3, 4, 5 };
    int a2[SIZE] = { 1, 3, 2, 4, 5 };
    
    printf("%s\t%s\n", ( is_ascendant_sorted(a1, SIZE) ) ? "YES" : "NO", ( is_ascendant_sorted(a2, SIZE) ) ? "YES" : "NO");
    
    return 0;
}
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
03.11.2011, 19:15     Указать, упорядочены ли числа в массиве по возрастанию. #47
Цитата Сообщение от easybudda Посмотреть сообщение
Thinker, как-то у Вас всё задом на перёд происходит
Это не страшно совсем
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
03.11.2011, 19:16     Указать, упорядочены ли числа в массиве по возрастанию. #48
Цитата Сообщение от Thinker Посмотреть сообщение
Это не страшно совсем
Нет, конечно, и мой вариант ничем не правильнее, забавно просто
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
03.11.2011, 19:19     Указать, упорядочены ли числа в массиве по возрастанию. #49
easybudda, ну это задача простая, а вот Ваше мнение по поводу этого:
http://www.cyberforum.ru/showthread.php?p=2132969
lemegeton
 Аватар для lemegeton
2910 / 1339 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
04.11.2011, 02:27     Указать, упорядочены ли числа в массиве по возрастанию. #50
Рекурсивные штуки часто имеют негативные стороны. Как, например, требование к размеру стека.

Если уж извращаться, то писать выполнение расчетов на этапе компиляции.

Еще варианты решений.
2.
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
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
#include <cmath>
 
int main(int argc, char *argv[]) {
  srand(time(NULL));
  size_t arraySize = 5 + rand() % 6;
  float *array = new float[arraySize];
 
  for (size_t i = 0; i < arraySize; ++i)
    std::cout << std::fixed << std::setprecision(1) <<
    (array[i] = (rand() % 10000) / 10.) << " ";
  std::cout << std::endl;
 
  float minimum = array[0];
  for (size_t i = 1; i < arraySize; ++i)
    if (minimum > array[i])
      minimum = array[i];
  std::cout << "Minimum: " << std::fixed << minimum << std::endl;
 
  delete [] array;
  std::cout << "Press enter to quit.";
  std::cin.get();
  return 0;
}
26.
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
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
#include <cmath>
 
int main(int argc, char *argv[]) {
  srand(time(NULL));
  size_t arraySize = 5 + rand() % 6;
  float *array = new float[arraySize];
 
  for (size_t i = 0; i < arraySize; ++i)
    std::cout << std::fixed << std::setprecision(1) <<
    (array[i] = (rand() % 10000) / 10.) << " ";
  std::cout << std::endl;
 
  float epsilon = 0.0001; // точность
  for (size_t i = 0; i < arraySize; ++i)
    if ((array[i] - int(array[i])) < epsilon)
      std::cout << "Zero float at position " << (i + 1) << std::endl;
 
  delete [] array;
  std::cout << "Press enter to quit.";
  std::cin.get();
  return 0;
}
Про картинку -- какая графическая система?
dimakaz5194
0 / 0 / 0
Регистрация: 02.11.2011
Сообщений: 40
04.11.2011, 18:55  [ТС]     Указать, упорядочены ли числа в массиве по возрастанию. #51
Win BGI система

Можете исправить вопросы на слова в графической программе?

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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
#include <graphics.h>
 #include <math.h>
 
 using namespace std;
 void Tri(int a);
 void bar1(int x1, int y1, int x2, int y2, int colline, int colfill);
 void SHP(int x, int y);
 void Trac(int x, int y);
 void Ramka(int x, int y);
 
 int main( )
 {
 int a;
 a=30;
 initwindow( 640 , 480 , "WinBGIm" );
 setcolor(COLOR(255,0,0));
 setfillstyle(1,COLOR(255,255,255));
 floodfill(1,1,COLOR(255,255,255));
 setlinestyle(0,0,5);
 Tri(0);
 setlinestyle(0,0,20);
 Tri(30);
 setfillstyle(1,COLOR(0,0,0));
 
 bar(250,340,400,350);
 bar(250,290,400,300);
 setcolor(0);
 setlinestyle(0,0,1);
 SHP(260,290);
 SHP(290,290);
 SHP(320,290);
 SHP(350,290);
 SHP(380,290);
 
 
 
 while( !ismouseclick(WM_LBUTTONDOWN) );
 
 
 
 
 
 
 setfillstyle(1,COLOR(255,255,255));
 floodfill(1,1,1);
 setfillstyle(1,COLOR(4,81,19));
 setcolor(COLOR(0,0,0));
 fillellipse(100,300,45,45);
 setfillstyle(1,COLOR(10,201,48));
 fillellipse(165,300,48,48);
 fillellipse(230,300,48,48);
 fillellipse(295,300,48,48);
 fillellipse(305,230,48,48);
 fillellipse(305,170,48,48);
 fillellipse(305,75,48,48);
 setlinestyle(0,0,4);
 moveto(285,30);
 linerel(-10,-20);
 moveto(324,30);
 linerel(10,-20);
 setfillstyle(1,0);
 fillellipse(275,10,5,5);
 fillellipse(334,10,5,5);
 fillellipse(290,55,6,6);
 fillellipse(320,55,6,6);
 setlinestyle(0,0,2);
 arc(305,75,210,330,5);
 arc(305,90,180,360,10);
 
 
 
 
 while( !ismouseclick(WM_LBUTTONDBLCLK) );
 closegraph( );
 initwindow( 640*2 , 480 , "WinBGIm" );
 setfillstyle(1,COLOR(255,255,255));
 floodfill(1,1,1);
 setcolor(COLOR(255,0,0));
 setlinestyle(0,0,4);
 fillellipse(240,240,150,150);
 setlinestyle(0,0,20);
 fillellipse(240,240,132,132);
 Trac(166,225);
 
 
 Ramka(500,140);
 Trac(575,222);
 
 
 setcolor(0);
 
 
 while( !ismouseclick(WM_LBUTTONDBLCLK) );
 closegraph( );
 return( 0 );
 }
 
 
 
 
 
 
 void bar1(int x1,int y1, int x2, int y2, int colline, int colfill)
 {
 setcolor(colline);
 setfillstyle(1,colfill);
 bar(x1,y1,x2,y2);
 }
 
 
 void Tri(int a)
 {
 moveto(135+a,420-a/2);
 lineto(502-a,420-a/2);
 line(520-a,390-a/2,337,75+a);
 line(302,75+a,120+a,388-a/2);
 arc(136+a,400-a/2,140,270,20);
 arc(504-a,400-a/2,270,40,20);
 arc(320,83+a,25,155,20);
 }
 
 void SHP(int x, int y)
 {
 bar(x,y,x+10,y+70);
 moveto(x,y);
 linerel(5,-10);
 linerel(5,10);
 floodfill(x+5,y-5,0);
 }
 
 
 void Trac(int x, int y)
 {
 setfillstyle(1,0);
 setcolor(0);
 bar(x,y,x+140,y+70);
 setcolor(COLOR(255,255,255));
 setlinestyle(0,0,4);
 fillellipse(x,y+70,25,25);//?????? ??????
 fillellipse(x+140,y+60,35,35);//?????? ??????
 
 setfillstyle(1,COLOR(255,255,255));
 fillellipse(x,y+70,10,10);//?????? ??????
 fillellipse(x+140,y+60,17,17);//?????? ??????
 bar(x,y,x+16,y+16);
 
 setcolor(0);
 setlinestyle(0,0,1);
 arc(x+16,y+16,90,180,16);
 setfillstyle(1,0);
 floodfill(x+14,y+14,0);
 
 
 setfillstyle(1,0);
 moveto(x+140,y+23);
 lineto(x+146,y+4);
 lineto(x+140,y);
 floodfill(x+145,y+4,0);
 
 
 setlinestyle(0,0,10);
 moveto(x+70,y);
 linerel(30,-40);
 linerel(35,0);
 linerel(0,40);
 
 
 bar(x+40,y-40,x+50,y); //?????
 }
 
 
 
 
 void Ramka(int x, int y)
 {
    line(x,y+30,x,y+170);
    line(x+300,y+30,x+300,y+170);
    line(x+30,y,x+270,y);
    line(x+30,y+200,x+270,y+200);
    arc(x+29,y+29,90,180,30);
    arc(x+271,y+29,0,90,30);
    arc(x+29,y+171,180,270,30);
    arc(x+271,y+171,270,360,30);
 }
Добавлено через 48 минут
easybudda,
Thinker,
после компиляции окно закрывается.
lemegeton, в задачах не выполнены условия размер массива в одной задает пользователь в другой, элементы массива должен задать пользователь.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
04.11.2011, 20:16     Указать, упорядочены ли числа в массиве по возрастанию. #52
Цитата Сообщение от dimakaz5194 Посмотреть сообщение
easybudda,
Thinker,
после компиляции окно закрывается.
И чо, блин, с этим делать?

Цитата Сообщение от Thinker Посмотреть сообщение
easybudda, ну это задача простая, а вот Ваше мнение по поводу этого:
/cpp-beginners/thread377145.html#post2132969
Да вы с Байтом там уже все простые варианты перебрали, осталась только мракобесия с отчаянными попытками свести к минимуму число возможных перестановок...
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
04.11.2011, 20:24     Указать, упорядочены ли числа в массиве по возрастанию. #53
Цитата Сообщение от easybudda Посмотреть сообщение
Да вы с Байтом там уже все простые варианты перебрали, осталась только мракобесия с отчаянными попытками свести к минимуму число возможных перестановок...
Так у меня алгоритм и совершает минимальное (наименьшее) число перестановок, поэтому его нельзя уже усовершенствовать
А в программировании не часто удается написать алгоритм с наименьшей сложностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.11.2011, 22:31     Указать, упорядочены ли числа в массиве по возрастанию.
Еще ссылки по теме:

C++ Напишите программу, которая определяет, упорядочены ли цифры числа по возрастанию
C++ Дано натуральное n. Определить, упорядочены ли по возрастанию или по убыванию цифры в записи этого числа
Определить, упорядочены ли в массиве по возрастанию четные числа C++

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

Или воспользуйтесь поиском по форуму:
lemegeton
 Аватар для lemegeton
2910 / 1339 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
06.11.2011, 22:31     Указать, упорядочены ли числа в массиве по возрастанию. #54
Цитата Сообщение от dimakaz5194 Посмотреть сообщение
lemegeton, в задачах не выполнены условия размер массива в одной задает пользователь в другой, элементы массива должен задать пользователь.
Никогда не выполняю этого условия. Лень вводить руками бессмыслицу. Измените код под данное условие самостоятельно. Это очень просто.

Цитата Сообщение от dimakaz5194 Посмотреть сообщение
Win BGI система
Не пользуюсь WinBGI.
Yandex
Объявления
06.11.2011, 22:31     Указать, упорядочены ли числа в массиве по возрастанию.
Ответ Создать тему
Опции темы

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