Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.03.2020, 23:28   #1
Bastep
 
Регистрация: 17.03.2020
Сообщений: 5
По умолчанию Двумерные массивы.

ЗАДАНИЕ
В исходном массиве символов, заполненном случайным образом символами с кодами в диапазоне от 21 до 254, выделить в отдельные массивы строчные гласные и строчные согласные буквы латинского алфавита. Произвести сортировку полученных массивов. Для
контроля результата сделать распечатку массивов, в том числе исходного.
ВЫПОЛНИТЬ ПО ЭТИМ ПУНТАМ
Задание:
1. Заполнить двумерный массив (каждая строка массива заполняется в
соответствии с заданием по теме №5).
2. Распечатать содержимое массива в виде прямоугольной матрицы.
3. Сохранить двумерный массив в бинарный файл.
4. Считать содержимое бинарного файла в другой двумерный массив.
5. Распечатать содержимое нового массива в виде прямоугольной
матрицы.
6. Выполнить над каждой строкой нового двумерного массива действия, предусмотренные по теме №5.
7. Распечатать преобразованный двумерный массив

КОД ЭТОЙ ЛАБЫ, ПО НЕМУ НУЖНО ВЫПОЛНИТЬ ЗАДАНИЯ
Код:
#include <iostream>
#include <iomanip>
#include <windows.h>
#include <math.h>
#include <time.h>
#define N 300
#define MIN 21
#define MAX 254
 
using namespace std;
 
void Randomize() {
 srand(time(0));
}
int Random(int diapazon){
    return (rand() % diapazon);
}
void Zapolnenie(char m[], int n, int MinValue, int MaxValue){
    int Diapazon;
    Diapazon = MaxValue - MinValue;
    for (int i = 0; i < n; i++)
        m[i] = Random(Diapazon) + MinValue;
}
void Print(char m[], int n ){
    for (int i=0; i<n; i++)
    cout << m[i];
    cout << endl;
}
int Poisk(char m[], int n) {
    int c = 0;
    for(int i = 0; i < n; i++) {
        if(m[i] >= 97 && m[i] <= 122) {
            c++;
        }
    }
    return c;
}
int m1(char m[], int n) {
    int glas = 0;
    for(int i = 0; i < n; i++) {
        if(m[i] >= 97 && m[i] <= 122) {
            if (m[i] == 'a' || m[i] == 'e' || m[i] == 'i' || m[i] == 'o' || m[i] == 'u' || m[i] == 'y') {
                glas++;
            }
        }
    }
    return glas;
}
void m2(char m[], int c, char g[], char s[]){
    int n = 0, k = 0;
    for(int i = 0; i < c; i++) {
        if(m[i] >= 97 && m[i] <= 122) {
            if (m[i] == 'a' || m[i] == 'e' || m[i] == 'i' || m[i] == 'o' || m[i] == 'u' || m[i] == 'y') {
                g[n] = m[i];
                n++;
            } else {
                s[k] = m[i];
                k++;
            }
        }
        }
}
void Obmen (char m[], int n, int i1, int i2){
    int tmp;
    tmp = m[i1];
    m[i1] = m[i2];
    m[i2] = tmp;
}
void Bubble (char m[], int n, int Up){
    for (int i = n - 1; i > Up; i--)
        if (m[i] < m[i-1])
            Obmen (m, n, i, i-1);
}
void SortObmen (char m[], int n){
    for (int i=0; i<n-1; i++)
        Bubble (m, n, i);
}
 
int main() {
    setlocale(LC_ALL, "Russian");
    char m[N], glas, sogl, k;
    Randomize();
    Zapolnenie(m, N, MIN, MAX);
    Print (m, N);
    k = Poisk(m, N);
     glas = m1(m, N);
    sogl = k - glas;
    char G[glas], S[sogl];
    m2(m, N, G, S);
    SortObmen(S, sogl);
    SortObmen(G, glas);
    cout << ("\n\n Гласные: ");
    Print(G, glas);
    cout << ("\n\n Согласные: ");
    Print(S, sogl);
    system ("pause");
    return 0;
}
Bastep вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одномерные массивы, двумерные массивы, строки Sand093 C++ Builder 11 20.05.2012 21:48
Двумерные массивы(C++) Elien Помощь студентам 8 10.05.2012 00:15
Двумерные массивы(матрица) 2)Строковые массивы(строки): 3)Структуры nuriyat Помощь студентам 1 21.01.2012 16:16
Двумерные массивы(массивы указателей на массивы) krytishka99 Помощь студентам 1 29.12.2011 19:51
Двумерные массивы... BarSenok Паскаль, Turbo Pascal, PascalABC.NET 25 03.05.2010 00:11