0 / 0 / 0
Регистрация: 05.10.2010
Сообщений: 14
1

Поменять слова местами

06.10.2010, 00:04. Показов 3444. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Помогите, пожалуйста, дописать программу.
Задание: ввести массив из 10 слов, длина слова от 4 до 10 символов. Нужно поменять местами слово, начинающееся на 'а', со словом, оканчивающимся на 'я', при условии, что такие слова существуют и являются единственными. В результате должна получиться строка преобразованных слов, разделенных пробелом.
Программу преобразования массива написала, работает, не могу поменять слова местами. Помогите, пожалуйста...

Получившаяся программа:
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
program lab_5;
uses crt;
const n=10;
var
X:array[1..n] of string[10];
dl:integer;
i,j:byte;
 
begin
clrscr;
writeln('Программа обработки данных строкового типа');
writeln('Введите ', n,' слов из 4-10 символов');
For i:=1 to n do begin
write(i, '-e слово ');readln(x[i]);end;
writeln('Введенные слова');
For i:=1 to n do writeln(i,'-oe слово' ,x[i]);
     dl:=length(x[i]);
readln;
 
writeln('Преобразованные слова');
For i:=1 to n do write(' ',x[i]);
readln;
 
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.10.2010, 00:04
Ответы с готовыми решениями:

Поменять местами слова с максимальной и минимальной длиной при условии, что такие слова единственные
Поменять местами слова с максимальной и минимальной длиной при условии, что такие слова...

Если первая буква второго слова совпадает с последней буквой третьего слова, поменять местами второе и третье
Дан текст, слова которого отделяются друг от друга пробелами. Если первая буква второго слова...

поменять местами слова How do you do на do how do you
поменять местами слова How do you do на do how do you помогите...

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

9
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
06.10.2010, 10:17 2
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
program lab_5;
uses crt;
const n=10;
var X:array[1..n] of string[10];
    i,i1,i2,k:byte;
    s:string[10];
begin
clrscr;
writeln('Программа обработки данных строкового типа');
writeln('Введите ', n,' слов из 4-10 руских букв');
For i:=1 to n do
 begin
  write(i, '-e слово ');
  readln(x[i]);
 end;
k:=0;i1:=0;
For i:=1 to n do
if x[i][1]='а'then
 begin
  k:=k+1;
  i1:=i;
 end;
if k=0 then
 begin
  write('Слова на букву а нет, работа программы завершена!');
  readln;
  exit;
 end;
if k>1 then
 begin
  write('Слова на букву а несколько, работа программы завершена!');
  readln;
  exit;
 end;
k:=0;i2:=0;
For i:=1 to n do
if x[i][length(x[i])]='я'then
 begin
  k:=k+1;
  i2:=i;
 end;
if k=0 then
 begin
  write('Слова, оканчивающегося на букву я нет, работа программы завершена!');
  readln;
  exit;
 end;
if k>1 then
 begin
  write('Слов,оканчивающегося на букву я несколько, работа программы завершена!');
  readln;
  exit;
 end;
s:=x[i1]; x[i1]:=x[i2]; x[i2]:=s;
writeln('Обмен слов:');
For i:=1 to n do
write(' ',x[i]);
readln
end.
3
0 / 0 / 0
Регистрация: 05.10.2010
Сообщений: 14
06.10.2010, 12:10  [ТС] 3
Спасибо Вам огромное!!!!!!!!!!!!!
0
0 / 0 / 0
Регистрация: 17.12.2010
Сообщений: 16
10.01.2011, 21:49 4
А кто нибудь может написать блок схему для этой программы ??? очень надо. заранее спасибо !
0
0 / 0 / 0
Регистрация: 25.09.2012
Сообщений: 4
29.11.2012, 19:59 5
спасибо большое за програму, ловите "+" ))
0
0 / 0 / 0
Регистрация: 28.11.2013
Сообщений: 13
18.12.2013, 17:16 6
Просите, но у меня возникает проблема. Почему -то каждый раз, когда я заполняю массив, пишет, что слов на букву "а" нет, хотя сделали все по вашему решению.
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
18.12.2013, 17:37 7
Ну так что вводите, латинский шрифт или русский и в том и в другом есть буква а.
Ну напишите так
Pascal
1
2
For i:=1 to n do
if x[i][1] in ['A','a','А','а'] then
и русских 2 и латинских
0
0 / 0 / 0
Регистрация: 28.11.2013
Сообщений: 13
18.12.2013, 17:55 8
опять ошибка, только с я теперь
скрин прилагается
http://s2.ipicture.ru/uploads/... vESNz6.png
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
18.12.2013, 18:07 9
У меня в этой строке
Pascal
1
if x[i][length(x[i])]='я'then
никакой ошибки нет ни в Турбо Паскале ни в Паскале АВС, так что выкиньте это чудо, на котором издеваетесь над программами.
0
0 / 0 / 0
Регистрация: 28.11.2013
Сообщений: 13
18.12.2013, 18:11 10
ладушки, спасибо большое, попробую сейчас на виртуалке замутить
0
18.12.2013, 18:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.12.2013, 18:11
Помогаю со студенческими работами здесь

Поменять местами слова в строке
Как такая программка пишется ? Мы должны поменять слова с номерами n и k. Я пытался , но...

Поменять местами второе и третье слова
Помогите пожалуйста с задачкой! На вид задача не сложная, но со строками не могу никак...

Поменять местами слова с максимальной и минимальной длиной
Здравствуйте, нужно решение задачи: Поменять местами слова с максимальной и минимальной длиной при...

В заданной строке найти первое и последнее слова и поменять их местами.
Помогите, пожалуйста, с прогой! В заданной строке найти первое и последнее слова и поменять их...

Ввести с клавиатуры фразу, состоящую из 2-х слов. Поменять местами слова в этой фразе
Ввести с клавиатуры фразу, состоящую из 2-х слов. Поменять местами слова в этой фразе.

Дана строка, надо поменять местами два слова, номера которых вводятся с клавиатуры
Я разделил строку на слова а дальше не получается(((


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

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

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