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

[C++] Вывести все глухие согласные буквы (без повторений), которые встретились в двух самых коротких словах - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
Astart
0 / 0 / 0
Регистрация: 10.12.2011
Сообщений: 17
04.03.2012, 23:55     [C++] Вывести все глухие согласные буквы (без повторений), которые встретились в двух самых коротких словах #1
Помогите или хотя бы натолкните на мысль чайника в программировании, пожалуйста!
Итак, дана следующая задача:
Дан массив из n слов произвольной длины (длина слова не превышает 80 символов). Символами могут быть только заглавные латинские буквы. Найти и вывести все глухие согласные буквы (без повторений), которые встретились в двух самых коротких словах.

Во-первых, не совсем ясно будет ли являться подобное объявление массивом из n слов произвольной длины?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "stdafx.h"
#include <iostream>
#include <clocale>
#include <conio.h>
using namespace std;
int main(){
setlocale(LC_CTYPE,"Russian");
char str[80];
cout << "Введите любое слово:";
gets (str);
cout << "Вы ввели:" << str;
system("pause");
}
Во-вторых, как задать то, что символами могут быть только заглавные латинские буквы?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.03.2012, 23:55     [C++] Вывести все глухие согласные буквы (без повторений), которые встретились в двух самых коротких словах
Посмотрите здесь:

C++ Дан текст на русском языке. Напечатать в алфавитном порядке все согласные буквы,которые входят только в одно слово
C++ Вывести все слова в столбик без повторений
C++ Вывести слова без повторений,которые имеют больше гласных,чем согласных.
Сделать маленькими все буквы в тех словах, в которых нет ни одной буквы, встречающейся в последнем слове строки. C++
C++ Напечатать в алфавитном порядке все глухие согласные буквы, которые входят в текст
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
retmas
Жарю без масла
803 / 685 / 143
Регистрация: 13.01.2012
Сообщений: 1,580
05.03.2012, 00:02     [C++] Вывести все глухие согласные буквы (без повторений), которые встретились в двух самых коротких словах #2
Цитата Сообщение от Astart Посмотреть сообщение
будет ли являться подобное объявление массивом из n слов произвольной длины?
C++
1
char str[80];
это массив символов. он же - одно слово.
Цитата Сообщение от Astart Посмотреть сообщение
как задать то, что символами могут быть только заглавные латинские буквы?
isupper
Astart
0 / 0 / 0
Регистрация: 10.12.2011
Сообщений: 17
05.03.2012, 00:21  [ТС]     [C++] Вывести все глухие согласные буквы (без повторений), которые встретились в двух самых коротких словах #3
спасибо за заглавные латинские буквы - с этим разобрались,
теперь вопрос в следующем, если
C++
1
char str[80];
одно слово, то как задать из него массив, причем слова в этом массиве не превышают 80 символов?
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
05.03.2012, 00:24     [C++] Вывести все глухие согласные буквы (без повторений), которые встретились в двух самых коротких словах #4
C
1
2
3
const unsigned int count = 100; // число слов;
const unsigned int max_length = 80; // максимальная длина слова;
char text[count][max_length]; // массив из 100 слов - не более 80 символов каждом;
Astart
0 / 0 / 0
Регистрация: 10.12.2011
Сообщений: 17
05.03.2012, 00:28  [ТС]     [C++] Вывести все глухие согласные буквы (без повторений), которые встретились в двух самых коротких словах #5
да и еще вопрос, надеюсь мне кто-нибудь поможет с ним разобраться, к тому же я возможно заблуждаюсь...
Массив слов (одномерный) - есть строка? Соответственно объявляться он может как строка?
Согласно этому:

"В С++ предусмотрено два типа данных, значения которых представляют строки символов. Первый из них — массив базового типа char, в котором хранится последовательность символов строки, а конец строки отмечается нулевым символом '\0'. Это старый способ представления строк, унаследованный языком C++ от языка С. Строки данного типа, называемые строками С, все еще широко используются."

А значит объявление через char также будет правильным, просто не современным и больше свойственным для С, а не С++? Или я же чего-то не въезжаю?
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
05.03.2012, 00:37     [C++] Вывести все глухие согласные буквы (без повторений), которые встретились в двух самых коротких словах #6
char представляет отдельный символ. Например
C
1
char c = '1';
Соответственно чтобы представить строку (а строка это массив символов), то надо объявить массив типа char
C
1
char string[80];
например так, или
C
1
char string[] = "Привет, мир";
в этом случае размер массива (т.е. и строки) вычислится сам, исходя из числа символов в ковычках. В данном случае размер массива будет 11 символов (байт) + 1 символ (байт)
Этот +1 как раз взялся из-за того, что строки в С оканчиваются символом '\0', соответственно для его хранения и отводится дополнительный байт

а в С++ уже просто есть готовый класс std::string, который является оберткой над массивом типа char
C++
1
std::string word("Привет, мир");
например так можно объявить строку
Astart
0 / 0 / 0
Регистрация: 10.12.2011
Сообщений: 17
05.03.2012, 00:46  [ТС]     [C++] Вывести все глухие согласные буквы (без повторений), которые встретились в двух самых коротких словах #7
хорошо, спасибо за доходчивое разъяснение - это действительно намного понятней, чем написано в книжках...
и снова вопрос, теперь насчет заполнения массива:
C++
1
2
3
4
5
6
const unsigned int count = 20; // число слов;
const unsigned int max_length = 80; // максимальная длина слова;
char text[count][max_length]; // массив из 100 слов - не более 80 символов каждом;
cout << "Введите массив";
for(int count=0; count<20; count++)
cin>>text;
что я делаю неправильно? и как заполнить массив?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.03.2012, 01:01     [C++] Вывести все глухие согласные буквы (без повторений), которые встретились в двух самых коротких словах
Еще ссылки по теме:

C++ Вывести все числа, которые максимально часто встречаются в массиве и количество их повторений
C++ Удалять в словах, которые заканчиваются на букву "А" все другие буквы "А"
Вывести те согласные буквы, которые входят в первое предложение и не входят во второе C++

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

Или воспользуйтесь поиском по форуму:
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
05.03.2012, 01:01     [C++] Вывести все глухие согласные буквы (без повторений), которые встретились в двух самых коротких словах #8
так индекс у массива где?
C++
1
2
3
4
5
6
const unsigned int count = 20; // число слов;
const unsigned int max_length = 80; // максимальная длина слова;
char text[count][max_length]; // массив из 100 слов - не более 80 символов каждом;
cout << "Введите массив";
for(int count=0; count<20; count++)
cin>>text[i];
Yandex
Объявления
05.03.2012, 01:01     [C++] Вывести все глухие согласные буквы (без повторений), которые встретились в двух самых коротких словах
Ответ Создать тему
Опции темы

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