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

Создание n-символьной последовательности, состоящей из совокупности 3 символов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Лаба по массивам. http://www.cyberforum.ru/cpp-beginners/thread71666.html
1. Заполнить массив значениями согласно варианту. Результат в виде таблицы значений массива вывести на консоль. 2. Реализовать перемножение двух матриц 2х2 на основании данных варианта задания....
C++ Функции пользователя Не могу подступиться к этой задаче и возникают некоторые сложности.Даны действительные числа x,y (x>0, y>1). Получить целое число K (положительное, отрицательное или равное нулю), удовлетворяющее... http://www.cyberforum.ru/cpp-beginners/thread71659.html
C++ Длинная арифметика
Алгоритмы всех операций в принципе уже готовы (длина числа ограничивается только ресурсами ПК). Осталось только подобрать качественный тип данных для хранения чисел, на основе чего можете...
C++ Замена в строке символов
"Заменить в строке все вхождения 'abc' на 'xy', а 'mm' на '1234'". Буду благодарна за оказанную помощь. проблема в том,что я не знаю как делать замену, а символы найти не составляет труда.
C++ Матрицы http://www.cyberforum.ru/cpp-beginners/thread71617.html
я новичек!двумерные массивы в си мы начали проходить только недавно,а уже дали лабораторную работу и сказали сделать до завтра!просто не знаю что делать!выручайте! вообщем вот моя задача:дана...
C++ Декларирование классов помогите пожалуйста................. :((((( Найти сумму n членов ряда Фибоначчи. подробнее

Показать сообщение отдельно
danlex-corp
0 / 0 / 0
Регистрация: 14.10.2009
Сообщений: 22
08.12.2009, 22:50  [ТС]
Вот короче что получилось. Но работает ваще не правильно. Алгоритм я понял, но как теперь его написать.

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
64
65
66
67
68
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
 
char rnds(char n, char p)
 {
  randomize() ;
  char i;
  if(p<0)
   {
    i=random(2);
    if(i==0)return 'a';
    else return 'c';
   }
  else
   {
    i=random(n)+p;
    switch (i)
     {
      case 0:return 'a';break;
      case 1:return 'b';break;
      case 2:return 'c';break;
     }
   }
 }
 
void main()
 {
  char c[200];int l,r,n,p=0;clrscr();
  randomize();
  printf("Введите число символов в последовательности (n)");
  scanf("%d",&n);
  if(n%2==0)
   {
    l=n/2;
    c[l]=c[l-1]=rnds(3,p);
    l=l-2;r=l+1;
   }
  else
   {
    l=n/2;r=l+2;
    c[l+1]=rnds(3,p);
   }
  for(;l>0||r<n;l--,r++)
   {
    switch (c[l+1])
     {
      case 'a':p=1;break;
      case 'b':p=-1;break;
      case 'c':p=0;break;
     }
    c[l]=rnds(2,p);
    if(c[r-1]!='a'&&c[l]!='a')
     c[r]='a';
    else
     {
      if(c[r-1]!='b'&&c[l]!='b')
       c[r]='b';
      else
        if(c[r-1]!='c'&&c[l]!='c')
        c[r]='c';
     }
   }
   c[n]='\0';
    printf("\n%s",c);
   getch();
 }
В чём баги?

Добавлено через 39 минут
Исходное задание написал не верно.
Цитата Сообщение от danlex-corp Посмотреть сообщение
Для n=11 последовательность может иметь вид: "010201120210".
Правильно 01020120210.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru