С Новым годом! Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
1 / 1 / 0
Регистрация: 17.01.2013
Сообщений: 16

Выровнять массив вида MxN

19.01.2013, 00:07. Показов 1941. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Прошу помощи!)

Pascal
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
69
70
71
72
73
74
75
uses crt,graphabc;
 
procedure WriteRight(const s: string);
begin
 GotoXY(Length(s), WhereY);
 Write(s);
end;
 
const
nmax=9;
  k=2;
  l=7;
  m=20;
  n=10;
var
//a:array [1..M,1..N] of string[l];
a:array[1..m,1..n] of string;
    //m,n,k,l,i,j,r,p,kol:byte;
    s,st:string;
    i,j,r,p,kol:byte;
begin
//window(1,1,80,25);
setWindowSize(650,420);
 
repeat
//writeln('Количество строк до ',2*nmax,' m=');
//readln(m);
until m in[1..3*nmax];
repeat
//writeln('Количество столбцов до ',nmax,' n=');
//readln(n);
until n in[1..2*nmax];
repeat
//writeln('Минимальная длина слов от 1 до 6 k=');
//readln(k);
until k in [1..6];
repeat
//writeln('Максимальная длина слов от ',k,' до 7 l=');
//readln(l);
until l in [l..7];
writeln('Исходная матрица ',m,'x',n,': ','(N=',n,' M=',m,' L=',l,' K=',k,')');
writeln;
for i:=1 to m do
 begin
  for j:=1 to n do
   begin
    r:=k+random(l-k+1);             //количество символов
    s:='';
    for p:=1 to r do
    s:=s+chr(65+random(26));    //генерация случайных букв
    while length(s)<-50 do s:=s+' ';
    a[i,j]:=' '+s;
    if(i mod 3=0)and not(a[i,j][r] in ['A','E','I','O','U',' '])  then
           begin
               //setWindowSize(650,440);
               //window(1,1,100,500);
               //TextSize(12);
               TextAttr:=16*LightGray+Yellow;
                     kol:=kol+1;   {считаем количество}
              // TextColor(0);  {цвет по умолчанию}
           end
    //then TextAttr:=16*LightGray+Yellow
    else TextAttr:=16*White+Black;
    write(a[i,j]:l+0,'');
    //WriteRight;
   end;
  writeln;
 end;
TextBackGround(14); {цвет фона}
TextColor(0); {цвет текста}
writeln;
write('                                                    Количество слов=',kol);{это вводим в отдельном окне}
TextBackGround(white);
writeln;
end.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.01.2013, 00:07
Ответы с готовыми решениями:

Прямоугольное поле mxn разбито на mxn квадратных клеток...
Прямоугольное поле mxn разбито на mxn квадратных клеток. Некоторые ячейки запечатленные в черный цвет. Известно, что все черные клетки...

Дана действительная матрица размера mxn. получить одномерный массив
Дана действительная матрица размера mxn. получить одномерный массив, элементы которого равны суммам первого отрицательного и последнего...

Массив вида [1,2,3,4,5,6] превратить в массив вида [6,1,5,2,4,3], используя методы массива
Не понимаю, каким образом это возможно сделать, а точнее, как можно закинуть некий элемент массива на определенное место.

7
Pascal, Delphi, C++
 Аватар для Taftis
215 / 128 / 91
Регистрация: 01.12.2012
Сообщений: 628
19.01.2013, 10:21
Цитата Сообщение от dean999 Посмотреть сообщение
write(a[i,j]:l+0,'');
прояви фантазию в этой строке там 3,4,5 или 6 напишы
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
19.01.2013, 10:26
Чем не устроил последний вариант здесь?
Вывести на экран сформированный массив, выделив цветом (мерцанием) указанные в варианте элементы
зачем вам модуль GraphABC, размер экрана устанавливается и без него
Pascal
1
CRTWindowSize(650,420)
только зачем?

Добавлено через 2 минуты
Цитата Сообщение от Taftis Посмотреть сообщение
прояви фантазию в этой строке там 3,4,5 или 6 напишы
Не нужно проявлять фантазию, ибо l-максимальная длина слова, и :l+1 нормально, ровно с пробелом выводит слова, можете посмотреть по ссылке.
0
1 / 1 / 0
Регистрация: 17.01.2013
Сообщений: 16
19.01.2013, 12:00  [ТС]
Вот так вот получается при 20х10, из-за этого проставил l+0, чтоб строка не слетала.

[IMG]http://s006.***********/i215/1301/92/84df3b10f3b0.png[/IMG]
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
19.01.2013, 12:20
Так сделай l=6;
Pascal
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
uses crt;
const  k=2;
       l=6;
       m=20;
       n=10;
var a:array[1..m,1..n] of string;
    i,j,r,p:byte;
    s,st:string;
 
begin
writeln('Исходная матрица:');
for i:=1 to m do
 begin
  for j:=1 to n do
   begin
    r:=k+random(l-k+1);
    s:='';
    for p:=1 to r do
    s:=s+chr(65+random(26));
    while length(s)<l do s:=s+' ';
    a[i,j]:=s;
    if(i mod 3=0)and not(a[i,j][r] in ['A','E','I','O','U',' '])
    then TextAttr:=16*LightGray+Yellow
    else TextAttr:=16*White+Black;
    write(a[i,j]:l+1);
   end;
  writeln
 end;
end.
0
1 / 1 / 0
Регистрация: 17.01.2013
Сообщений: 16
19.01.2013, 13:32  [ТС]
как не странно, но это задание, я бы рад, l=7, ну все равно спасибо)
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
19.01.2013, 13:51
Если l=7 и окно по умолчанию, то убери переход на новую строку(строка 27)

Добавлено через 1 минуту
Если за матрицей есть еще что-то, то вынеси это за цикл.
0
1 / 1 / 0
Регистрация: 17.01.2013
Сообщений: 16
20.01.2013, 01:56  [ТС]
Огромное спасибо! я лопух полный))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.01.2013, 01:56
Помогаю со студенческими работами здесь

Построить три вида фигуры. На месте вида спереди и вида слева совместить часть вида с частью разреза

Построить три вида фигуры. На месте вида спереди и вида слева совместить часть вида с частью разреза - AutoCAD
Меня уже совсем выносит. Правильно ли я делаю?.. Не могу представить нормально вид слева. Что делаю не так? До второй фигуры даже и не...

Заполнить случайными числами матрицу А(mxn) и В(mxn) и вывести их на экран в виде таблицы
Заполнить случайными числами матрицу А(mxn) и В(mxn) и вывести их на экран в виде таблицы, окрасив элементы главных диагонали красным...

Дан целочисленный двумерный массив размером MxN
Ребят помогите написать программу на С++.В долгу не останусь. Дан целочисленный двумерный массив размером MxN, а) заменить ...

Заполнить двумерный массив MxN цифрами 1, 2, 3, 4 и т.д. по спирали
Помогите пожалуйста: Размерность массива (количество элементов) вводится с клавиатуры. Организовать заполнение массивов случайными...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru