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

одномерные массивы и сложный поиск - C++

Восстановить пароль Регистрация
 
Vitamin
0 / 0 / 0
Регистрация: 18.12.2011
Сообщений: 10
18.12.2011, 18:59     одномерные массивы и сложный поиск #1
помогите пажалуста
я не могу понять как создать и вывести масив Ук=sin(pow(x,2))*cos(pow(x,3))-sin(x)+5.2
с элементами к = 1,2...,7.
Второй отрицательный элемент заменить минимальным.

Добавлено через 1 час 16 минут
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
#include <fstream.h>
#include<iostream.h>
#include<math.h>
#include <conio.h>
#include <condefs.h>
#define N 10
float *y = new float[N];
float *g = new float[N];
float x = 0;
int k;
int n;
void main()
{
cout<<"ваап";
for ( k = 0, n = 0; k < 10; k++, x+=0.5 )
{
*( y + k ) = sin(pow(x,2))*cos(pow(x,3))-sin(x)+5.2;
cout << k << '\t' << *( y + k ) << "\n";
 
}
delete[]y;
 
delete[]g;
 
system( "pause" );
}
вот програму создал для масива,вродебы роботает а как заменить елемент незнаю
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2011, 18:59     одномерные массивы и сложный поиск
Посмотрите здесь:

C++ одномерные массивы
одномерные массивы C++
Одномерные массивы C++
C++ одномерные массивы
Одномерные массивы СИ/СИ++ C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
insolent
 Аватар для insolent
826 / 347 / 15
Регистрация: 30.01.2009
Сообщений: 1,204
18.12.2011, 20:33     одномерные массивы и сложный поиск #2
При 7-и итерациях вряд ли будет хоть один отрицательный элемент, а вот если убрать добавление 5.2, то будут отрицательные

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
#include <iostream>
#include <cmath>
 
using namespace std;
 
const int k = 7;
 
void Print(double arr[], int n)
{
    for (int i = 0 ; i < n; i++)
        cout << arr[i] << " ";
    cout << endl;
}
int main()
{ 
    double Y[k], x = -1, min = 0;
    int count = 0;
 
    for (int i = 0; i < k; i++, x += 0.5)
        Y[i] = sin(pow(x,2))*cos(pow(x,3))-sin(x);
 
    Print(Y, k);
 
    for (int i = 0; i < k; i++)
        if (Y[i] < min)
            min = Y[i];
 
    for (int i = 0; i < k; i++)
    {
        if (Y[i] < 0)
            count++;
        if (count == 2)
            Y[i] = min;
    }
 
    Print(Y, k);
 
    return(0);
}
Vitamin
0 / 0 / 0
Регистрация: 18.12.2011
Сообщений: 10
18.12.2011, 21:38  [ТС]     одномерные массивы и сложный поиск #3
а как зделать просто чтобы минимальное значение стало вторым?
edward_jonson
 Аватар для edward_jonson
157 / 157 / 25
Регистрация: 23.02.2011
Сообщений: 388
19.12.2011, 00:58     одномерные массивы и сложный поиск #4
C++
1
2
3
4
int min=0;
/*...*/
for (k=1;k<10;k++) if(*(y+k)<*(y+min)) min=k; 
*(y+1)=*(y+min);
только зачем вы делаете массив размерности 10, если вам надо для 1..7?
Vitamin
0 / 0 / 0
Регистрация: 18.12.2011
Сообщений: 10
19.12.2011, 01:13  [ТС]     одномерные массивы и сложный поиск #5
согласен что сглупил с массивом,но немогу понять,это то что вы дописали,никак не влияет на програму, или я его неправильно вставляю!
немогли бы вы сбросить полную програму или обьяснить в чом проблема у меня ?
edward_jonson
 Аватар для edward_jonson
157 / 157 / 25
Регистрация: 23.02.2011
Сообщений: 388
19.12.2011, 03:19     одномерные массивы и сложный поиск #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream.h>
#include <math.h>
#define N 7
void main()
{
    float *y = new float[N],*g = new float[N],x=0.0;
    int k,min=0;
    for (k=0;k<N;k++,x+=0.5)
    {
    *(y+k)=sin(pow(x,2))*cos(pow(x,3))-sin(x)+5.2;
        cout << k << '\t' << *(y+k) << "\n";
    }
   for (k=1;k<N;k++) if(*(y+k)<*(y+min)) min=k;
    *(y+1)=*(y+min);
   cout << "After change:\n";
   for(k=0;k<N;k++)
    cout << k << '\t' << *(y+k) << "\n";
    delete[]y;
    delete[]g;
}
вам надо было просто ещё раз вывести уже изменённый массив на экран.
Yandex
Объявления
19.12.2011, 03:19     одномерные массивы и сложный поиск
Ответ Создать тему
Опции темы

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