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

Заполнение масива по формуле и нахождение наименьшего положительного элемента масива - C++

Восстановить пароль Регистрация
 
Bloodymurder
0 / 0 / 0
Регистрация: 21.03.2016
Сообщений: 3
08.05.2016, 11:32     Заполнение масива по формуле и нахождение наименьшего положительного элемента масива #1
Итак условие задачи:
Написать программу для заполнения масива з 20 элементов по формуле http://www.cyberforum.ru/cgi-bin/latex.cgi?a_i=\left(-1 \right)^i\,\frac{i^2}{i-1} и определить наименьший положительный элемент масива.
Вот то что я попытался сделать:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <vcl.h>
#include <iostream.h> 
#include <conio.h>
#include <math.h>
void main()
{
int A[20];float min,int i;
for(int i=0;i<20;i++)
A[i]=pow((-1),i)*(pow(i,2)/(i-1));
min=A[0];
for(int i=1;i<20;i++)
{
if (A[i]<min)
min=A[i];
for(int i=0;i<20;i++)
if (A[i]>0)
A[i]=min;
}
for(int i=0;i<20;i++)
cout<<"A[i]="<<A[i];
getch();
}
В итоге: [C++ Error] Unit.cpp(8): E2040 Declaration terminated incorrectly.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2016, 11:32     Заполнение масива по формуле и нахождение наименьшего положительного элемента масива
Посмотрите здесь:

Перемещение масива C++
Переворот масива C++
C++ Распознание каждого элемента масива
C++ Заполнение динамического масива
C++ Найти количество положительных элементов, что распологаются после минимального элемента числового масива
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Bloodymurder
0 / 0 / 0
Регистрация: 21.03.2016
Сообщений: 3
08.05.2016, 11:42  [ТС]     Заполнение масива по формуле и нахождение наименьшего положительного элемента масива #2
Все с этим разобрался сам теперь вот новая ошибка (Скриншот)
Миниатюры
Заполнение масива по формуле и нахождение наименьшего положительного элемента масива  
VanyakaCompany
 Аватар для VanyakaCompany
2 / 2 / 2
Регистрация: 15.07.2014
Сообщений: 65
08.05.2016, 12:22     Заполнение масива по формуле и нахождение наименьшего положительного элемента масива #3
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
#include <math.h>
#include <iostream> 
#include <cstdlib>
 
using namespace std;
 
int main()
{
    double A[20];
    double min;
 
    for (int i = 0; i < 20; i++)    // Заполнение массива
    {
        A[i] = pow ((-1.0), i) * (pow ((double) i, 2) / (i - 1));
    }
 
    for ( int i = 0; i < 20; i++)   // Переменной min присваивается первый попавшийся положительный элемент
    {
        if (A[i] > 0)
        {
            min = A[i];
            break;
        }
    }
 
    for (int i = 0; i < 20; i++)    // Производится поиск элементов, меньше min и больше 0
    {
        if (A[i] < min && A[i] > 0)
        {
            min = A[i];
        }
    }
 
    for (int i = 0; i < 20; i++)    // Вывод массива
    {
        printf ("A[%d] = %f\n", i, A[i]);
    }
 
    printf ("min = %f\n", min); // Вывод минимального положительного значения
 
    system("pause");    // Пауза
    return 0;
}
P.S.
pow возводит в степень только вещественные числа (степень может быть как вещественной, так и целой)
zss
Модератор
Эксперт С++
 Аватар для zss
5943 / 5548 / 1783
Регистрация: 18.12.2011
Сообщений: 14,167
Завершенные тесты: 1
08.05.2016, 13:24     Заполнение масива по формуле и нахождение наименьшего положительного элемента масива #4
Цитата Сообщение от Bloodymurder Посмотреть сообщение
/(i-1)
На что будет деление при i равном 1?
C++
1
2
3
4
5
6
7
8
A[0]=0;
int sign=-1;
A[1]=sign; // сами уточните, чему равно -1*1/0 
for (int i = 2; i < 20; i++)    // Заполнение массива
    {
        sign=-sign; // рекуррентное вычисление (-1)^i
        A[i] = sign*i*i / (i - 1);
    }
Hilarior
18 / 17 / 12
Регистрация: 03.05.2016
Сообщений: 99
Завершенные тесты: 1
08.05.2016, 13:53     Заполнение масива по формуле и нахождение наименьшего положительного элемента масива #5
Держи)

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
#include <stdio.h>
#include <iostream>
 
using namespace std;
const int n = 20;
 
int main(void) 
{
    setlocale(LC_ALL, "Russian");
 
    int i, j;
 
    int a[n];
    
    for (i = 0; i < n; i++)
        a[i]=pow((-1),i)*(pow(i,2)/(i-1));
 
    for (i = n - 1; i >= 0; i--)
        for (j = 0; j < i; j++)
            if (a[j] > a[j + 1])
            {
                int tmp = a[j];
                a[j]    = a[j+1];
                a[j+1]  = tmp;
            }
 
    for (i = 0; i < n; i++)
        if (a[i] > 0)
        {
            cout << "Минимальное положительное число: " << a[i] << endl;
            break;
        }
 
    return 0;
}
Yandex
Объявления
08.05.2016, 13:53     Заполнение масива по формуле и нахождение наименьшего положительного элемента масива
Ответ Создать тему
Опции темы

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