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

Вывод группы цифр, если количество цифр нечетное

04.04.2015, 19:54. Показов 1365. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Помогите пожалуйста поправить программу.

Задание:
Написать программу, которая читает с клавиатуры произвольную строку символов, преобразует ее и выводит результат на дисплей в виде строки.
Преобразования:
1.Убрать все пробелы.
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
Program lalayla;
var
  s: string;
  i,n: integer;
 
begin
readln (s);
i:=1; 
while i <= length(s) do begin  //убиваем пробелы
if s[i] = ' ' then
delete(s,i,1)
else i:=i+1; 
end;
 
i:=1;           
n:=0;
        
        
for i:=1 to Length(s) do begin
if (s[i]>='0')and(s[i]<='9') then inc(n);// n количество цифр
end;
   
i:=1;   
 
 
///Дальше начинаются проблемы 
 
while n mod 2 > 0 do begin
for i:=1 to Length(s) do begin
if (s[i]>='a')and(s[i]<='z') then delete(s,i,1);  
end; 
inc(i);
end;
writeln('Количество цифр четное');
readln;
end.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.04.2015, 19:54
Ответы с готовыми решениями:

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

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

Дано целое число N — количество цифр и задана каждая из этих цифр. Сформировать число, состоящее из этих цифр, начиная с разряда единиц.
Дано целое число N — количество цифр и задана каждая из этих цифр. Сформировать число, состоящее из...

Определить: количество цифр в числе, среднее арифметическое цифр, сумму квадратов
Дано натуральное число N. Определить: количество цифр в нем; среднее арифметическое его цифр; сумму...

6
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
04.04.2015, 20:19 2
Лучший ответ Сообщение было отмечено Karakurt как решение

Решение

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
Program lalayla;
const cf=['0'..'9'];
var s,s1: string;
    i,j,n,k: integer;
begin
writeln('Введите строку, содержащую пробелы и группы цифр');
readln(s);
while pos(' ',s)>0 do
delete(s,pos(' ',s),1);
writeln('Строка без пробелов');
writeln(s);
s:=','+s;
writeln('Группы цифр нечетной длины');
k:=0;
n:=length(s);
i:=2;
while i<=n do
if (s[i]in cf)and not(s[i-1]in cf) then
 begin
  s1:='';
  j:=i;
  while (j<=n)and(s[j] in cf) do
   begin
    s1:=s1+s[j];
    j:=j+1;
   end;
  if odd(length(s1)) then
   begin
    writeln(s1);
    k:=1
   end;
  i:=i+length(s1);
 end
else i:=i+1;
end.
Добавлено через 2 минуты
Вставьте перед последним end.
Pascal
1
if k=0 then write('Таких групп нет')
1
0 / 0 / 1
Регистрация: 26.07.2012
Сообщений: 23
04.04.2015, 20:34  [ТС] 3
Puporev, Спасибо большое за помощь!
Я вообще не так задание трактовал//
Пойду разбираться)
0
0 / 0 / 1
Регистрация: 26.07.2012
Сообщений: 23
16.05.2015, 19:34  [ТС] 4
Помогите исправить эту программу.
Не нужно убирать пробелы, нужно найти все строки символов, которые состоят из чисел, и потом если количество чисел нечетное, вывести эту строку.
пример:

ввод:
43 83236 t5 n2vcx123 3fsdg b5as2 746 532n

вывод:
83236
746


если не сложно, с максимальным пояснением
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
16.05.2015, 21:27 5
Цитата Сообщение от Karakurt Посмотреть сообщение
Не нужно убирать пробелы, нужно найти все строки символов, которые состоят из чисел, и потом если количество чисел нечетное, вывести эту строку.
Ну так не удаляйте пробелы, остальной код не изменится.

Добавлено через 16 минут
А нет, изменения будут...
0
0 / 0 / 1
Регистрация: 26.07.2012
Сообщений: 23
16.05.2015, 21:28  [ТС] 6
Puporev, пробовал, но эта программа подтирает у полученных строк все символы, отличные от цифр, разъясни пожалуйста, если не сложно, в каком месте в программе это происходит.
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
16.05.2015, 21:44 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
Program lalayla;
const cf=['0'..'9'];
var s,s1: string;
    i,j,n,k,p: integer;
begin
writeln('Введите строку, разделители групп пробелы');
readln(s);
s:=' '+s;
writeln('Группы цифр нечетной длины');
p:=0;
n:=length(s);
i:=2;
while i<=n do
if (s[i]in cf)and (s[i-1]=' ') then
 begin
  s1:='';
  j:=i;
  while (j<=n)and(s[j]<>' ') do
   begin
    s1:=s1+s[j];
    j:=j+1;
   end;
  if odd(length(s1)) then
   begin
    j:=1;
    k:=0;
    while(j<=length(s1))and(k=0)do
    if not(s1[j] in cf)then k:=1
    else j:=j+1;
    if k=0 then
     begin
      writeln(s1);
      p:=1
     end;
   end;
  i:=i+length(s1);
 end
else i:=i+1;
if p=0 then write('Таких групп нет')
end.
Добавлено через 53 секунды
Это все, я ухожу.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.05.2015, 21:44
Помогаю со студенческими работами здесь

Найти сумму четных цифр и количество отрицательных цифр числа
Дано натуральное число n. Найти сумму четных цифр и количество отрицательных цифр.

Вывести на экран количество цифр числа N и сумму его цифр
Дано натуральное число N (N&lt;10255). Вывести на экран количество цифр числа N и сумму его цифр.

Определить количество цифр, среднее арифметическое цифр в натуральном числе
Дано натуральное число N. Определить: количество цифр в нем; среднее арифметическое его цифр; сумму...

Подсчитать количество цифр в заданном натуральном числе и найдите сумму цифр заданного натурального числа
Подсчитать количество цифр в заданном натуральном числе и найдите сумму цифр заданного натурального...


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

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

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