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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.04.2013, 12:41   #1
RG21
Пользователь
 
Регистрация: 17.04.2013
Сообщений: 15
Вопрос задача на с++

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

Код HTML:
#include <StdAfx.h>
#include <iostream>
#include <locale.h>
#include <math.h>
using namespace std;

int main()
{
	setlocale (0,"Russian");
   const int N=10;
int min,max,i,k=1,s=0,massiv[N],j,t;    
cout<<"Введите 10 целых чисел\n";
for(i=0;i<N;i++)
cin>>massiv[i];    
for(i=0;i<N;i++)    
cout<<"\n massiv["<<i<<"] = "<<massiv[i];    
for(i=0;i<N;i++)
{
if(i%2==0)
{k=massiv[i]*k;}
}
cout<<"\n  Proizv="<<k<<'\n';

for(i=0;i<N;i++)
{
 if(massiv[i]==0)
 {
  min=i;break;
 }
}

for(i=0;i<N;i++)
{
 if(massiv[i]==0)
 {
  max=i;
 }
}

for(i=min+1;i<max;i++)
 {
 s=massiv[i]+s;
 }
 cout<<"\n Sum="<<s<<'\n';
 for(i=0; i<N; i++)
 { 
   if (massiv[i]>=0) continue;
   for(j=0; j<N; j++)
   { 
     if(massiv[j]<0) continue;
     t = massiv[i];
     massiv[i] = massiv[j];
     massiv[j] = t;
     i = j;
     break;
    }
  }
 cout<<"\n massiv "<< не знаю что сюда написать<<' \n';
system("pause");
    return 0;
}
RG21 вне форума Ответить с цитированием
Старый 17.04.2013, 17:50   #2
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Цитата:
2)сумму элементов массива, расположенных между первым и последним нулевыми элементами
у тебя не хватает проверки на случай, если нулевых элементов нет - в твоем коде min и max окажутся неинициализированными и программа должна упасть.
Цитата:
3)Преобразовать этот массив так, чтобы сначала располагались все положительные элементы, а потом отрицательные(эл-ты, равные нулю, считать положительными).
возьми исходник сортировки пузырьком, но условие
a[i] < a[i + 1]
замени на что-то типа
a[i] < 0 && a[i + 1] >= 0
rrrFer вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задача на зачёт. проблема Задача на нобелевскую премию! Sabotage5 Паскаль, Turbo Pascal, PascalABC.NET 2 18.03.2013 15:18
Задача по подсчёту статистики использования букв. Другая задача - по длинной арифметике Pascal ABC kimberly Паскаль, Turbo Pascal, PascalABC.NET 3 24.12.2012 17:03
задача на структуру(struct)/задача на работу с файлом SevenArth Помощь студентам 0 26.04.2012 19:06
Задача на оптимальный расчет маршрута (задача в презентации) в табличном процессоре Excel Toofed Помощь студентам 0 30.11.2011 01:12
Задача минимизации дисбаланса на линии сборки (задача минимакса) LenZab Microsoft Office Excel 13 13.03.2011 22:51