Одномерные Числовые Массивы

Тема в разделе "C/C++/C#", создана пользователем 203, 21 фев 2012.

Наш партнер Genesis Hackspace
  1. 203

    203 New Member

    Регистрация:
    21 фев 2012
    Сообщения:
    4
    Симпатии:
    0
    Задача 1:
    В одномерном массиве, состоящем из не более чем n (n<=10) вещественных элементов, вводимых с клавиатуры, вычислить:
    1) количество элементов массива, больших С;
    2) произведение элементов массива, расположенных после максимального по модулю элемента.
    Преобразовать массив таким образом, чтобы сначала располагались все отрицательные
    элементы, а потом — все положительные (элементы, равные 0, считать
    положительными).

    Привет форумчане. У меня возникла проблема в решении вот этой задачи. У меня получилась сделать только 1 условие а с остальными беда. Может кто поможет в решении этой задачи. Если нужно могу кинуть код где я выполнил 1 условие задачи. Заранее спасибо.
     
  2. Гость

    Примерно так, могут быть ошибки. Специально не комментировал операторы, хотя избыточно подробно описал переменные - надеюсь, сам разберешься.
    Код (Text):
    #include <iostream>
    #include <math.h>
    using namespace std;

    const float C=100.111;   
    float dest[9];

    int main(int argc, char** argv) {
    int num=0;        //кол-во элементов > С
    int index=0;         //номер максимального по модулю элемента
    float max;          //его значение
    for (char i=0;i<10;i++)
    {
    cin >> dest[i];
    if (dest[i]>C)
    num++;
    if (!i)
    max=fabs(dest[i]);
    else if (fabs(dest[i])>=max)
    {
    max=fabs(dest[i]);
    index=i;       
    }
    }
    //далее max - произведение элементов, больших максимального по модулю
    max=1;
    for (char i=0;i<10;i++)
    {
    int no_less_zero=0;   //нет элементов <0
    if (i>index)
    max=max*dest[i];     //здесь, в общем-то, ошибка.
    if (dest[i]>=0&!no_less_zero)
    {
    for (char j=i+1;j<10;j++)
    if (dest[j]<0)
    {
    float tmp=dest[i];
    dest[i]=dest[j];
    dest[j]=tmp;
    }
    else
    no_less_zero=1;
    }
    cout << dest[i]<< '\n';
    }
    cout << num<< '\n';
    cout << index+1<< '\n';
    cout << max;
    return 0;
    }
     
  3. 203

    203 New Member

    Регистрация:
    21 фев 2012
    Сообщения:
    4
    Симпатии:
    0
    Большое спасибо за задачу.
     
Загрузка...
Похожие Темы - Одномерные Числовые Массивы
  1. Lizzz
    Ответов:
    1
    Просмотров:
    1.259
  2. Fazer77777
    Ответов:
    1
    Просмотров:
    1.687
  3. 203
    Ответов:
    2
    Просмотров:
    1.393
  4. 203
    Ответов:
    0
    Просмотров:
    955
  5. 203
    Ответов:
    12
    Просмотров:
    2.454

Поделиться этой страницей