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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.06.2010, 22:23   #1
Defa4ka
Пользователь
 
Аватар для Defa4ka
 
Регистрация: 10.05.2009
Сообщений: 80
Сообщение одномерные массивы в С++

Подскажите пожалуйста насчет задачек..

1. Найти произведение последних L отрицательных элементов в массиве А={a[i]}. Проверьте:
Код:
# include<stdio.h>
# include<math.h>
# define n 10
main()
{
  int a[n],l=5,i,p=1;
  for(i=0;i<=n;i++)
  {
	  printf("vvedite a[%d]=",i);
	  scanf("%d",& a[i]);
	  if(i>=l) p=p*a[i];
  }
  printf("p=%d",p);
  return 0;
}
2.Найти в одномерном массиве min,max элементы. А так же их индексы,вывести их. На основе полученных данных поменять местами max и min элемент. А так же найти сумму и произведение элементов.

Ошибку пишет..(

Код:
#include<stdio.h>
main()
{ const int n=5;
int i,s=0,p=1,max,min;
int x[n],imin,imax;
for (i=0;i<n;i++) {
printf("Vvedite [%d] element masiva=>",i); 
scanf("%d",& x[i]);}
min=x[0];max=x[0];
for (i=0;i<n;i++) {
if (x[i]<=min) {min=x[i];imin=i;}
if (x[i]>=max) {max=x[i];imax=i;}
int t=x[imax];
x[imax]=x[min];
x[imin]=t;
s+=x[i];
p*=x[i];
for (i=0;i<n;i++) 
printf("x[%d]=%d\n",x[i]);
printf("max[%d]=%d\n",imax,max);
printf("min[%d]=%d\n",imin,min);
printf("s=%d\n",s);
printf("p=%d\n",p);}
}
И помогите с 3
3. В одномерном массиве,состоящем из n-целых элементов,найти:
1) произведение элементов массива с четным номером;
2) сумму эл массива,расположенных между 1-ым и последним нулевым элементом.
Преобразовать массив таким образом,чтобы сначала располагались все положительные,а потом отрицательные элементы.

Код:
#include<iostream.h>

void main()
const int n=5;
int mas[n];

for (int i=0; i<n; i++)
mas[i]=i+1;

cout<<"element"<<'\t'<<"znachenie"<<'\n';

for (int i=0; i<n; i+=2)
cout<< i <<'\t'<<<<mas[i]<<'\n';
}
помогите доделать..
Величие человека есть его способность мыслить.
Блез Паскаль
Defa4ka вне форума Ответить с цитированием
Старый 08.06.2010, 23:16   #2
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

1

Код:
# include<stdio.h>
# include<math.h>
# define n 10
int main()
{
  int a[n],l=5,i,p=1;
  for(i=0;i<=n;i++)
  {
	  printf("vvedite a[%d]=",i);
	  scanf("%d",& a[i]);
  }
  for(i=n-1;i>=0;i--)
     if(a[i]<0 && l)
    {
        p*=a[i];
        l--;
    } 
  printf("p=%d",p);
  return 0;
}

2

Код:
#include<stdio.h>
main()
{ const int n=5;
int i,s=0,p=1,max,min;
int x[n],imin,imax;
for (i=0;i<n;i++) {
printf("Vvedite [%d] element masiva=>",i); 
scanf("%d",& x[i]);}
min=x[0];max=x[0];

for (i=0;i<n;i++) {
if (x[i]<=min) {min=x[i];imin=i;}
if (x[i]>=max) {max=x[i];imax=i;}
s+=x[i];
p*=x[i];
}

int t=x[imax];
x[imax]=x[min];
x[imin]=t;

printf("x[%d]=%d\n",x[i]);
printf("max[%d]=%d\n",imax,max);
printf("min[%d]=%d\n",imin,min);
printf("s=%d\n",s);
printf("p=%d\n",p);}
}

3.1

Код:
for(int i=0;i<n;i++)
   if(i%2==0)
     p*=a[i];

3.2

Код:
for(int i=0;i<n;i++)
  if(a[i]==0)
  {
       first=i;
       break;
   }
for(int i=n-1;i>=0;i--)
  if(a[i]==0)
  {
      last=i;
      break;
   }
for(int i=first;i<=last;i++)
  s+=a[i];

Что-то в этом духе...

Последний раз редактировалось counter; 08.06.2010 в 23:24.
counter вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Даны одномерные массивы А и В. Сформировать массивы, состоящие из элемент LyaLya Помощь студентам 15 20.12.2009 14:12
Одномерные массивы chistayastranichka Паскаль, Turbo Pascal, PascalABC.NET 0 28.05.2009 10:37
C++ Одномерные массивы. rus_rock_no_dead Помощь студентам 1 20.01.2009 15:31