3 / 3 / 5
Регистрация: 26.12.2013
Сообщений: 197
1

Каждый символ слова разместить в отдельной ячейке двумерного массива

04.05.2015, 08:10. Показов 2441. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день!!
вот такое задание
С клавиатуры вводится слово длинной M*N символов.
Каждый символ необходимо разместить в отдельной ячейке двумерного массива размером MxN, выбранной случайным образом.
Вывести на экран слово, получившееся в k-й строке
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
Uses crt;
const
  Max = 20;
var
  Matr: array[1..Max, 1..Max] of Char;
  i, j, k, n, m: integer;
begin
clrscr;
randomize;
  repeat
    write('Vvedite kol-vo strok: ');
    readln(m);
  until (m in [1..Max]);
  repeat
    write('Vvedite kol-vo stolbcov : ');
    readln(n);
  until (m in [1..Max]);
  writeln('Vvedite elementi massiva ', m, 'x', n, ': ');
    for i:=1 to m do
    for j:=1 to n do
    begin
      write('Matr[', i, ', ', j, ']: ');
      readln(Matr[i,j]);
    end;
  writeln('Massiv: ');
  for i:=1 to m do
  begin
    for j:=1 to n do
      write(Matr[i, j]:4);
    writeln;
  end;
  write('Vvedite nomer stroki: ');
  readln(k);
  writeln('Result ', k, ': ');
  for j:=1 to n do
    write(Matr[k, j]:4);
    readln;
end.
Подскажите пожалуйста, как мне разместить символы введенной строки в выбранных случайным образом ячейки массива? Очень прошу помощи! заранее огромное спасибо!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.05.2015, 08:10
Ответы с готовыми решениями:

Как сделать каждый символ вводимого слова в отдельной ячейке
Здравствуйте! Пишу макрос для Excel, который позволит вписывать только по одной букве в ячейку,...

Как каждый символ двумерного массива сохранить в новом массиве
Имеем двумерный массив, который должен проходиться циклом, сохраняя каждый символ в новом массиве!!

Получить первый символ слова из двумерного массива слов
Задание: обработать массив выделив слова содержащие повтор и слова принадлежащие столбцу, в котором...

Строку вывести на экран посимвольно: каждый символ в отдельной строке
Заданную в программе строку вывести на экран посимвольно: каждый символ в отдельной строке....

7
251 / 162 / 24
Регистрация: 22.08.2014
Сообщений: 1,598
Записей в блоге: 1
04.05.2015, 08:56 2
i:=Random(M) , i запоминаешь в массиве, чтобы не повторятся.
1
Почетный модератор
64299 / 47594 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
04.05.2015, 11:00 3
Лучший ответ Сообщение было отмечено mysteria-m как решение

Решение

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
Uses crt;
const
  Max = 15;{строка максимум из 255 символов, принимаем 225}
var s:string;
    Matr: array[1..Max, 1..Max] of Char;
    mm:set of byte;
    m,n,i,j,k,row,col:byte;
begin
clrscr;
randomize;
repeat
 write('Vvedite kol-vo strok: ');
 readln(m);
until (m in [1..Max]);
repeat
 write('Vvedite kol-vo stolbcov : ');
 readln(n);
until (n in [1..Max]);
writeln('Vvedite stroku iz ',m,'x',n,' simvolow');
readln(s);
if length(s)>m*n then {если ввели больше, обрежем}
s:=copy(s,1,m*n)
else if length(s)<m*n then{если меньше, добавим пробелы}
while length(s)<m*n do s:=s+' ';
mm:=[];{пустое множество номеров ячеек}
for i:=1 to m*n do
 begin
  repeat
   k:=1+random(m*n); {выбираем номер ячейки}
  until not(k in mm);{пока он не встречен в множестве}
  mm:=mm+[k]; {добавим в множество}
  row:=(k-1)div n+1;{вычислим номер строки и столбца}
  col:=(k-1)mod n+1;
  Matr[row,col]:=s[i];{запишем символ в матрицу}
 end;
for i:=1 to m do
 begin
  for j:=1 to n do
  write(Matr[i,j]);
  writeln
 end;
readln
end.
1
3 / 3 / 5
Регистрация: 26.12.2013
Сообщений: 197
04.05.2015, 11:18  [ТС] 4
спасииибо!!!!
0
Почетный модератор
64299 / 47594 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
04.05.2015, 11:55 5
Цитата Сообщение от mysteria-m Посмотреть сообщение
Вывести на экран слово, получившееся в k-й строке
Это я забыл написать, сами доделаете?
0
3 / 3 / 5
Регистрация: 26.12.2013
Сообщений: 197
04.05.2015, 11:55  [ТС] 6
да да спасибо уже сделала
0
0 / 0 / 1
Регистрация: 04.04.2015
Сообщений: 5
06.06.2015, 01:46 7
извините, а можете написать полностью код программы?
0
Почетный модератор
64299 / 47594 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
06.06.2015, 05:50 8
Допишите в конце это
Pascal
1
2
3
4
5
6
7
8
9
repeat
write('Выберите номер строки от 1 до ',m,' k=');
readln(k);
until k in [1..m];
writeln('Слово в строке ',k);
for i:=1 to n do
write(Matr[k,i]);
readln
end.
1
06.06.2015, 05:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.06.2015, 05:50
Помогаю со студенческими работами здесь

Преобразовать все слова массива так, чтобы каждый символ в слове повторялся один раз, сохранив общий порядок следования символов
здраствуйте,программисты.помогите решить любую из приведённых задач,может кто делал подобные...

Расположить каждый элемент массива в отдельной строке файла
Дан массив строк. Записать их в файл, расположив каждый элемент массива на отдельной строке с...

Заменить каждый символ массива встречающийся после первого вхождения символа * на символ -
Даны натуральное число n, символы s1,…,sn. Преобразовать последовательность s1,…,sn: если нет...

Разместить цифры многозначного числа в соответствующей ячейке массива
Разместить цифры многозначного числа в соответствующей ячейке массива, не зная длины числа.


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru