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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 02.06.2009, 14:46   #1
Deniska112
Пользователь
 
Регистрация: 15.04.2009
Сообщений: 33
По умолчанию в массиве найти количество злементов лежащих в диапазоне от A до B

Народ есть задачка: в одномерном массиве состоящем из n вещественных элементов,вычислить
1) количество злементов лежащих в диапозоне от А до В
2)сумму элементов массива, расположенных после максимального элемента.
Упороядочить элементы массива по убыванию модулей элементов.
Подскажите кто знает!Надо сделать на си!
Deniska112 вне форума
Старый 02.06.2009, 14:52   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Что подсказать?
Показывайте наработки и задавайте конкретные вопросы, иначе тема закроется.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума
Старый 02.06.2009, 14:58   #3
Deniska112
Пользователь
 
Регистрация: 15.04.2009
Сообщений: 33
По умолчанию си

ну вот у меня есть набросок только вот с модулями не работает (
Код:
#include<stdio.h>
#include<math.h>
#include<io.h>

void main()
{
 int i,n,sum=0,max=0,kol=0,b,c,j;
 float temp;
 printf("\nvvedite razmernost massiva:\n ");
 scanf("%d",&n);
 int *a=new int[n];
printf("\nvvedite b: ");
scanf("%d",&b);

printf("\nvvedite c: ");
scanf("%d",&c);
 for(i=0;i<n;i++)
 {
  printf("%d",i+1);
  scanf("%d",&a[i]);
 }
 for(i=0;i<n;i++)
 {
  for(i=0;i<n;i++)
  if(a[i]>b&&a[i]<c) kol=kol+a[i];
  printf("\nKolichestvo elementov megdy b i c %d\n ",b,c);
  sum=0;max=0;
  for(i=1;i<n;i++)
  {
 if (a[i]>a[max]) {
  max=i;
  sum=0;
  }
  else
	   sum=sum+a[i];
	   }
  printf("\nSymma elementon posle maksumalnogo %d",sum);
 }


 for(i=0;i<n;i++)
 if (abs(a[j-1])>abs(a[j]));
 {
 temp=(a[j]);
 (a[j]=a[j-1]);
 a[j-1]=temp;
}
for (i=0;i<n;i++)
printf("\n%d",a[i]);

}
Модератор: тег CODE
Deniska112 вне форума
Старый 02.06.2009, 15:06   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Сортировка неверно написана.
Код:
 for(i=0;i<n-1;i++)
  for(j=i+1; j<n; j++)
   if (abs(a[j])<abs(a[i]));
   {
   temp=a[i];
   a[i]=a[j];
   a[j]=temp;
   }
И измените тип temp на int.

Вот в этом куске:
Код:
 for(i=0;i<n;i++)
 {
  for(i=0;i<n;i++)
  if(a[i]>b&&a[i]<c) kol=kol+a[i];
  printf("\nKolichestvo elementov megdy b i c %d\n ",b,c);
  sum=0;max=0;
  for(i=1;i<n;i++)
  {
 if (a[i]>a[max]) {
  max=i;
  sum=0;
  }
  else
	   sum=sum+a[i];
	   }
  printf("\nSymma elementon posle maksumalnogo %d",sum);
 }
во вложенных циклах используете те же переменные, что и во внешнем.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума
Старый 02.06.2009, 15:42   #5
Deniska112
Пользователь
 
Регистрация: 15.04.2009
Сообщений: 33
По умолчанию

Нет всё равно не работает мне нужно чтобы элементны убывали по модулю например исходная {-6, 4, -1, 7,-10}
а после преобразования {-10,7,-6,4,-1}
Deniska112 вне форума
Старый 02.06.2009, 15:47   #6
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от Deniska112
Нет всё равно не работает
А вы циклы исправили? Если да, то покажите получившийся код.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума
Старый 02.06.2009, 15:49   #7
Deniska112
Пользователь
 
Регистрация: 15.04.2009
Сообщений: 33
По умолчанию

Код:
#include<stdio.h>
#include<math.h>
#include<io.h>

void main()
{
 int temp,i,n,sum=0,max=0,kol=0,b,c,j;

 printf("\nvvedite razmernost massiva:\n ");
 scanf("%d",&n);
 int *a=new int[n];
printf("\nvvedite b: ");
scanf("%d",&b);

printf("\nvvedite c: ");
scanf("%d",&c);
 for(i=0;i<n;i++)
 {
  printf("%d",i+1);
  scanf("%d",&a[i]);
 }
  for(i=0;i<n;i++)
 {
  for(i=0;i<n;i++)
  if(a[i]>b&&a[i]<c) kol=kol+a[i];
  printf("\nKolichestvo elementov megdy b i c %d\n ",b,c);
  sum=0;max=0;
  for(i=1;i<n;i++)
  {
 if (a[i]>a[max]) {
  max=i;
  sum=0;
  }
  else
	   sum=sum+a[i];
	   }
  printf("\nSymma elementon posle maksumalnogo %d",sum);
 }
 for(i=0;i<n-1;i++)
  for(j=i+1; j<n; j++)
   if (abs(a[j])<abs(a[i]));
   {
   temp=a[i];
   a[i]=a[j];
   a[j]=temp;
   }
 
for (i=0;i<n;i++)
printf("\n%d",a[i]);

}
Модератор: тег CODE! Или то, что красным, не видим?

Последний раз редактировалось Sazary; 02.06.2009 в 15:59.
Deniska112 вне форума
Старый 02.06.2009, 15:59   #8
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Циклы не исправили.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума
Старый 02.06.2009, 16:21   #9
Deniska112
Пользователь
 
Регистрация: 15.04.2009
Сообщений: 33
По умолчанию

а зачем тут нужно <J> у меня же одномерный массив

Можешь написать нормальный рабочий код а то я в си вообще не шарю, в универе задали второй день мучаюсь(

Последний раз редактировалось Sazary; 02.06.2009 в 16:29.
Deniska112 вне форума
Старый 02.06.2009, 16:31   #10
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от Deniska112
а зачем тут нужно <J> у меня же одномерный массив
Потому что сначала прочитайте про методы сортировки. Тогда и вопросов таких не будет.

Цитата:
Сообщение от Deniska112
Можешь написать нормальный рабочий код а то я в си вообще не шарю, в универе задали второй день мучаюсь(
Если написали это, то сможете и исправить.
Я сказал: нельзя использовать во вложенных циклах одни и те же имена для счетчиков. Но вы этого, похоже, не услышали.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Pascal] найти сумму элементов лежащих ниже побочной диагонали Рамик Помощь студентам 12 28.03.2011 22:53
Количество элементов в массиве skit Общие вопросы C/C++ 3 18.03.2009 21:56
как найти первую заполненную ячейку в диапазоне Bezdar Microsoft Office Excel 3 19.02.2009 11:59
вычислить количество элементов массива, лежащих в диапазоне от А до В Gigatrest Паскаль, Turbo Pascal, PascalABC.NET 16 26.01.2009 14:05
как найти данные в диапазоне Tanya2007 Microsoft Office Excel 2 20.11.2007 19:33