Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.12.2012, 23:28   #1
hejjsaeN
Новичок
Джуниор
 
Регистрация: 26.12.2012
Сообщений: 1
Восклицание Вычислить элементы, принадлежащие промежутку в массиве

В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1) количество элементов массива, лежащих в диапазоне от А до В;

A и B вводятся пользователем. Не нужно делать никаких проверок - просто вычислить. При чем без помощи функций.

Еще, если есть время у кого - не могли бы сделать тоже самое, только с функциями и вот эти два задания аналогично:
2) Вычислить сумму элементов массива, расположенных после максимального элемента.
3) Упорядочить элементы массива по убыванию модулей элементов.

Мой вариант программы без функций:

Код:
#include<stdio.h>
#include<stdlib.h>
#include<math.h>

int main()
{
    int m, k, y, A, B, s = 0;

    
    const int n = 10;
    
    
    int arr[ n ] = { 7, -9, -3, 36, 1, -6, 8, -5, 5 , 7 };
    
    printf( "\n" );


    
    // Поиск максимального элемента в массиве
    int max = arr[ 0 ];
    int index_max = 0;
    
    for( int i = 1; i<n; i++ ) if ( arr[ i ] > max ) {max = arr[ i ]; index_max = i;};
    //
    
    // Нахождение суммы элементов после максимального значения в массиве
    y = index_max;
    s = 0;
    for( int i = y + 1; i < n; i++ )
    s+=arr[ i ];
    
    printf("2. Summa posle maximuma = %i\n", s);
    printf( "\n" );
    //
    
    // Упорядочивание модулей элементов по убыванию
    for( m = 0; m < n - 1; m++ )   
         {    
              for( int i = 1; i < n; i++ )
              if( abs( arr[ i ] ) > abs ( arr[ i - 1 ] ) )    
                  {
                     k = arr[ i ];
                     arr[ i ] = arr[ i - 1 ];
                     arr[ i - 1 ] = k;
              
                  }    
    
         }   
          
    printf( "3. Uporydochenie elementi po modulu: \n" ); 
    for( int i = 0; i < n; i++ )   
    printf( "| %i | ", arr[ i ] );
    //
    
    
system("pause");
return(0);    
    
}
Как видно - тут только два задания без функций.. а надо еще про диапазон решить и еще 3 задания, только с функциями.
Я тут бессилен, а для вас это, вроде как - пустяк.
Пожалуйста помогите!
hejjsaeN вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сформировать новый массив, содержащий повторяющиеся элементы массива A. Элементы в новом массиве не повторяются(Pascal) mad_putin Помощь студентам 0 13.12.2012 00:09
Умножить все элементы в массиве B(15) AndreyKolesov Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 17.04.2012 21:46
С++ В заданном массиве с(8) переставить элементы basav1k Помощь студентам 2 26.05.2010 19:02
Повторяющиеся элементы в двумерном массиве. rusasha Паскаль, Turbo Pascal, PascalABC.NET 1 03.05.2010 14:46
окна, принадлежащие процессу Var17 Win Api 3 04.12.2009 13:21