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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2009, 22:37   #11
Bariy47
Пользователь
 
Регистрация: 16.05.2009
Сообщений: 24
По умолчанию

теперь вот это
C:\88 лаба.cpp(18) : error C2064: term does not evaluate to a function
Error executing cl.exe.
Bariy47 вне форума Ответить с цитированием
Старый 16.05.2009, 22:40   #12
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
теперь вот это
C:\88 лаба.cpp(18) : error C2064: term does not evaluate to a function
Значит неверно скопировали то, что я привел.
Вот этот кусок:
Код:
srand(time(NULL)); /* инициализация rand */
/* заполнение массива случайными числами */
for (i=0; i<200; Ar[i++]=rand()%101-50 );
/* вывод начального массива */
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 16.05.2009, 22:43   #13
vasek123
Заблокирован
 
Регистрация: 21.11.2008
Сообщений: 4,986
Сообщение

Цитата:
Сообщение от Bariy47 Посмотреть сообщение
не всё равно тут что тоfor (i=0; i<100; Ar[i++]=random(101)-50 )
Не понял?!
насчет листинга только что проверил: все работает...
vasek123 вне форума Ответить с цитированием
Старый 16.05.2009, 22:45   #14
Bariy47
Пользователь
 
Регистрация: 16.05.2009
Сообщений: 24
По умолчанию

ща посморю
Bariy47 вне форума Ответить с цитированием
Старый 16.05.2009, 22:49   #15
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от vasek123
Не понял?!
насчет листинга только что проверил: все работает...
У ТС просто не от Борланда компилятор.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 16.05.2009, 22:50   #16
Bariy47
Пользователь
 
Регистрация: 16.05.2009
Сообщений: 24
По умолчанию

так она вроде работает не по заданию!
Bariy47 вне форума Ответить с цитированием
Старый 16.05.2009, 22:54   #17
vasek123
Заблокирован
 
Регистрация: 21.11.2008
Сообщений: 4,986
Сообщение

Вот правильный код в Borlande:

Код:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <conio.h>
#include <iterator>
#include <iostream.h>
 int Ar[200];   /* массив, который обрабатывается */

int main(void) {
 int i, j;    /* индексы в массиве */
 int av;      /* среднее значение */
 int nn; /* количество эл-тов в последовательности */
 int ib;      /* индекс начала последовательности */

  randomize();  /* инициализация rand */
  /* заполнение массива случайными числами */
  for (i=0; i<200; Ar[i++]=random(101)-50 );
  /* вывод начального массива */
  printf("Начальный массив:\n");
  for (i=0; i<200; printf("%3d  ",Ar[i++]));
  putchar('\n');
  putchar('\n');

  for (nn=i=0; i<200; i++) { /* перебор массива */
    if (Ar[i]<0) 
     
      if (!nn) {
        /* начало последовательности */
       
        ib=i; av=Ar[i]; nn=1;
        }
      else {
        /* накопление суммы, 
           подсчет количества */
        av+=Ar[i]; nn++;
        }
   
    else /* обработка положительного элемента */
      if (nn) {

        
        for (j=ib; j<i; j++)
          if (Ar[j]>av) Ar[j]=av;
            nn=0; /* последовательность обработана */
        } /* конец если есть необработанная... */
    }  /* конец перебор массива */

    for (av/=nn, j=ib; j<i; j++)
      if (Ar[j]>av) Ar[j]=av;
  /* вывод результатов */
  printf("Массив-результат:\n");
  for (i=0; i<200; printf("%3d  ",Ar[i++]));
  putchar('\n');
  getch();
  return 0;
}
vasek123 вне форума Ответить с цитированием
Старый 16.05.2009, 23:02   #18
Bariy47
Пользователь
 
Регистрация: 16.05.2009
Сообщений: 24
По умолчанию

не вороде не по заданию она работает!
Bariy47 вне форума Ответить с цитированием
Старый 16.05.2009, 23:12   #19
Alexcomeback
Пользователь
 
Регистрация: 03.04.2009
Сообщений: 59
По умолчанию

генерация чисел насколько я понимаю неправильная.. Требуемый диапазон от -100 до 100, а рандом стоит для значений -50 до 50. Должно быть Ar[++i]=random(201)-100 ;
Alexcomeback вне форума Ответить с цитированием
Старый 16.05.2009, 23:16   #20
Bariy47
Пользователь
 
Регистрация: 16.05.2009
Сообщений: 24
По умолчанию

но числа как то все в разноюрос идут,не хочет она так работать как нужно!
Bariy47 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с массивами (С++) q3storm Помощь студентам 7 26.04.2011 09:46
Работа с массивами mchip Microsoft Office Excel 8 22.04.2009 11:46
Работа с массивами, помогите разобраться. Sounds Общие вопросы C/C++ 7 09.01.2009 00:09
работа с массивами mager JavaScript, Ajax 5 27.08.2008 22:02
Работа с массивами Stelix Паскаль, Turbo Pascal, PascalABC.NET 1 20.06.2008 11:37