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

случайным образом выбирается символ - C++

Восстановить пароль Регистрация
 
Moroz-
0 / 0 / 1
Регистрация: 05.10.2012
Сообщений: 15
05.10.2012, 20:16     случайным образом выбирается символ #1
Помогите пожалуйста!
.Случайным образом выбирается символ и пока не будет заданного слова (например END)- символы выводятся на экран
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 <clx.h>
#include <conio.h>
#include <math.h>
#include <iostream.h>
 
 
void SetRND(char ch[28]) 
{
   char kom[28]="qwertyuiopasdfghjklzxcvbnm";   /
   for(int i=0; i<1; i++) ch[i]=kom[rand() % 15];
   ch[1]=0;
 }
 
int main()
{
   byte i;
   string str[3] = {"e","n","d"};
   char ch[5];
   srand(time(0));
   i=1;
   while ( i == 3 )
    {
       SetRND(ch);
        {
        if (str[i]== ch);
          {cout << str[i]; ++i;}
           if (str[i] != ch);
            {cout << ch;}
           }
       }
 
   system("pause");
   return 0;
 
}
ф-ция получилась рабочая, она выдает один случайный символ. Но вот при сравнивание ничего не происходит. Все компилируется, но на экран выводиться: для продолжения нажмите любую клавишу...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
AnreyKazakov
Заблокирован
05.10.2012, 20:32     случайным образом выбирается символ #2
Блин, понять не могу как у тебя в цикл заходит? I=1 и тут же сравнение I==3? ... Не понятно...
Moroz-
0 / 0 / 1
Регистрация: 05.10.2012
Сообщений: 15
05.10.2012, 20:35  [ТС]     случайным образом выбирается символ #3
подправил на
C++
1
2
char kom[28]="qwertyuiopasdfghjklzxcvbnm";
    ch[1]=kom[rand() % 15];
вообщем я рассчитывал, что ф-ция SetRND выдает 1 любой элемент. Далее в теле программы мы ее вызываем и дальше сравниваем
AnreyKazakov
Заблокирован
05.10.2012, 20:43     случайным образом выбирается символ #4
Интересно, а как ты из функции значение возвращаешь?
Moroz-
0 / 0 / 1
Регистрация: 05.10.2012
Сообщений: 15
05.10.2012, 20:48  [ТС]     случайным образом выбирается символ #5
т.е.
C++
1
SetRND(ch);
не работает?
AnreyKazakov
Заблокирован
05.10.2012, 21:19     случайным образом выбирается символ #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
void SetRND(char &ch) 
{
   char kom[28]="qwertyuiopasdfghjklzxcvbnm";
   ch=kom[rand() % 15]; 
 }
 
int main()
{
   byte i;
   char str[4] = {'e','n','d'};
   char ch[4];
   srand(time(0));
   i=0;
   while ( i != 3 )
    {
       SetRND(ch[i]);
        cout << str[i];
        if (str[i]== ch[i]){++i;}
           
       }
 
   system("pause");
   return 0;}
Не люблю строки в стиле си, но что-то в этом духе должно получиться, не компилил, так что могут быть ошибки, не знаю даже можно ли передавать по ссылке таким образом, но так как ты не хотел в ретурне возвращать пусть так будет
Moroz-
0 / 0 / 1
Регистрация: 05.10.2012
Сообщений: 15
05.10.2012, 21:23  [ТС]     случайным образом выбирается символ #7
спасибо большое
еще вопрос, как сделали так, что 2 char'a сравнились, просто до этого пытался- выдавал ошибку
AnreyKazakov
Заблокирован
05.10.2012, 21:31     случайным образом выбирается символ #8
Косячно сравнивал наверно, код покажи
Moroz-
0 / 0 / 1
Регистрация: 05.10.2012
Сообщений: 15
05.10.2012, 21:36  [ТС]     случайным образом выбирается символ #9
к примеру так
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
void SetRND(char ch[28]) // äåëГ*ГҐГ¬ êîìáèГ*Г*öèþ ГЁГ§ 4 Г§Г*Г*êîâ
{
   char kom[28]="qwertyuiopasdfghjklzxcvbnm";   //Г’ГіГІ òâîÿ êîìáèГ*Г*öèÿ Г§Г*Г*êîâ
   for(int i=0; i<1; i++) ch[i]=kom[rand() % 15];
   ch[1]=0;
 }
 
int main()
{byte i;
   char str[4] = {'e','n','d'};
   char ch[4];
   srand(time(0));
   i=0;
   while ( i != 3 )
    {
       SetRND(ch);
        cout << str[i];
        if (str[i]== ch){++i;}
 
       }
 
   system("pause");
   return 0;
 
}
AnreyKazakov
Заблокирован
05.10.2012, 22:01     случайным образом выбирается символ #10
Не уверен можно ли так сравнивать, слева один символ str[i] , а справа не понятно ch скорее всего это набор символов, если было бы ch[i] . тогда чар чар сравнивание. Ну и у тебя непонятно как с функции здесь обратно передается. Return нет, и передается не по ссылке.
gecheim
12 / 12 / 2
Регистрация: 21.01.2012
Сообщений: 117
05.10.2012, 22:04     случайным образом выбирается символ #11
Цитата Сообщение от Moroz- Посмотреть сообщение
к примеру так
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
void SetRND(char ch[28]) // äåëГ*ГҐГ¬ êîìáèГ*Г*öèþ ГЁГ§ 4 Г§Г*Г*êîâ
{
   char kom[28]="qwertyuiopasdfghjklzxcvbnm";   //Г’ГіГІ òâîÿ êîìáèГ*Г*öèÿ Г§Г*Г*êîâ
   for(int i=0; i<1; i++) ch[i]=kom[rand() % 15];
   ch[1]=0;
 }
 
int main()
{byte i;
   char str[4] = {'e','n','d'};
   char ch[4];
   srand(time(0));
   i=0;
   while ( i != 3 )
    {
       SetRND(ch);
        cout << str[i];
        if (str[i]== ch){++i;}
 
       }
 
   system("pause");
   return 0;
 
}
ты хочешь сравнить символы или строки? ch у тебя строка, а сравниваешь с единичным символом, сравнивать надо одинаковые величины
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.10.2012, 22:12     случайным образом выбирается символ
Еще ссылки по теме:

В каждой строке выбирается элемент с наименьшим значением, затем среди этих чисел выбирается наибольшее C++
C++ В каждой строке матрицы выбирается элемент с наименьшим значением, затем среди этих чисел выбирается наибольшее
Перемещать треугольник по экрану случайным образом C++

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

Или воспользуйтесь поиском по форуму:
Moroz-
0 / 0 / 1
Регистрация: 05.10.2012
Сообщений: 15
05.10.2012, 22:12  [ТС]     случайным образом выбирается символ #12
да,я понял почему не сравнивалось, надо было символ == символ.
Спасибо большое, разобрался,все заработало
Yandex
Объявления
05.10.2012, 22:12     случайным образом выбирается символ
Ответ Создать тему
Опции темы

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