Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
2 / 1 / 3
Регистрация: 10.03.2010
Сообщений: 65
1

Одномерный массив, вывод отрицательных значений и замена местами двух наибольших.

24.05.2011, 18:03. Показов 1540. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте

Имею вот такое задание:

Создать и вывести одномерный массив y с элементами
yk = fi+10(k), де i - 16, k =1, 2, ..., 10.
При отсутствии искомых данных вывести об этом уведомление.
Дополнительное задание
Создать и вывести на экран новый массив, состоящий из отрицательныхэлементов входного массива; в новом массиве поменять местами второй с третьим крупнейшим элементом и вставить в конце массива.

Я сделал половину программы, но не могу понять как сделать дополнительное задание.

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
#include "stdafx.h"
#include <iostream>
#include <math.h>
 
int main()
{
    int i, a=11, b=1;
    float y[11], new_masiv[11], r, k=0;
    /*створюю масив*/
        setlocale( LC_ALL, "Russian" );
    printf("                      Масив\n");
    printf("\n");
    for (i=1; i<11; i++)
    {
        float k=i;
        y[i]=10.8*fabs(cos(k*k/1.13))*sin(k+1.0);
        printf("%6.2f",y[i]);
        if (y[i]<0)
        {
         new_masiv[b]=y[i];
         b++;
        }
             }
    printf("\n");
    printf("Показывает отрицательные значения массива \n");
    printf("\n");
    for(i=1;i<11;i++)
    {
    float k=i;
        y[i]=10.8*fabs(cos(k*k/1.13))*sin(k+1.0);
       if (y[i]<0)
         printf("%6.2f ",y[i]);
    }
         printf("\n");
 
}
Но как сделать дополнительное задание? У меня никак не получается. И еще преподаватель говорил что у меня выводится не новый массив, а просто отрицательное значение. Как сделает чтобы выводился новый?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.05.2011, 18:03
Ответы с готовыми решениями:

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

Заполнить одномерный массив разностями наибольших значений элементов строк
Дан двумерный массив.Заполнить одномерный массив разностями наибольших и наименьших значений...

Заполнить одномерный массив разностями наибольших и наименьших значений элементов строк двумерного массива
Дан двумерный массив. Заполнить одномерный массив разностями наибольших и наименьших значений...

Определить одномерный массив, элементы которого равны разностям наибольших и наименьших значений элементов строк матрицы
дана матрица вещественных чисел размером М на N. определить одномерный массив b1,b2..bn,элементы...

1
2 / 1 / 3
Регистрация: 10.03.2010
Сообщений: 65
25.05.2011, 20:07  [ТС] 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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#include "stdafx.h"
#include "stdafx.h"
#include <iostream>
#include <math.h>
 
int main()
{
    int i, a=11, b=1, count_neg=1;
    float y[11], new_masiv[11], rezerv, k=0;
    float *alt_masiv;
    float *alt_masiv_1;
                 
        setlocale( LC_ALL, "Russian" );
    printf("                      Масив\n");
    printf("\n");
    for (i=1; i<11; i++)
    {
        float k=i;
        y[i]=10.8*fabs(cos(k*k/1.13))*sin(k+1.0);
        printf("%6.2f",y[i]);
    }
    printf("\n");
    printf("------------------------------------------------------------\n");
    
    for (i=0;i<11;i++)
    {
        new_masiv[i]=0;
    }
    
    for (i=1; i<11; i++)
    {
        if (y[i]<0)
        {
            rezerv=y[i]; 
            new_masiv[b]=rezerv; 
            b++; 
        }
    }
    
    for (i=1;i<b;i++)
    {
        //printf("%6.2f ss \n", new_masiv[i]);
    }
    
    printf("            Новий     Масив\n");
    printf("\n");
        alt_masiv = new float [b];
    alt_masiv_1 = new float [b];
    int count=0;
    for(i=1;i<b;i++)
    {
        if (new_masiv[i]<0)
        {
            alt_masiv[i]=new_masiv[i];
            alt_masiv_1[i]=new_masiv[i];
            printf("%6.2f", alt_masiv[i]);
        }
    }
/*=======================================================================================*/
    
    printf("\n");
    printf("------------------------------------------------------------\n");
    
    int rr=1;
     float first = alt_masiv[1];
    float second = alt_masiv[2];
    printf("Помiнянi мiсцями значення i вставленi в кiнець\n");
    printf("\n");
    for(rr=1; rr<b+2;rr++)
    { 
      alt_masiv[rr]=alt_masiv_1[rr];
      
      alt_masiv[b]=first;//
      alt_masiv[b+1]=second;
 
     printf ("%6.2f",alt_masiv[rr]);
 
     }
    printf("\n");
    printf("\n");
    }
0
25.05.2011, 20:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.05.2011, 20:07
Помогаю со студенческими работами здесь

Одномерный массив (максимальный из отрицательных элементов и поменять его местами с последним)
Пожалуйста подскажите как найти: максимальный из отрицательных элементов и поменять его местами с...

Получить одномерный массив из из отрицательных элементов матрицы. Поменять местами первый и последний элемент
1 2 -3 -0.5 7 0.1 -1.7 13 -18.5 Я составил начало программы, но возникла...

Найти произведение двух наибольших и двух наименьших отрицательных нечетных чисел массива
Найти произведение двух наибольших и двух наименьших отрицательных нечетных чисел массива Дана...

Одномерный массив Х(15) считать из файла *.txt (файл создать самим). Найти: Максимальный из отрицательных элементов и поменять его местами с после
#include &lt;iostream.h&gt; #include &lt;fstream.h&gt; void read_matr(double X) { ifstream f(&quot;matr.txt&quot;);...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru