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

в чем ошибка? Задача на "положение улитки" - C++

Восстановить пароль Регистрация
 
desperateX
0 / 0 / 0
Регистрация: 28.11.2012
Сообщений: 15
26.03.2013, 20:56     в чем ошибка? Задача на "положение улитки" #1
помогите пожалуйста! в чем ошибка в даном коде?
Каждый солнечный день улитка, сидящая на дереве, поднимается вверх на 2 см, а в каждый пасмурный день опускается вниз на 1 см. В начале наблюдения улитка находится на А см от земли на В-метровом дереве. Есть 30-элементный массив, содержащий сведения о том, каким был соответствующий день наблюдения - солнечным или пасмурным. Написать программу, которая определяет положение улитки до заданного дня наблюдения.

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
#include<iostream>
#include<time.h>
using namespace std;
#include<conio.h>
const int N=30;
void main() {
    int n, v, d, f=0;
    cout<<"vusota ylutku: ";
    cin>>n;
    cout<<"vusota dereva: ";
    cin>>v;
    cout<<"den: ";
    cin>>d;
    int A[N];
    srand (time(NULL));
    for (int i=0; i<d; i++){
        A[i]=rand ()%2;
    //cout<<A[i];
    
        while (f<=v){
            if (A[i]==0) f=n-1;
            if (A[i]==1) f=n+2;
        }
    }
    cout<<"ylutka na "<<f<<"cm";
    getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.03.2013, 20:56     в чем ошибка? Задача на "положение улитки"
Посмотрите здесь:

C++ Ошибка Необработанное исключение в "0x001d18f8" в "lr7v2.exe": 0xC0000005: Нарушение прав доступа при чтении "0xcdcdcde9"
не находит "stdafx.h"! в чем ошибка? C++
C++ Необработанное исключение в "0x76f015de" в "контрольная 1 задача 2.exe": 0xC0000005: Нарушение прав доступа при чтении "0x334e2c64"
в чем ошибка? задача на "сортировку массива" C++
Перегрузка оператора "++" и "--" в чем может быть причина нарушение прав доступа? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,585
Записей в блоге: 12
26.03.2013, 21:37     в чем ошибка? Задача на "положение улитки" #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
#include<iostream>
#include<time.h>
using namespace std;
 
const int N = 5;
 
int main() 
{
   int days[N];
   int A, R = 0;
   srand(time(0));
   cin >>A ;
     
   for(int i = 0; i < N ; i++)
   {
      days[i] = rand() % 2;
      cout <<" " <<days[i];
   }
   cout <<endl;
 
   
   for (int i = 0; i < N ; i++)
   {
      
      if (days[i])
         R+= 2;
      else
         R-=1;
   }
   
   cout << A - R;
   
   return true;
 
 
}
Добавлено через 17 секунд
зачем высота дерева?

Добавлено через 5 секунд
http://liveworkspace.org/code/1TT3wT$12
desperateX
0 / 0 / 0
Регистрация: 28.11.2012
Сообщений: 15
26.03.2013, 21:39  [ТС]     в чем ошибка? Задача на "положение улитки" #3
улитка не может быть выше высоты дерева
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,585
Записей в блоге: 12
27.03.2013, 16:18     в чем ошибка? Задача на "положение улитки" #4
Цитата Сообщение от desperateX Посмотреть сообщение
улитка не может быть выше высоты дерева
какая реакция должна быть в случаи этого ? пере заполнение массива погоды или вывод об ошибки?
desperateX
0 / 0 / 0
Регистрация: 28.11.2012
Сообщений: 15
27.03.2013, 21:21  [ТС]     в чем ошибка? Задача на "положение улитки" #5
Цитата Сообщение от Van111 Посмотреть сообщение
какая реакция должна быть в случаи этого ? пере заполнение массива погоды или вывод об ошибки?
движение улитки должно остановиться
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,585
Записей в блоге: 12
28.03.2013, 10:36     в чем ошибка? Задача на "положение улитки" #6
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
#include<iostream>
#include<time.h>
using namespace std;
 
const int N=30;
 
int main() 
{
   int days[N];
   int A, B, R = 0;
   srand(time(0));
   cin >>A >>B;
   
   if (A > B)
   {
      cout << "ошибка ввода данных" ;
      return - 1;
      
   }
   
   
   for(int i = 0; i < N ; i++)
   {
      days[i] = rand() % 2;
      cout <<" " <<days[i];
   }
  
   cout <<endl;
 
   
   for (int i = 0; i < N ; i++)
   {
      
      if (days[i])
         R+= 2;
      else if ( R )
         R-=1;
         
         
      
   }
   
   cout << A - R;
   
   return true;
 
 
}
Yandex
Объявления
28.03.2013, 10:36     в чем ошибка? Задача на "положение улитки"
Ответ Создать тему
Опции темы

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