Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> одномерные массивы, сумма 
:(
    Опции темы
keks123
  Дата 22.10.2009, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 21.10.2009

Репутация: нет
Всего: нет



Доброго времениsmile
В одномерном массиве, состоящем из  различных вещественных элементов, вычислить сумму элементов массива, расположенных между первым и последним ненулевыми элементами.


Ну не доходит как эту сумму искать, помогите пожалуйста))


Код
//---------------------------------------------------------------------------

#pragma hdrstop
#include <vcl.h>
#include <iostream.h>
#include <conio.h>

//---------------------------------------------------------------------------

#pragma argsused

int sum (int*, int);
char* Rus(unsigned char* st)
{
    unsigned char *p = st;
    while (*p)
    {
        if ( (*p >= 192) && (*p <= 239))
            *p -= 64;

        if ( ( *p >= 240) && (*p <= 255))
            *p -= 16;

        p++;
    }
    return st;
}
int main(int argc, char* argv[])
{
        int n=5, i;
        int *a = new int [n];
        for (i = 0; i < n; i++)
        {
                cout<<Rus("Введите ")<<i<<Rus("-й элемент : ");
                cin>>a[i];
        }
      
        cout<<Rus("\nСумма элементов массива : ")<<sum(a,n);
        getch ();
        return 0;
}
  
}
int sum (int*a, int n) //!!!!
 {
   int S = 0;
   for (int i = 0; i < n; i ++)

   return S;
   }

//--------------------------------------------------------------



вот сам код, не могу, дальше ступор)))


Модератор: Не забываем пользоваться кнопочкой "Код"

Это сообщение отредактировал(а) bsa - 26.10.2009, 13:03
PM MAIL   Вверх
Anikmar
Дата 22.10.2009, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 5
Всего: 59



Как-то так: (не проверял)

Код

int sum (int*a, int n)
 {
   int S = 0;
   int i=0;

   while((a[i] == 0)&&(i<n)) ++i;
   while((a[i] != 0)&&(i<n)) S+=a[i++];

   return S;
   }



Это включая первый и последний элемент

Это сообщение отредактировал(а) Anikmar - 22.10.2009, 16:18
PM MAIL ICQ   Вверх
keks123
Дата 22.10.2009, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 21.10.2009

Репутация: нет
Всего: нет



smile) спасибо))
PM MAIL   Вверх
Anikmar
Дата 22.10.2009, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 5
Всего: 59



Цитата(keks123 @  22.10.2009,  16:26 Найти цитируемый пост)
) спасибо)) 

Кстати, если вам именно между самыми крайними и не включая первый и последний ненулевой, то код будет примерно такой:
Код

int sum (int*a, int n)
 {
   int S = 0;
   int i=0;
   int j;

    j = n-1;
// Ищем первый ненулевой
   while((a[i] == 0)&&(i<n)) ++i;
// Ищем последний
   while((a[j] == 0)&&(j>0)) --j;
// Считаем сумму
   ++i;
   while(i<j) S+=a[i++];

   return S;
   }


PM MAIL ICQ   Вверх
keks123
Дата 22.10.2009, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 21.10.2009

Репутация: нет
Всего: нет



Да я в принципе понял))
думаю правильно будет)
PM MAIL   Вверх
mrbrooks
Дата 23.10.2009, 08:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 19
Всего: 306



Цитата(keks123 @  22.10.2009,  16:08 Найти цитируемый пост)
В одномерном массиве, состоящем из  различных вещественных элементов, вычислить сумму элементов массива, расположенных между первым и последним ненулевыми элементами.

Либо с утра подтормаживаю, но в чем пафос вопроса? Один фиг, что  с нулями, что без - результат то будет один и тот же. Или вся соль именно в определении элементов?
PM MAIL   Вверх
keks123
Дата 23.10.2009, 09:17 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 21.10.2009

Репутация: нет
Всего: нет



пример: 
а [0] = 0
a [1] = 0
a [2] = 1
a [3] = 1
a [4] = 1
a [5] = 1

a [6] = 0
a [7] = 0
a [8] = 1
a [9] = 1

Сумма будет равна : 4
PM MAIL   Вверх
azesmcar
Дата 23.10.2009, 09:22 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



keks123

Последний НЕНУЛЕВОЙ это a [9] и сумма будет равна сумме всего массива, а первый НЕНУЛЕВОЙ тебе что дает? Что с нулями что без, сумма от этого не меняется. Ты сам хоть задачу понимаешь? 
PM   Вверх
keks123
Дата 23.10.2009, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 21.10.2009

Репутация: нет
Всего: нет



вот как правильноsmile

а [0] = 0
а [1] = 0
а [2] = 1
а [3] = 1
а [4] = 1
а [5] = 1
а [6] = 1
а [7] = 1

а [8] = 1
а [9] = 0

вот найти сумму этихsmile
не нулевых)
PM MAIL   Вверх
bsa
Дата 26.10.2009, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196




M
bsa
keks123, продолжаем игнорировать совет почитать про оформление кода?



#pragma hdrstop надо писать после #include <vcl.h>, но до других инклюдов (vcl.h нужно подключать первым) - быстрее компилироваться будет.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0528 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.