C++: Массивы, сортировка и нахождение минимальных-максимальных индексов

Дан массив вещественных чисел X=(x1,x2,..,xn). Записать элементы
заданного массива Х в массив Y следующим образом: в начальной части
расположить положительные элементы в порядке возрастания, затем в
порядке убывания отрицательные элементы, нулевые элементы не
записывать. Оценить, как при этом изменилось положение максимального
и минимального элементов массива.
Использовать функции.

Задачка простая на вид. Приступаем. У нас есть массивы, целых два. с ними нужно уметь делать следующее:

  • Создавать (Random)
  • Выводить на экран
  • Сортировать
  • Дополнять элементами (для второго массива)

Читать далее

C++: Среднее арифметическое + нахождение минимального и максимального элементов (индексов) + сортировка

Хорошие задачки стали давать в универах. Составные =)

Вычислить среднее арифметическое элементов массива X=(x1,x2,…,xn),
расположенных между его минимальным и максимальным значениями.
Если минимальный элемент размещается в массиве раньше
максимального, то упорядочить массив на данном промежутке по
возрастанию его элементов, и наоборот, если минимальный элемент
размещается после максимального, то упорядочить по убыванию.

PS: Нельзя использовать динамическую память :(
Задача на самом деле не задача, а состоящая из трех подзадач:

  1. Найти минимальный и максимальный элементы и их индексы
  2. Вычислить среднее арифметическое для этого промежутка
  3. Отсортировать промежуток по возростанию или убыванию в зависимости от того, как расположены минимальный и максимальный элементы.

Читать далее

Java: Транспонированная матрица

Начал учить JAVA. Первая программа пусть будет транспонированная матрица. Мне код понятен, очень похоже на c/c++/c#.

Я модифицировал эту программу написанную на си

Транспонированная матрица — матрица, полученная из исходной матрицы  заменой строк на столбцы.

Читать далее

VBA: Рассчитать величину вклада в банке по месяцам

В банке открыт счет. Банк ежегодно начисляет фиксированный процент от вклада. Соответственно увеличивается сумма вклада. Составить программу, которая рассчитывает величину вклада и выводит эту величину для каждого года, пока величина вклада не увеличится вдвое. Для решения этой задачи предусмотреть клетки для ввода первоначальной величины вклада, учетной ставки процента от вклада, года помещения вклада в банк, а также для вывода года, когда сумма первоначального вклада удвоится.

Первое, что делаем, размечаем форму, определяем те ячейки, которые будут использоваться для ввода данных и определяем те, где будет выводиться информация. Для удобстава пользователя размещаем кнопку на листе.

Для входных данных будут использоваться ячейки 2,1; 2,2; 2,3.

Читать далее

C++, Транспонированная матрица

Не хватало транспонированной матрицы:

Upd: Транспонированная матрица на java

Способ без использования динамической памяти (n не больше ста):

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
#include <iostream>
#include <time.h>
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    const int maxsize = 100;
    int a [maxsize][maxsize], n;
    int temp;
    cout << "n=";
    cin >> n;
 
    if (n > maxsize)
    {
        cout << "n is too lage...";
        system("pause");
        return -1;
    }
    srand(time(NULL));
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            a[i][j] = rand() % 10;
            cout << a[i][j] << " ";
        }
        cout << endl;
    }
    for(int i=0;i<n;i++) 
    { 
        for(int j=i;j<n;j++) 
        {
            temp=a[j][i];
            a[j][i]=a[i][j];
            a[i][j]=temp;
        }
    }
    cout << "Transp.:" << endl;
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            cout << a[i][j] << " ";
        }
        cout << endl;
    }
    system("pause");
    return 0;
}
#include <iostream>
#include <time.h>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    const int maxsize = 100;
    int a [maxsize][maxsize], n;
    int temp;
    cout << "n=";
    cin >> n;

    if (n > maxsize)
    {
        cout << "n is too lage...";
        system("pause");
        return -1;
    }
    srand(time(NULL));
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            a[i][j] = rand() % 10;
            cout << a[i][j] << " ";
        }
        cout << endl;
    }
    for(int i=0;i<n;i++) 
    { 
        for(int j=i;j<n;j++) 
        {
            temp=a[j][i];
            a[j][i]=a[i][j];
            a[i][j]=temp;
        }
    }
    cout << "Transp.:" << endl;
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            cout << a[i][j] << " ";
        }
        cout << endl;
    }
    system("pause");
    return 0;
}

Пример работы программы