Форум программистов, компьютерный форум CyberForum.ru

срочно нужно зделать лабу к завтрашнему утру - C++

Восстановить пароль Регистрация
 
vilgos
 Аватар для vilgos
0 / 0 / 0
Регистрация: 23.03.2010
Сообщений: 28
23.03.2010, 17:01     срочно нужно зделать лабу к завтрашнему утру #1
срочно нужно зделать лабу а у меня не получаетса. помогите пожалуйста
вот условие
Миниатюры
срочно нужно зделать лабу к завтрашнему утру  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vilgos
 Аватар для vilgos
0 / 0 / 0
Регистрация: 23.03.2010
Сообщений: 28
23.03.2010, 17:03  [ТС]     срочно нужно зделать лабу к завтрашнему утру #2
а вот образец
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <alloc.h>
int main(void) {
 int size;                   /* размер массива */
 int *Ar;       /* указатель на начало массива */
 int *Cr, *Ir;            /* текущие указатели */
 int av, nn;            /* среднее значение и
    количество элементов в последовательности  */
  randomize();  /* инициализация rand */
  size=random(151)+50;
  printf("size=%d\n",size);
  /* выделения памяти */
  Ar=(int far *)malloc(size*sizeof(int));
  /* заполнение массива случайными числами и
     вывод начального массива */
  printf("Начальный массив:\n");
  for (Cr=Ar; Cr<Ar+size; Cr++) {
    *Cr=random(101)-50;
    printf("%3d ",*Cr);
    }
  putchar('\n');
 
  /* перебор массива */
  for (nn=0, Cr=Ar; Cr<Ar+size; Cr++) { 
    if (*Cr<0)
      /* обработка отрицательного элемента */
      if (!nn) {
          /* начало последовательности: запомнить адрес 
             начала в Ir, установить начальное значение 
               накопителя суммы и счетчике элементов */
         Ir=Cr; av=*Cr; nn=1;
         }
      else {
      /* подсчет суммы и количества элементов */
        av+=*Cr; nn++;
        }
    /* конец обработки отрицательного элемента */
    else /* обработка положительного элемента */
      if (nn) {
          /* если есть необработанная отрицательная последовательность: 
             усреднение и перебор с ограничением */
        for (av/=nn; Ir<Cr; Ir++)
          if (*Ir<av) *Ir=av;
        nn=0; /* последовательность обработана */
        }  /* конец если есть необработанная... */
    }  /* конец перебора массива */
  if (nn) /* если не обработана последняя 
             отрицательная последовательность */
    for (av/=nn; Ir<Cr; Ir++)
      if (*Ir<av) *Ir=av;
  /* вывод результатов */
  printf("Массив-результат:\n");
  for (Cr=Ar; Cr<Ar+size; printf("%3d ",*Cr++));
  putchar('\n');
  /* освобождение памяти */
  free(Ar);
  return 0;
}
kravam
быдлокодер
 Аватар для kravam
1513 / 873 / 44
Регистрация: 04.06.2008
Сообщений: 5,265
23.03.2010, 17:32     срочно нужно зделать лабу к завтрашнему утру #3
Смотри, в задании у тебя сказано, что размерность массива 100. А ты выделяешь для него не 100 ячеек, памяти, а СЛУЧАЙНОЕ ЧИСЛО в диапазоне от 50 до 200
C++
1
2
3
4
5
6
7
8
  
//Это воттак размер массива у тебя получается
size=random(151)+50;
//От 50 до 200
 
  printf("size=%d\n",size);
  /* выделения памяти */
  Ar=(int far *)malloc(size*sizeof(int));
Ты уж реши как-то этот вопрос. Либо в массиве 100 элементов, либо другое числокакое-нибудь.
vilgos
 Аватар для vilgos
0 / 0 / 0
Регистрация: 23.03.2010
Сообщений: 28
24.03.2010, 09:57  [ТС]     срочно нужно зделать лабу к завтрашнему утру #4
другой образец
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <alloc.h>
int main() {
 int q;
 int size;                      // размер массива //
 int *Mas;                      // указатель на начало массива //
 int *Cr, *Ir;                  // текущие указатели //
 int av, nn;                    // среднее значение и //
                                // количество элементов в последовательности  //
   srand(54);
   size=rand()%200+100;
    printf("size=%d\n",size);
                                // выделения памяти //
  Mas=(int *)malloc(size*sizeof(int));
                                // заполнение массива случайными числами и//
                                // и вывод начального массива //
  printf("na4alnii massiv:\n");
  for (Cr=Mas; Cr<Mas+size; Cr++) {
    *Cr=rand()%200-100;
    printf("%3d ",*Cr);
    }
  putchar('\n');
                                // перебор массива // 
  for (nn=0, Cr=Mas; Cr<Mas+size; Cr++) 
  { 
      if (*Cr<0)
                                // обработка отрицательного элемента //
      if (!nn) 
      {
                                // начало последовательности: запомнить адрес // 
                                // начала в Ir, установить начальное значение //
                                // накопителя суммы и счетчике элементов //
         Ir=Cr; av=*Cr; nn=1;
         }
      else {
                                // подсчет суммы и количества элементов //
        av+=*Cr; nn++;
        }
                                // конец обработки отрицательного элемента //
    else                        // обработка положительного элемента //
      if (nn) {
                                // если есть необработанная отрицательная последовательность// 
        for (; Ir<Cr; Ir++)
          if (*Ir<av) *Ir=av;
        nn=0;                   // последовательность обработана //
        }                       // конец если есть необработанная... */
    }                           // конец перебора массива //
  if (nn)                       // если не обработана последняя //
                                // отрицательная последовательность //
    for (; Ir<Cr; Ir++)
      if (*Ir<av) *Ir=av;
                                // вывод результатов */
  printf("Massiv-rezulat:\n");
  for (Cr=Mas; Cr<Mas+size; printf("%3d ",*Cr++));
  putchar('\n');
  printf("process comrleate");
                                // освобождение памяти //
  free(Mas);
  scanf("%d", &q);
  return 0;
}
Добавлено через 10 часов 25 минут
помогите плс
Darky
Быдлокодер
 Аватар для Darky
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
24.03.2010, 11:43     срочно нужно зделать лабу к завтрашнему утру #5
Да, образцы, круто, а в чем собственно проблема?
vilgos
 Аватар для vilgos
0 / 0 / 0
Регистрация: 23.03.2010
Сообщений: 28
24.03.2010, 12:40  [ТС]     срочно нужно зделать лабу к завтрашнему утру #6
я не знаю как сделать чтобы выводило решение

Добавлено через 44 минуты
ну помогите плз
Darky
Быдлокодер
 Аватар для Darky
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
24.03.2010, 13:08     срочно нужно зделать лабу к завтрашнему утру #7
Да вон, в первом же сообщении все есть, вроде как.
siger
13 / 13 / 1
Регистрация: 27.02.2010
Сообщений: 46
24.03.2010, 13:40     срочно нужно зделать лабу к завтрашнему утру #8
А такой вариант?
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <stdio.h>
#include <time.h>
 
int main() {
  int A[100];
  int B[20]; //т.к. 100/5
  int i,n,j;
  j = n = 0;
  srand(time(NULL));
  for(i = 0; i < 100; i++)
    A[i] = rand() % 200 - 100;
  
  for(i = 0; i < 100; i++)
      printf("%d ",A[i]);
  printf("\n");
  
  for(i = 0; i < 100; i++) {
    if(A[i] >= 0)
      n++;
    else
      n = 0;
    if(n > 5) {
      n = 0;
      B[j] = A[i - 5];
      j++;
    }
  }
    
   for(n = 0; n < j; n++) {
      printf("%d ",B[n]);
    }
    
    printf("\n");
    return 0;
}
vilgos
 Аватар для vilgos
0 / 0 / 0
Регистрация: 23.03.2010
Сообщений: 28
24.03.2010, 13:57  [ТС]     срочно нужно зделать лабу к завтрашнему утру #9
а мона с коментамы
siger
13 / 13 / 1
Регистрация: 27.02.2010
Сообщений: 46
24.03.2010, 16:07     срочно нужно зделать лабу к завтрашнему утру #10
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <stdio.h>
#include <time.h>
 
int main() {
  int A[100]; //Обьявили массив
  int B[20]; //т.к. 100/5
  int i,n,j;
  j = n = 0;
  srand(time(NULL));
  for(i = 0; i < 100; i++)  //Заполняем случайными числами
    A[i] = rand() % 200 - 50;
  
  for(i = 0; i < 100; i++) // Печатаем массив
      printf("%d ",A[i]);
 
  printf("\n");
  
  for(i = 0; i < 100; i++) { //Обрабатывем массив
    if(A[i] >= 0) //Если число положительное увеличиваем счетчик
      n++;
    else { //Если отрицательное
      if(n > 5 ) { //Если было больше 5 положительных то запоминаем
    B[j] = A[i - n];
    j++;
      }
      n = 0; //Обнуляем счетчик
    }
  }
  
  if(n > 5 ) { //Если последние числа были положительные или отрицательных не было
    B[j] = A[i - n]; 
    j++; 
  }
  
  for(n = 0; n < j; n++) { //Выводим массив
      printf("%d ",B[n]);
    }
    
    printf("\n");
    return 0;
}
Тот вариант не совсем верен. Если не было отрицательных чисел, или положительных больше 12 подряд считал их разными.
vilgos
 Аватар для vilgos
0 / 0 / 0
Регистрация: 23.03.2010
Сообщений: 28
24.03.2010, 17:44  [ТС]     срочно нужно зделать лабу к завтрашнему утру #11
спс ребят уже не надо
kravam
быдлокодер
 Аватар для kravam
1513 / 873 / 44
Регистрация: 04.06.2008
Сообщений: 5,265
24.03.2010, 17:45     срочно нужно зделать лабу к завтрашнему утру #12
Ясно. Завтрашний день наступил.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.03.2010, 01:15     срочно нужно зделать лабу к завтрашнему утру
Еще ссылки по теме:

C++ Нужно срочно в С++
одномерный массив срочно нужно C++
C++ string subscript out of range Завтра лабу нужно здать! не понимаю где ошибка

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
vilgos
 Аватар для vilgos
0 / 0 / 0
Регистрация: 23.03.2010
Сообщений: 28
25.03.2010, 01:15  [ТС]     срочно нужно зделать лабу к завтрашнему утру #13
Цитата Сообщение от kravam Посмотреть сообщение
Ясно. Завтрашний день наступил.
ато уже завтра
Yandex
Объявления
25.03.2010, 01:15     срочно нужно зделать лабу к завтрашнему утру
Закрытая тема Создать тему
Опции темы

Текущее время: 07:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru