1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

Массивы символов в C++

Тема в разделе "С и С++", создана пользователем chagin_yav, 4 янв 2008.

Статус темы:
Закрыта.
  1. chagin_yav

    chagin_yav Гость

    Репутация:
    0
    Приветствую!
    (среда borland c++ 3.1)
    Такая задача:
    С помощью ПСП (псевдослучайной последовательности) сформировать двухмерный массив. А в качестве элементов этого массива использовать одномерный массив из 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-курснику.

    С уважением, Ярослав.
     
  2. gamecreator

    gamecreator Гость

    Репутация:
    0
    создай 3-мерный символьный массив.

    а вместо
    Код:
    size=random(max+1);
    if ((size>=min)&&(size<=max))
    {
    return size;
    }
    else
    {
    goto label_1;
    }
    напиши
    Код:
    size=min+random(max-min+1);
     
  3. chagin_yav

    chagin_yav Гость

    Репутация:
    0
    "создай 3-мерный символьный массив."

    - в условии задачи поставлена цель - создать два массива - двухмерный и одномерный
     
  4. gamecreator

    gamecreator Гость

    Репутация:
    0
    ты неправильно понял условие. прочитай еще раз.
    следовательно 2+1=3
     
Загрузка...
Похожие Темы - Массивы символов C++
  1. Shandrik
    Ответов:
    3
    Просмотров:
    473
  2. Искушенный
    Ответов:
    0
    Просмотров:
    562
  3. Искушенный
    Ответов:
    1
    Просмотров:
    606
  4. Искушенный
    Ответов:
    1
    Просмотров:
    579
  5. Rpp
    Ответов:
    1
    Просмотров:
    918
Статус темы:
Закрыта.

Поделиться этой страницей