М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
MrDuster
MrDuster
01.09.2022 17:49 •  Информатика

Сделать программу на c++ : даны строки: имя фамилия отчество , нужно чтобы программа выдавал отчества в алфавитном порядке, как это можно сделать?

👇
Ответ:
muriev
muriev
01.09.2022

Код не слишком удобно вставлять, поэтому прикрепляю прогу в файле.

Идея:

Выделить отчество: добавляем в новый вектор буквы после второго пробела ФИО - получаем отчество, и так для всех ФИО - получаем вектор с отчествами.Отсортировать вектор с отчествами. Делаем с стандартной функции sort, а условие сортировки - буква первого элемента младше буквы второго элемента вектора.
4,7(33 оценок)
Открыть все ответы
Ответ:
HeliaK
HeliaK
01.09.2022
#include
необходим для подключения заголовочных файлов из стандартной библиотеки C/C++ (в этом случае название заголовочного файла указывается в угловых скобках, например, #include <cstdlib>) или заголовочных файлов сторонних библиотек (в этом случае название указывается в двойных кавычках, например, #include "sqlite3.h").

using namespace std
используется для выбора пространства имён std по-умолчанию. В библиотеках могут быть использованы различные пространства имён, ограничивающие область видимости функций, классов и глобальных переменных. В стандартной библиотеке используется пространство имён std, указывающее на то, что данная конструкция является частью стандартной библиотеки. Если не использовать никакое пространство имён, то даже при подключении заголовочного файла (например применив вызов #include <iostream>), мы не сможем явно использовать элементы этой библиотеки, которые объявлены в пространстве имён std. Т.е. вызов cout << "Привет, мир!" вызовет ошибку, что объект cout не найден. Это происходит потому, что данный объект имеет область видимости только внутри пространства имён std. Но мы можем его вызвать, явно указав, в каком пространстве имён следует искать данный объект. Для этого необходимо перед именем объекта указать имя пространства имён, в котором он находится. Пример:

#include <iostream>

int main()
{
     cout <<"Hello!"  // Ошибка - не указано пространство имён
     std::cout  <<"Hello!"  // Нет ошибки - вызов объекта из пространства имён std, указанного явным образом
}

как-то так...
4,4(9 оценок)
Ответ:
тетямотя7
тетямотя7
01.09.2022
Общее решение, позволяющее удалять из строк любой "мусор"

// PascalABC.Net 3.0, сборка 1066
procedure CheckString(var s:string; var n:integer);
var
  i:integer;
begin
  i:=Length(s);
  while i>0 do begin
    if not(s[i] in ['a'..'z']) then Delete(s,i,1);
    Dec(i)
  end;
  n:=Length(s)
end;

var
  s1,s2:string;
  i,p,n1,n2:integer;
begin
  Write('Введите первую строку: '); Readln(s1);
  CheckString(s1,n1);
  if n1=0 then Writeln('Введенная строка не содержит допустимых символов')
  else begin
    Write('Введите вторую строку: '); Readln(s2);
    CheckString(s2,n2);
    if n2=0 then Writeln('Введенная строка не содержит допустимых символов')
    else
      { теперь обе строки содержат только маленькие латинские буквы }
      if n1=n2 then begin
        for i:=1 to n1 do begin
          p:=Pos(s1[i],s2);
          if p=0 then Break
          else Delete(s2,p,1)
          end;
        if Length(s2)=0 then Writeln('Решение имеется')
        else Writeln('Решения нет')
        end
      else
        Writeln('Решения нет');
    end
end.

Тестовое решение:
Введите первую строку: this is my own deal!
Введите вторую строку: Тест: *is  now=l2ead  my   sthi?
Решение имеется

Также имеется современное решение, которому пока что в школах не учат:
// PascalABC.Net 3.0, сборка 1066
begin
  var s1:=ReadString('Введите первую строку: ').Where(x->x in ['a'..'z']);
  if s1.Count=0 then
    Writeln('Введенная строка не содержит допустимых символов')
  else begin
    var s2:=ReadString('Введите вторую строку: ').Where(x->x in ['a'..'z']);
    if s2.Count=0 then
      Writeln('Введенная строка не содержит допустимых символов')
    else
      if s1.Except(s2).Count>0 then Writeln('Решения нет')
      else Writeln('Решение имеется')
    end
end.
4,8(72 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ