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

Массивы, одномерные - C++

Восстановить пароль Регистрация
 
Alex1987
0 / 0 / 0
Регистрация: 22.03.2011
Сообщений: 3
22.03.2011, 19:03     Массивы, одномерные #1
Товаресчи, помогите, пожалуйста с програмкой


1. Сформировать массив из n элементов с помощью датчика случайных чисел (n задается пользователем с клавиатуры).
2. Распечатать полученный массив.
3. Выполнить удаление максимальных элементов из массива.
4. Вывести полученный результат.
5. Выполнить добавление К элементов в конец массива
6. Вывести полученный результат.
7. Сдвинуть циклически на M элементов влево (перестановка)
8. Вывести полученный результат.
9. Выполнить поиск первого отрицательного в массиве элемента и подсчитать количество сравнений, необходимых для поиска элемента.
10. Вывести полученный результат.
11. Выполнить сортировку массива просты обменом
12. Вывести полученный результат.
13. Выполнить поиск указанных элементов в отсортированном массиве и подсчитать количество сравнений, необходимых для поиска нужного элемента.
14. Вывести полученный результат.


При решении задач использовать псевдодинамические массивы.

Добавлено через 11 минут
забыл добавить, на c++...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.03.2011, 19:03     Массивы, одномерные
Посмотрите здесь:

C++ Одномерные массивы
C++ одномерные массивы(((
C++ Одномерные массивы
одномерные массивы C++
одномерные массивы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
22.03.2011, 19:06     Массивы, одномерные #2
Врятли все сделают, вам по фриланс.
Alex1987
0 / 0 / 0
Регистрация: 22.03.2011
Сообщений: 3
22.03.2011, 19:10  [ТС]     Массивы, одномерные #3
Цитата Сообщение от neske Посмотреть сообщение
Врятли все сделают, вам по фриланс.
чорт... проблема ну да ладно, может поможет кто
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
22.03.2011, 19:11     Массивы, одномерные #4
Да практически все, а может и все, есть на форуме, вам только поискать и соединить.
Sumrak201007
21 / 21 / 1
Регистрация: 29.01.2011
Сообщений: 84
22.03.2011, 20:20     Массивы, одномерные #5
Сделать то мона тока лень =)

Добавлено через 31 минуту
7 заданий сделел так что жди=)

Добавлено через 34 минуты
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
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include <tchar.h>
#include <iostream.h>
//---------------------------------------------------------------------------
 
#pragma argsused
int _tmain(int argc, _TCHAR* argv[])
{
/*
13. Выполнить поиск указанных элементов в отсортированном массиве и подсчитать количество сравнений, необходимых для поиска нужного элемента.
14. Вывести полученный результат.  */
   int n, count = 0;
   cout<<"Vvedite n: ";
   cin>>n;
   int *M;
   M= new int[n]; //создал динамический массив, где n-переменная
   for(int i = 0; i<n; i++){
      M[i] = random(20)-10;
      cout<<M[i]<<' ';
   }
 
   int max = M[0];
   for (int i=1; i < n; i++) {
       if (max < M[i])
           max = M[i];
 
   }
   cout<<'\n'<<"Max: "<<max<<'\n';
   for(int i = 0; i<n; i++){
        if (M[i] == max){
           count++;
        }
   }
   int j=0;
   int *M1;
   M1= new int[n+count];
   for (int i=0; i < n-count; i++) {
      if (M[i]<max) {
          M1[j] = M[i];
          cout<<M1[j]<<' ';
          j++;
      }
   }
 
   delete [] M; //удалил динамический массив
 
   int k;
   cout<<'\n'<<"Vvedite k: ";
   cin>>k;
   cout<<'\n';
   for (int i = n-count; i < (n-count+k); i++) {
       M1[i] = random(20)-2;
   }
 
   for (int i= 0; i < n-count+k ; i++) {
       cout<<M1[i]<<' ';
   }
 
   int m_sdvig;
   cout<<'\n'<<"Vvedite M: ";
   cin>>m_sdvig;
   int first;
   for (int i = 0; i < m_sdvig; i++) {
        first = M1[0];
        for (j = 1; j < n-count+k; j++) {
           M1[j-1] = M1[j];
        }
        M1[n-count+k-1] = first;
   }
 
   for (int i= 0; i < n-count+k ; i++) {
       cout<<M1[i]<<' ';
   }
   for (int i = 0; i < n-count+k; i++) {
      if (M1[i]<0) {
        cout<<'\n'<<"Otr chislo: "<<M1[i]<<" Count: "<<i<<'\n';
        break;
      }
   }
    int temp;
   for (j = 0; j < n-count+k; j++) {
 
   for (int i = 0; i < n-count+k-1; i++) {
       if (M1[i]<M1[i+1]) {
         temp = M1[i];
         M1[i] = M1[i+1];
         M1[i+1] = temp;
       }
   }}
 
   for (int i= 0; i < n-count+k ; i++) {
       cout<<M1[i]<<' ';
   }
 
   cout<<'\n'<<"Poisk: ";
   cin>>temp;
   count = 0;
   for (int i = 0; i < n-count+k; i++) {
        if (M1[i] ==temp) {
            cout<<M1[i]<<' '<<i<<' '<<'\n';
            count++;
        }
 
   }
   cout<<count+1;
   system("Pause") ;
   return 0;
}
//---------------------------------------------------------------------------
Добавлено через 25 секунд
Сделал все задания работает 100%
Alex1987
0 / 0 / 0
Регистрация: 22.03.2011
Сообщений: 3
22.03.2011, 20:24  [ТС]     Массивы, одномерные #6
Огромное спасибо !
Sumrak201007
21 / 21 / 1
Регистрация: 29.01.2011
Сообщений: 84
22.03.2011, 20:27     Массивы, одномерные #7
Да не за что пиши если че (ICQ: 615936881)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.03.2011, 20:27     Массивы, одномерные
Еще ссылки по теме:

одномерные массивы C++
C++ Одномерные массивы
C++ одномерные массивы

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

Или воспользуйтесь поиском по форуму:
pproger
162 / 65 / 13
Регистрация: 22.03.2011
Сообщений: 188
22.03.2011, 20:27     Массивы, одномерные #8
ну а я с stl постебался слегка. вгони препода в шок

Код
#include <iostream>
#include <iterator>
#include <vector>
#include <algorithm>
#include <time.h>
#include <functional>

using namespace std;

//--------------------------------------------------------------------------------
class NegativeWithCount : public unary_function<int, bool> {
public:
	NegativeWithCount()
	{
		val = 0;
		compareCount = 0;
	}

	bool operator()(const int &i) const
	{
		val = i;
		++compareCount;
		return i < 0;
	}

	static int val;
	static int compareCount;
};

//--------------------------------------------------------------------------------
class CmpWithCount : public binary_function<int, int, bool> {
public:
	CmpWithCount()
	{
		compareCount = 0;
	}

	bool operator()(const int &i, const int &j) const
	{
		++compareCount;
		return i == j;
	}

	static int compareCount;
};

int NegativeWithCount::val;
int NegativeWithCount::compareCount;
int CmpWithCount::compareCount;

int main(int argc, char *argv[])
{
	vector<int> v;

	srand(static_cast<unsigned>(time(0)));

	//--------------------------------------------------------------------------------
	cout << "input N: ";
	for (int i = *istream_iterator<int>(cin); i > 0; i--)
		v.push_back((rand() % 100 + 1) * (rand() % 2 ? 1 : -1));

	copy(v.begin(), v.end(), ostream_iterator<int>(cout, " "));
	cout << endl;
	
	//--------------------------------------------------------------------------------
	cout << "after remove: " << endl;
	v.erase(remove(v.begin(), v.end(), *max_element(v.begin(), v.end())), v.end());
	copy(v.begin(), v.end(), ostream_iterator<int>(cout, " "));
	cout << endl;

	//--------------------------------------------------------------------------------
	cout << "input K: ";
	for (int i = *istream_iterator<int>(cin); i > 0; i--)
		v.push_back(*istream_iterator<int>(cin));

	copy(v.begin(), v.end(), ostream_iterator<int>(cout, " "));
	cout << endl;

	//--------------------------------------------------------------------------------
	cout << "input M: ";
	rotate(v.begin(), v.begin() + *istream_iterator<int>(cin), v.end());
	copy(v.begin(), v.end(), ostream_iterator<int>(cout, " "));
	cout << endl;

	//--------------------------------------------------------------------------------
	if (find_if(v.begin(), v.end(), NegativeWithCount()) != v.end()) {
		cout << "first negative element = " << NegativeWithCount::val
			 << ", compare count = " << NegativeWithCount::compareCount << endl;
	} else {
		cout << "non negative elements" << endl;
	}

	//--------------------------------------------------------------------------------
	cout << "sorted array:" << endl;
	sort(v.begin(), v.end());
	copy(v.begin(), v.end(), ostream_iterator<int>(cout, " "));

	//--------------------------------------------------------------------------------
	cout << endl << "input element for search: ";
	if (find_if(v.begin(), v.end(), bind2nd(CmpWithCount(), *istream_iterator<int>(cin))) != v.end()) {
		cout << "found. compare count = " << CmpWithCount::compareCount << endl;
	} else {
		cout << "nothing found" << endl;
	}

	return 0;
}
не былоб в задании этих счетчиков сравнений, можно было бы без функторов обойтись
Yandex
Объявления
22.03.2011, 20:27     Массивы, одномерные
Ответ Создать тему
Опции темы

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