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

Сформировать массив L из массивов A и B путем их слияния - C++

Восстановить пароль Регистрация
 
Лялябра
Сообщений: n/a
07.05.2011, 22:07     Сформировать массив L из массивов A и B путем их слияния #1
1. Задан массив A из N элементов и массив B из M элементов. Сформировать массив L из массивов A и B путем их слияния так, чтобы сначала располагались все элементы массива A, а затем все элементы массива B. Значения N и M ввести с клавиатуры, а мас-сивы A и B сформировать из случайных чисел в диапазоне от 0 до 100.

2. В матрице размерами N*M (N и M не больше 15) поменять местами минимальный и максимальный элементы. Размеры матрицы и ее элементы задать при помощи ввода. Вывести матрицу в исходном и преобразованном виде.

3. Вводится произвольная строка русского текста, а также одна из букв русского алфавита. Подсчитать, какой процент слов в строке начинается на эту букву. Слова разделены пробелами.

4. Дан символьный файл. Считая что, количество символов в одном слове не больше 15:
1. Определить, сколько раз в заданном файле встречается каждая буква алфавита;
2. Определить, сколько в файле имеется слов, состоящих из одного, двух, трех и т. д. символов;
3. Определить, сколько в файле имеется предложений, состоящих из одно-го, двух, трех и т.д. слов;
Полученные результаты отобразить либо в виде таблиц на экране, либо в виде столбчатой диаграммы, либо записать в текстовый файл.


Заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.05.2011, 22:07     Сформировать массив L из массивов A и B путем их слияния
Посмотрите здесь:

C++ Получить упорядоченный массив путем слияния двух введенных и вывести его
Сформировать массив путем слияние двух других C++
C++ Из двух упорядоченных массивов получить путем слияния упорядоченный массив C
C++ Надо создать массив путем слияния двух произвольных одномерных массивов
Надо создать массив путем слияния двух произвольных одномерных массивов C++
C++ Получить из двух упорядоченных массивов путем слияния упорядоченный по возрастанию массив
Сформировать массив путем переноса всех чисел кроме последнего положительного C++
Сформировать новый массив - путем переноса всех чисел из исходного C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ma3a
Эксперт C++
612 / 456 / 31
Регистрация: 28.01.2011
Сообщений: 605
07.05.2011, 22:31     Сформировать массив L из массивов A и B путем их слияния #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
1.
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
#include <iostream>
#include <algorithm>
#include <ctime>
 
int main()
    {
    struct MyRand
        {
        int operator()()
            {
            return rand() % 101;
            }
        };
    unsigned N,M;
 
    int * A, * B, * L;
 
    std::cin >> N >> M;
 
    A = new int[N];
    B = new int[M];
    L = new int[N + M];
 
    srand(time(0));
    
    std::generate_n(A,N,MyRand());
    std::generate_n(B,M,MyRand());
    std::copy(A,A + N,L);
    std::copy(B,B + M,L + N);
 
    delete [] A;
    delete [] B;
    delete [] L;
    }
Добавлено через 15 минут
2.
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
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <iostream>
#include <algorithm>
 
int main()
    {
    unsigned N,M;
 
    int ** Matrix;
 
    std::cin >> N >> M;
 
    if(N > 15 || M > 15)
        std::cerr << "Error!";
 
    Matrix = new int *[N];
    for(std::size_t i = 0; i < N; ++i)
        Matrix[i] = new int[M];
    // ввод матрицы
    for(std::size_t i = 0; i < N; ++i)
        for(std::size_t j = 0; j < M; ++j)
            std::cin >> Matrix[i][j];
 
    // вывод исходной
    for(std::size_t i = 0; i < N; ++i)
        {
        for(std::size_t j = 0; j < M; ++j)
            std::cout << Matrix[i][j] << ' ';
        std::cout << "\n";
        }
    
    // преобразование
    int   * min = std::min_element(Matrix[0], Matrix[0] + M)
        , * max = std::min_element(Matrix[0], Matrix[0] + M);
    for(std::size_t i = 1; i < N; ++i)
        {
        int * t_min = std::min_element(Matrix[i],Matrix[i] + M),
            * t_max = std::max_element(Matrix[i],Matrix[i] + M); 
        if(*t_min < *min) min = t_min;
        if(*t_max > *max) max = t_max;
        }
    std::swap(*min,*max);
 
    // вывод преобразованной
    for(std::size_t i = 0; i < N; ++i)
        {
        for(std::size_t j = 0; j < M; ++j)
            std::cout << Matrix[i][j] << ' ';
        std::cout << "\n";
        }
 
    for(std::size_t i = 0; i < N; ++i)
        delete [] Matrix[i];
    delete [] Matrix;
    }
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
07.05.2011, 22:35     Сформировать массив L из массивов A и B путем их слияния #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Лялябра Посмотреть сообщение
3. Вводится произвольная строка русского текста, а также одна из букв русского алфавита. Подсчитать, какой процент слов в строке начинается на эту букву. Слова разделены пробелами.
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
#include <iostream>
#include <vector>
#include <string>
#include <sstream>
#include <iterator>
#include <algorithm>
#include <windows.h>
 
int main(){
  SetConsoleCP(1251);
  SetConsoleOutputCP(1251);
  std::string str;
  std::cout << "\n\nВведите строку = ";
  getline(std::cin, str);
  std::cout << "\n\nВведите букву = ";
  static char ch = std::cin.get();
  std::istringstream ist(str);
  std::vector<std::string> words( (std::istream_iterator<std::string>(ist)),
                                   std::istream_iterator<std::string>() );
  struct func{
    bool operator() (const std::string &_s) const{
      return *_s.begin() == ch;
    }
  };
  std::cout << "\n\nРезультат = "
            << std::count_if(words.begin(), words.end(), func()) * 100.0 / words.size()
            << '%' << std::endl;
  return 0;
}
Yandex
Объявления
07.05.2011, 22:35     Сформировать массив L из массивов A и B путем их слияния
Ответ Создать тему
Опции темы

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