Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 22.03.2011
Сообщений: 3
1

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

22.03.2011, 19:03. Показов 1231. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Товаресчи, помогите, пожалуйста с програмкой


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


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

Добавлено через 11 минут
забыл добавить, на c++...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.03.2011, 19:03
Ответы с готовыми решениями:

одномерные массивы
1. Дано целое число N (> 0). Сформировать и вывести целочисленный массив размера N: • содержащий N...

Одномерные массивы С++
Помогите пожалуйста написать программку! Заполнение динамического целочисленного массива длинной...

одномерные массивы
в одномерном массиве, состоящем из n вещественных элементов, вычислить произведение элементов...

Одномерные массивы
Помогите пожалуйста, очень надо)) заранее спасибо))) Тема: Одномерные массивы. Разработать...

7
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
22.03.2011, 19:06 2
Врятли все сделают, вам по фриланс.
0
0 / 0 / 0
Регистрация: 22.03.2011
Сообщений: 3
22.03.2011, 19:10  [ТС] 3
Цитата Сообщение от neske Посмотреть сообщение
Врятли все сделают, вам по фриланс.
чорт... проблема ну да ладно, может поможет кто
0
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
22.03.2011, 19:11 4
Да практически все, а может и все, есть на форуме, вам только поискать и соединить.
0
22 / 22 / 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%
2
0 / 0 / 0
Регистрация: 22.03.2011
Сообщений: 3
22.03.2011, 20:24  [ТС] 6
Огромное спасибо !
0
22 / 22 / 1
Регистрация: 29.01.2011
Сообщений: 84
22.03.2011, 20:27 7
Да не за что пиши если че (ICQ: 615936881)
0
166 / 69 / 17
Регистрация: 22.03.2011
Сообщений: 196
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;
}
не былоб в задании этих счетчиков сравнений, можно было бы без функторов обойтись
0
22.03.2011, 20:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.03.2011, 20:27
Помогаю со студенческими работами здесь

Одномерные массивы
Помоги решить задачу чтоб. зачёт получить В одномерном массиве размещены: в первых элементах —...

Одномерные массивы в С#(С++)
Помогите пожалуйсто,пишу программу,а она чего-то не хочет писаться,выдает многочисленные ошибки.На...

Одномерные массивы в Си++
Парни напишите пожалуйста программы буду благодарен...)) Вот условие: 1) Последовательность...

Одномерные массивы.
Помогите пожалуйста! На завтра нужна прога в С++, а у меня ничего не выходит=(.Известны данные о...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru