1

Тема: Програма Масивів

Допоможіть виконати програму, мені вдається розв'язати її в основній функії а мені потрібно через підпрограми.

https://replace.org.ua/uploads/images/10251/6c73a5312cf5b9741a7891afa5597ec3.png

/*Завдання. Дано одновимірний масив а[n] елементів (n елементів). */
/* Cтворити програму засобами мови С++ для обробки заданого       */
/*одновимірного масиву у відповідності з індивідуальним варіантом.*/
/* Протестувати програму за трьома різними наборами даних.        */
/* Переставити масив в зворотньому порядку                        */
/* найбільший чи найменший.                                       

Та якщо можете поясніть як працюють підпрограми.

2

Re: Програма Масивів

https://www.bestprog.net/uk/2017/04/15/ … ії-фактич/
А в цілому я б вам радив навчитися користуватися Ґуґлом, воно дуже допомагає. Досвідчені програмісти часто користуються пошуковими системами.

Подякували: leofun01, grinyuk3092

3

Re: Програма Масивів

Мені потрібно для прикладу хоча б одна програма.

4

Re: Програма Масивів

За посиланням - купа прикладів. Вибачте, якщо ви не в змозі прочитати те, що знаходиться за посиланням, то яким чином вам допоможе відповідь, написана тут? Вам її так само доведеться читати.

5 Востаннє редагувалося koala (13.06.2020 11:30:33)

Re: Програма Масивів

/******************************************************************/
/*Завдання. Дано одновимірний масив а[n] елементів (n елементів). */
/* Cтворити програму засобами мови С++ для обробки заданого       */
/*одновимірного масиву у відповідності з індивідуальним варіантом.*/
/* Протестувати програму за трьома різними наборами даних.        */
/* Переставити масив в зворотньому порядку                        */
/* найбільший чи найменший.                                       */
/******************************************************************/
#include <iostream.h>
#include <conio.h>
#include <math.h>
#include <windows.h>

void main() {
    clrscr();
    int i, j, m, n;
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    float a[100];
    float b;
    // Ввiд кiлькостi елементiв масиву:
    cout << "\n Ввести кiлькiсть елементiв масиву n: ";
    cin >> n;
    // Ввiд елементiв масиву a:
    for(i = 0; i < n; i++) {
        cout << " Ввести a[" << i << "]=";
        cin >> *(a + i);
    }
    m = n / 2; // визначення середини масиву
    // Перестановка елементiв масиву у зворотному порядку:
    j = n;
    for(i = 0; i < m; i++) {
        b = *(a + i);
        *(a + i) = *(a + j - 1);
        *(a + j - 1) = b;
        j--;
        // Друк елементiв перетвореного масиву a:
        cout << "Перетворений масив a:";
        for(i = 0; i < n; i++)
            cout << " " << *(a + i) << " ";
        getch();
    }
}

Мені не вдається переробити з підпрограмами

6

Re: Програма Масивів

Додав вам тег code.
Вирівнюйте код - його так складно читати (зокрема, вам самому).
*(a+i) значно красивіше записується як a[i] - i-й елемент масиву a.

Ну і в чому ж проблема? "Не вдається" - це загальний опис. Покажіть вашу спробу.

7

Re: Програма Масивів

Просто так, як ви це сформулювали, можна зробити так:

void main1()
{/*весь ваш код з main*/}

void main()
{
    main1();
}
Подякували: grinyuk3091

8 Востаннє редагувалося koala (16.06.2020 17:09:32)

Re: Програма Масивів

/******************************************************************/
/*Завдання. Дано одновимірний масив а[n] елементів (n елементів). */
/* Cтворити програму засобами мови С для обробки заданого */
/*одновимірного масиву у відповідності з індивідуальним варіантом.*/
/* Протестувати програму за трьома різними наборами даних. */
/* Переставити масив в зворотньому порядку */
/* найбільший чи найменший. */
/******************************************************************/

#include <iostream>

#include <windows.h>

#include <conio.h>

#include <cmath>

#
define MAX 100

using namespace std;

int InpOneDimArr(float a[], int * n); /* Вводить одномiрний масив */
int OutOneDimArr(float a[], int * n); /* Виводить одномiрний масив */

int main() {

  SetConsoleCP(1251);
  SetConsoleOutputCP(1251);

  float a[MAX]; /* Одномiрний масив елементiв */
  int n; /* Розмiр масиву, що задасть користувач */

  InpOneDimArr(a, & n);
  OutOneDimArr(a, & n);

  return 0;
}

/* Пiдпрограма, що вводить одномiрний масив */
int InpOneDimArr(float a[], int * n) {
  /* Ввід розмiру масиву */
  cout << " Введiть розмiр масиву n<100:";
  cin >> * n;

  /* Ввід елементiв масиву: */
  for (int i = 0; i < * n; i) {
    cout << " Введiть а[" << i << "]:";
    cin >> * (a i);
  }

  return 0;
}

/* Пiдпрограма, що виводить одномiрний масив на друк */
int OutOneDimArr(float a[], int * n) {
  cout << endl << " Елементи масиву: " << endl << "\t";
  for (int i = 0; i < * n; i) {
    cout << * (a i) << " ";
  }
  cout << endl;

  return 0;
}

/* Підпрограма, для перестановки */
int SortMas(float a[], int * n, int b, int j) {
  cout << "Елементи масиву після впорядкування:";
  cout << endl;
  for (int i = 0; i < * n; i) {
    b = * (a i);
    *(a i) = * (a j - 1);
    *(a j - 1) = b;
    j--;
  }
  return 0;
}

9

Re: Програма Масивів

Будь ласка, вживайте стандартні кодування, вирівнюйте код та користуйтеся тегом code (кнопка <>). Я вам поправив.