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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 18.02.2013, 22:29   #1
nork
 
Регистрация: 18.02.2013
Сообщений: 6
По умолчанию одномерный массив

Добрый день мне срочно нужна помощь в написании одномерного массива. Сам я специализируюсь в механике, но так получилось что мне дали задание по программированию на языке с++. Собственно сама задача: В одномерном массиве состоящем из n целых элементов вычислить: 1) количество положительных элементов массива: 2)сумму элементов массива, расположенных после последнего элемента равного нулю. Преобразовать массив таким образом, что бы сначала располагались все элементы целая часть которых не превышает 1, а потом все остальные.

Спасите, я полный нуб в этом!!! За ранее спасибо.
Я даже пытался с другом что то написать, но... дело было вечером, и оба ничего не смыслим в этом, так что на вас только надежда!!!!

Последний раз редактировалось nork; 19.02.2013 в 16:01.
nork вне форума
Старый 18.02.2013, 22:46   #2
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Есть хоть какие-нибудь наброски кода?
Хоть что-нибудь...

http://programmersforum.ru/showthread.php?t=228072
Посмотрите эту тему, в ней часть вашего задания обсуждается.
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!

Последний раз редактировалось Stilet; 18.02.2013 в 23:33.
Bugrimov вне форума
Старый 19.02.2013, 13:07   #3
nork
 
Регистрация: 18.02.2013
Сообщений: 6
По умолчанию

В том то и проблема, что я ВООБЩЕ ни чего не понимаю в программировании, для меня это непонятный набор букв и цифр....
Единственные наброски это то что смогли набросать с другом, перерыв кучу инфы на просторах инета, толком даже не понимая зачем и куда что суется, мы даже не знаем как программу запустить что бы проверить сей бред .
Код:
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
int positiveCount(int[], const int); //счетчик положительных элементов массива
int summAfterZero(int[], const int); //сумма массива после 0
void sortArray (int[], const int); //переводит элементы, целая часть которого меньше 1 в начало массива
void printArray(int[],const int); //печать массива
int main() {
    const int numb = 10;
    int array[numb] = {1, -2, 0, -3, 4, 0, -5, -6, 8, 7  }; //создаем массив, так как способ ввода массива не указан, сохдаем его сами
    int positiveElement = positiveCount(array,numb);
    int summArrayElement = summAfterZero(array, numb);
    cout << "количество положительных элементов в массиве=" << positiveElement << "\nсумма элементов после 0="
            << summArrayElement << endl; //вывод результата на экран
    printArray(array, numb); //печать изначального массива
    sortArray(array, numb);    // расстановка элементов
    printArray(array, numb); // печать преобразованного массива
    return 0;
}
int positiveCount (int farray[], const int number)
{
    int count =0;
    for (int i=0; i<number; ++i) //перебор элементов массива
    {
        if (farray[i] >  0) // если элемент положителен увеличиваем счетчик на 1
            count++;
    }
    return count; //возвращаем количество положительных элементов
}
int summAfterZero (int farray[], const int number)
{
    int summAfter = 0; //суммаэлементов после нуля
    for (int i=0; i<number; ++i)
    {
        summAfter=summAfter+farray[i];
        if (farray[i]== 0)
            summAfter=0;
    }
    return summAfter;
}
void sortArray(int farray[], const int number) //ставим элементы не превышающие 1 в начало массива
{
    int index =0;
    double temp;
    for (int i=0; i<number; ++i)
    {
        if (farray[i]<=1)
        {
            temp = farray[index];
            farray[index]=farray[i];
            farray[i]=temp;
            index++;
        }
    }
    cout << "\nрасстановка элементов выполнена"<< endl;;
}
void printArray (int farray[], const int number) //вывод всех элементов массива на экран
{
    for (int i=0; i<number; ++i)
        {
            cout << "элемент " << i << "=" << farray[i]<< "    ";
            if (i==4)
                cout << endl;
        }
}

Последний раз редактировалось Stilet; 19.02.2013 в 14:04.
nork вне форума
Старый 19.02.2013, 14:12   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
В одномерном массиве состоящем из n целых элементов вычислить:
Код:
{
  int n=0; printf("Size=");scanf("%d",&n);
  int *a=new int[n];
  int cnt=0,su1=0,suall=0;
  for(int i=0;i<n;i++) {  a[i]=i;
    //количество положительных элементов массива
    cnt+=(a[i]>=0)?1:0;

   //сумму элементов массива, расположенных после последнего элемента равного нулю 
   suall+=a[i];
   if(a[i]==0) su1=suall;
  }
  delete a;
  printf("количество положительных элементов массива = %d\nсумму элементов массива=%d",cnt,suall-su1);
  getchar();
}
Вот как бы делал я.
I'm learning to live...
Stilet вне форума
Старый 19.02.2013, 19:18   #5
nork
 
Регистрация: 18.02.2013
Сообщений: 6
По умолчанию

Спасибо, премного благодарен, вы меня спасли!!!!!
nork вне форума
Старый 19.02.2013, 21:04   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Пожалуйста )
I'm learning to live...
Stilet вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
двухмерный массив (СИ) Cas01 Общие вопросы C/C++ 7 23.10.2011 22:13
Двухмерный массив briko Паскаль, Turbo Pascal, PascalABC.NET 6 01.06.2010 09:45
Двухмерный массив Lev.F Помощь студентам 1 30.05.2010 21:31
двухмерный массив Enchantner Паскаль, Turbo Pascal, PascalABC.NET 3 22.04.2008 20:47
Двухмерный массив xtraSHAD0W Паскаль, Turbo Pascal, PascalABC.NET 2 22.04.2008 18:17