Форум программистов, компьютерный форум CyberForum.ru

Распечатать слова через запятую, заключив печатную строку в скобки - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.60
Ruslanishe
25 / 9 / 1
Регистрация: 17.10.2010
Сообщений: 203
30.10.2011, 19:43     Распечатать слова через запятую, заключив печатную строку в скобки #1
В двумерном массиве записаны слова, представляющие собой последовательность цифр, завершающихся 0. Необходимо распечатать слова через запятую, заключив печатную строку в скобки. Длина печатной строки 60 символов. Извлечение слова оформить в виде функции.

Например:
исходные данные - 123023402303450
234450234567010
234455677670450

результат - (123,234,23,345)(23445,234567,1)(23445567767,45)

я так скромно начал:
C++
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
#include <iostream.h>
#include <conio.h>
 
#define rows 3
#define columns 1
 
void Vvod( int x[rows][columns] )
{
     int i,j;
     for ( i = 0; i < rows; i++ )
     {
         for ( j = 0; j < columns; j++ )
         {
             cout << "Введите х[" << i << "][" << j << "] = " << endl;
             cin >> x[i][j];
         }
     }
 }
 
void Vivod( int x[rows][columns] )
{
int i,j;
  for ( i = 0; i < rows; i++ )
     {
         for ( j = 0; j < columns; j++ )
         {
             cout << x[i][j];
         }
         cout << endl;
     }   
}
  
int main()
{
 setlocale(LC_CTYPE, "Russian");   
 int x[rows][columns]; 
 Vvod ( x );
 cout << endl << "Массив:" << endl << endl;
 Vivod ( x );
 getch();
}
я думал организовать массив записать туда эти цифры, а потом разбить их на отдельные части!
Допустим: дано число 102580
мы его разделяем на 1, 0, 2, 5 , 8, 0
последовательным деление на 10000 , 1000, и т.д. записывать значения в разные переменные! потом проверять чему они равны! если ноль то заменять на запятую! и потом распечатывать! в том порядке котором нужно!

вот теперь вопрос:
правильный ли ход мыслей?
и как мне понять из скольки чисел состоит элемент массива!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.10.2011, 19:43     Распечатать слова через запятую, заключив печатную строку в скобки
Посмотрите здесь:

C++ Распечатать количество вхождений заданного слова в каждую строку и заменить его на другое заданное слово
C++ Распечатать введенную строку, удалив из неё слова с нечетными номерами и перевернув слова с четными номерами
Распечатать введенную строку, удалив из неё слова с нечетными номерами и добавив перевернутое слово к слову с четными номерами. C++
C++ Дана строка слов, разделенных пробелами. Сформируйте новую строку, вставив перед каждым вхождением слова "and" запятую
C++ В строку через пробел вводятся слова. Отсортировать введенные слова по алфавиту. Результат вывести в виде столбца.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Сыроежка
Заблокирован
30.10.2011, 19:46     Распечатать слова через запятую, заключив печатную строку в скобки #2
Цитата Сообщение от Ruslanishe Посмотреть сообщение
В двумерном массиве записаны слова, представляющие собой последовательность цифр, завершающихся 0. Необходимо распечатать слова через запятую, заключив печатную строку в скобки. Длина печатной строки 60 символов. Извлечение слова оформить в виде функции.

Например:
исходные данные - 123023402303450
234450234567010
234455677670450

результат - (123,234,23,345)(23445,234567,1)(23445567767,45)

я так скромно начал:
C++
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
#include <iostream.h>
#include <conio.h>
 
#define rows 3
#define columns 1
 
void Vvod( int x[rows][columns] )
{
     int i,j;
     for ( i = 0; i < rows; i++ )
     {
         for ( j = 0; j < columns; j++ )
         {
             cout << "Введите х[" << i << "][" << j << "] = " << endl;
             cin >> x[i][j];
         }
     }
 }
 
void Vivod( int x[rows][columns] )
{
int i,j;
  for ( i = 0; i < rows; i++ )
     {
         for ( j = 0; j < columns; j++ )
         {
             cout << x[i][j];
         }
         cout << endl;
     }   
}
  
int main()
{
 setlocale(LC_CTYPE, "Russian");   
 int x[rows][columns]; 
 Vvod ( x );
 cout << endl << "Массив:" << endl << endl;
 Vivod ( x );
 getch();
}
я думал организовать массив записать туда эти цифры, а потом разбить их на отдельные части!
Допустим: дано число 102580
мы его разделяем на 1, 0, 2, 5 , 8, 0
последовательным деление на 10000 , 1000, и т.д. записывать значения в разные переменные! потом проверять чему они равны! если ноль то заменять на запятую! и потом распечатывать! в том порядке котором нужно!

вот теперь вопрос:
правильный ли ход мыслей?
Вообще-то, когда упоминается выражение "заданы слова", то обычно имеется в виду символьный массив. То есть вы объявляете двумерный символьный массив. Затем в каждой строке этого массива ищите символ '0' или конец строки и выводите найденные слова на печать.
Ruslanishe
25 / 9 / 1
Регистрация: 17.10.2010
Сообщений: 203
30.10.2011, 19:48  [ТС]     Распечатать слова через запятую, заключив печатную строку в скобки #3
Цитата Сообщение от Сыроежка Посмотреть сообщение
Вообще-то, когда упоминается выражение "заданы слова", то обычно имеется в виду символьный массив. То есть вы объявляете двумерный символьный массив. Затем в каждой строке этого массива ищите символ '0' или конец строки и выводите найденные слова на печать.
Т.е. в символьный массив тоже можно записывать числа?
Сыроежка
Заблокирован
30.10.2011, 19:52     Распечатать слова через запятую, заключив печатную строку в скобки #4
Цитата Сообщение от Ruslanishe Посмотреть сообщение
Т.е. в символьный массив тоже можно записывать числа?
Да, можно, как символы. Вы же пишите

char s[] = "Hello,world";

Точно также вы можете написать

char s[] = "123023402303450";

Или присваивать элементам массива отдельные цифры в виде символов. Можно спомощью функции itoa() gtреводить числа в их символьное представление.
Ruslanishe
25 / 9 / 1
Регистрация: 17.10.2010
Сообщений: 203
30.10.2011, 19:54  [ТС]     Распечатать слова через запятую, заключив печатную строку в скобки #5
Цитата Сообщение от Сыроежка Посмотреть сообщение
Да, можно, как символы. Вы же пишите
char s[] = "Hello,world";
Точно также вы можете написать
char s[] = "123023402303450";
Или присваивать элементам массива отдельные цифры в виде символов. Можно спомощью функции itoa() gtреводить числа в их символьное представление.
тогда я задаю массив это! потом рассматриваю каждый элемент если ноль то заменяю на запятую и в скобки их ! так?
Сыроежка
Заблокирован
30.10.2011, 20:02     Распечатать слова через запятую, заключив печатную строку в скобки #6
Цитата Сообщение от Ruslanishe Посмотреть сообщение
тогда я задаю массив это! потом рассматриваю каждый элемент если ноль то заменяю на запятую и в скобки их ! так?
Заменять ничего не надо в самом массиве. Вам ведьнужно просто вывести его представление на печать. по отдельным словам. Вычленяете слово в соответствии с положением нуля, печатаете его,затем печатаете запятую и так далее.
Ruslanishe
25 / 9 / 1
Регистрация: 17.10.2010
Сообщений: 203
30.10.2011, 20:21  [ТС]     Распечатать слова через запятую, заключив печатную строку в скобки #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream.h>
#include <conio.h>
  
int main()
{
    int i;
 setlocale(LC_CTYPE, "Russian");   
 char x[60];
 cout << "Введите строку : " << endl;
 cin >> x;
 cout << endl << "Строка:" << endl << endl;
 cout << x << endl;
 cout << endl << "После замены : " << endl;
 for ( i = 0; i < 60; i++ )
 {
     if ( x[i] == '0' )
     x[i] = ',';
     
 }
 cout << "(" << x << ")" << endl;
 getch();
}
вот так вроде норм)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.01.2015, 01:00     Распечатать слова через запятую, заключив печатную строку в скобки
Еще ссылки по теме:

C++ Ввод с клавиатуры массив из пяти целочисленных значений. Вывести их в одну строку через запятую. Получить для массива среднее арифметическое
C++ Удалить часть символьной строки, заключенной в скобки (вместе со скобками). Нужно через вхождение в строку
Удалить часть символьный строки заключенной в скобки(вместе со скобками) . Нужно через вхождение в строку C++

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

Или воспользуйтесь поиском по форуму:
HelgeUA
0 / 0 / 0
Регистрация: 29.01.2015
Сообщений: 10
31.01.2015, 01:00     Распечатать слова через запятую, заключив печатную строку в скобки #8
это же одномерный массив, как сдеть такое с двумерным?
Yandex
Объявления
31.01.2015, 01:00     Распечатать слова через запятую, заключив печатную строку в скобки
Ответ Создать тему
Опции темы

Текущее время: 14:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru