|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.01.2008, 18:24 | #1 |
Регистрация: 04.01.2008
Сообщений: 4
|
Массивы символов с++
Приветствую!
(среда borland c++ 3.1) Такая задача: [FONT="Arial Black"] С помощью ПСП (псевдослучайной последовательности) сформировать двухмерный массив. А в качестве элементов этого массива использовать одномерный массив из l символов. Причём одномерный массив из l символов должен представлять из себя слово заданной длины l с меняющимися символами и длиной(незаполненные позиции в зависимости от длины слова заполняются пробелами). Например: array[m][n] word[l] (m,n,l -константы) Массив array[m][n] это нечто вроде таблицы с заданным числом строк столбцов, m,n, соответственно. Массив word[l] это слово - 1 ячейка массива array[m][n] Т.е. в результате на выводе должно получится что-то вроде: (допустим 2-мерный массив 6x3 и одномерный =5) ***__ ***__ ****_ **___ ****_ ***__ ***__ **___ ****_ ****_ ****_ **___ *____ *____ ****_ ****_ ****_ ***_ Здесь "*" - случайный символ от A до Z "_" - пробел ТО есть в данном случае должна получиться таблица из 6 строк, 3 столбцов, ячейка длиной 5 символов. Ячейка заполнена на случайное количество случайных символов. А это моя попытка: #include <conio.h> #include <iostream.h> #include <math.h> #define k 2 //минимальная длина слова (ячейки) #define l 7 //максимальная длина слова (ячейки) #define m 20 //строки #define n 10 //столбцы int rand_size(int max, int min); //объявление функции, возвращающей //случайное целое чило с заданным диапазоном void main() { char array[m][n], word[l]; int i1,i2,i3,x; randomize(); clrscr(); //Заполняем массив for (i1=0;i1<m;i1++) { for (i2=0;i2<n;i2++) { x=rand_size(l,k); //возвращаем случайную длину слова //от 2(k) до 7(l) for (i3=0;i3<l;i3++) { if (i3<x) //если слово не заполнено по длине { word[i3]=(char)(random(26)+65); array[i1][i2]=word[i3]; } else //иначе заполняем остаток слова пробелами { word[i3]=(char)(32); array[i1][i2]=word[i3]; } } } } //пытаемся вывести тепрь на экран таблицу из 20 строк, 10 столбцов //заполненную словами длиной от 2 до 7 случайных символов. for (i1=0;i1<m;i1++) { for (i2=0;i2<n;i2++) { cout<<array[i1][i2]<<" "; } cout<<endl; } getch(); } //Функция возвращает случайное число с заданным диапазоном int rand_size(int max, int min) { int size; label_1: size=random(max+1); if ((size>=min)&&(size<=max)) { return size; } else { goto label_1; } } Это попытка конечно же не удачная, пожалуйста посодейтсвуйте 1-курснику. С уважением, Ярослав. Последний раз редактировалось chagin_yav; 04.01.2008 в 18:39. |
04.01.2008, 18:54 | #2 |
аккаунт недоступен
Форумчанин
Регистрация: 23.01.2007
Сообщений: 107
|
Какой еще goto ? перекреститесь 3 раза и забудьте о нем навсегда
а в чем конкретно проблема не можете сказать? а то нет времени изучать код. могу пока сказать что функция возвращающая случайное число выглядит намного проще Код:
ввел пароль, который мне не известен
|
04.01.2008, 19:14 | #3 | |
Участник клуба
Регистрация: 08.10.2007
Сообщений: 1,185
|
Цитата:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Регистры символов | rexec | Microsoft Office Excel | 11 | 02.02.2009 13:15 |
Считывание символов | AI01 | Общие вопросы C/C++ | 5 | 01.03.2008 17:30 |
Массивы символов (строки) символьные файлы. | anarchist | Помощь студентам | 2 | 24.12.2007 09:16 |
Массив символов | PsyTech | Общие вопросы C/C++ | 4 | 08.10.2007 10:13 |