Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+2

Задача по программированию C++

Кто хорошо знает массивы, помогите пожалуйста,сколько не сложно. Можно пользоваться массивами, условными операторами. Запрещается использование любых других структур для хранения последовательностей данных, а также библиотечных функций (за исключением abs и swap).

По дате
По рейтингу
Аватар пользователя
Новичок

С динамическим массивом размера n (где n, eстественно, не меньше двух !), вводимого первой строкой, за которой как угодно в любом порядке вводятся n компонент массива типа int. Первая задача:

123456789101112131415
 #include <iostream>  
using namespace std;
int main() 
{
  int i, n;
  cin >> n;
  int *A = new int [n];
  for (i = 0; i < n; i++) cin >> A[i];
  for (i = 0; i < n - 1; i++)
  if (A[i] < A[i + 1]) cout << A[i] << ' ';
  delete [] A;
  cin.get();
  cin.get();
  return 0;
} 

Во второй задаче для разнообразия можно вместо динамического массива взять VLA-массив (который как бы тоже динамический, да жаль вот только, что такие массивы не в каждой системе программирования на плюсах поддерживаются, а если так работать не будет, тогда можно ведь и как в первой задаче использовать динамический массив):

123456
 
#include <iostream>  
int main() { int i, m = 0, n; std::cin >> n;
int A[n]; for (i = 0; i < n; i++) std::cin >> A[i];
for (i = 0; i < n - 1; i++) if (A[i] < 0 && A[i + 1] > 0) m++;
std::cout << m << std::endl; } 

Тут, кстати, можно и всего лишь одним циклом обойтись...

Аватар пользователя
Высший разум
12345678910111213141516
 #include <iostream> 
#include <vector> 
using namespace std; 
int main() { 
    size_t n; 
    cin >> n; 
    vector<int> box(n); 
    for (auto& x : box) cin >> x; 
    for (size_t i = 0, j = 1; j < n; ++i, ++j) { 
        if (box[i] < box[j]) { 
            cout << box[i] << ' '; 
        } 
    } 
    puts(""); 
    system("pause > nul"); 
} 
12345678910111213141516
 #include <iostream> 
#include <vector> 
using namespace std; 
int main() { 
    size_t n; 
    cin >> n; 
    vector<int> box(n); 
    for (auto& x : box) cin >> x; 
    size_t m = 0; 
    for (size_t i = 0, j = 1; j < n; ++i, ++j) { 
        if (box[j] > 0 && box[i] < 0) { 
            ++m; 
        } 
    } 
    cout << m << '\n'; 
} 
Аватар пользователя
Ученик

Иче

Аватар пользователя
Ученик

Пон