петрАфанасьев
?>

1написать программу, которая находит в массиве значения, повторяющиеся два и более раз, и показывает их на экран. 2 написать программу, которая находит в массиве самое маленькое нечетное число и показывает его на экран. для всех : размер массива вводит пользователь. элементы массива рандомно в диапазоне [ 13; 27 ].

Информатика

Ответы

kenni19868
Int main()

  int  
    numOfEl,          // number of elements in the array
    minNum = 28,  // minimal number in the array   
    *mainArray,      // main array   
    cntArray[15];    // array for counting the repeated numbers

    std::cout << "Input the number of the elements: "; 
    std::cin >> numOfEl;

    mainArray = new int[numOfEl];

    for (int i = 0; i < 15; i++)
      cntArray[i] = 0;   

    for (int i = 0; i < numOfEl; i++)
    {
      cntArray[(mainArray[i] = rand() % 15 + 13) - 13]++;

      if (mainArray[i] < minNum && mainArray[i] % 2 != 0)
        minNum = mainArray[i]; 
    }

#ifdef _DEBUG
    std::cout << "Array: ";
   
    for (int i = 0; i < numOfEl; i++)
      std::cout << mainArray[i] << ";" << std::endl;
#endif

    std::cout << "Repeated numbers: ";
    for (int i = 0; i < numOfEl; i++) 
      if (cntArray[i] >= 2)
        std::cout << i + 13 << "; ";

    std::cout << std::endl << "Minimal number: " << minNum << std::endl;

    system("pause");
   
   return 0;
} /* End of the 'main' function */
ziyaevak
Const
  n1=15;
  n2=10;
  n3=12;
type
  V=array[1..15] of string;
procedure M_in(s:string; var a:V; n:integer);
{ ввод данных в массив }
var i:integer;
begin
  Writeln('Вводите по одному ',n,' элементов массива ',s);
  for i:=1 to n do Readln(a[i])
end; 

procedure M_out(var a:V; n:integer; c:char);
{ выводит элементы, начинающиеся с указанного символа }
var i:integer;
begin
  Writeln('*** Слова на букву ',c,' ***');
  for i:=1 to n do
    if a[i][1]=c then Writeln(a[i]);
  Writeln
end; 

var
  s1,s2,s3:V;
begin
  M_in('S1',s1,n1);
  M_in('S2',s2,n2);
  M_in('S3',s3,n3);
  M_out(s1,n1,'В');
  M_out(s2,n2,'Ц');
  M_out(s3,n3,'А');
end.
Алла14
Незнаю верно ли я все понял, но как вариант можно сделать так
//Microsoft (R) C/C++ Optimizing Compiler Version 19.00.23506 for x64

#include <iostream>
#include <string>
#include <sstream>
#include <vector>
#include <iterator>
#include <algorithm>

bool DigitFirst(const std::string& rhs, const std::string& lhs)
{
    if (isdigit(rhs[0]) || isdigit(lhs[0]))
        return rhs < lhs;
}

bool LetterFirst(const std::string& rhs, const std::string& lhs)
{
    if (isalpha(rhs[0]) || isalpha(lhs[0]))
        return rhs < lhs;
}

const std::string TrueSort(std::string str, bool(*comparator)(const std::string&
rhs, const std::string& lhs))
{
    std::stringstream ss(str);
    std::vector<std::string> vstr(std::istream_iterator<std::string>(ss), {});
    std::sort(vstr.begin(), vstr.end(), comparator);
    ss.clear();
    std::copy(vstr.begin(), vstr.end(), std::ostream_iterator<std::string>(ss, " "));
    return ss.str();
}

int main()
{
    std::string first  = "position total 12345 2jz asd512fgh";
    std::string second = "year 10010 2018r r98k hello";
    std::cout << TrueSort(first,  DigitFirst ) << std::endl;
    std::cout << TrueSort(second, LetterFirst);
}

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

1написать программу, которая находит в массиве значения, повторяющиеся два и более раз, и показывает их на экран. 2 написать программу, которая находит в массиве самое маленькое нечетное число и показывает его на экран. для всех : размер массива вводит пользователь. элементы массива рандомно в диапазоне [ 13; 27 ].
Ваше имя (никнейм)*
Email*
Комментарий*