Учебни материали

Споделени от колеги - с преглед преди изтегляне.

Примерна задача, написана почти само с функции

Решени задачи RTF 25 сваляния 19.04.2016

/*Зададен е масивът от символни низове А0, А1,...,Аn-1.
Да се състави програма, която създава нов масив а0, а1,...,аn-1,
като стойността на аi е равна на броя на символите в низа Аi.*/
#include <iostream>
using namespace std;
#include <stdlib.h>
#include <string.h>
bool OKAY;
void lenghtArray(int &m, int &n);
void checkMemory(int n, int *&A);
void checkMemory(int m, int n, char **&A);
void setArray(int m, int n, char *A[], char l);
void getArray(int n, int arr[], char l);
void countChars(int m, int n, char *A[], int *a);
void deleteMemory(int n, int *&A);
void deleteMemory(int n, char **&A);
void main() {
system("chcp 1251");
system("cls");
char **A;
int m, n, *a;
A = NULL;
a = NULL;
lenghtArray(m, n);
checkMemory(m, n, A);
checkMemory(m, a);
cin.ignore();
setArray(m, n, A, 'A');
countChars(m, n, A, a);
cout << "-----------------------\nБроя на символите в низа
Аi\n-----------------------\n";
getArray(m, a, 'a');
deleteMemory(m, A);
deleteMemory(m, a);
system("pause");
}
void lenghtArray(int &m, int &n) {
do {
OKAY = true;
cout << "Брой символни низове: ";
cin >> m;
cout << "Дължина на символните низове (2-255): ";
cin >> n;
if (m > 100 || m < 1) {
cout << "Не може да имате масив от символни низове по-дълъг от 100
или по-малък от 0!\n";
OKAY = false;
}
if (n > 255 || n < 2) {
cout << "Дължината на символните низове трябва да е в обхвата \"2255\"\n";
OKAY = false;
}
} while (OKAY == false);
}
void checkMemory(int n, int *&A) {
if (!(A = new int[n])) {
cout << "Няма достатъчно памет за създаване на динамичен масив!\n";

Преглед на началото - целият файл след изтегляне

Описание

Задача с функции за начинаещи и напреднали
Използваните функции са:
Задаване дължина на масив
Проверка има ли достатъчно памет за създаване на динамичен масив (едномерен и двумерен)
Въвеждане на масив (двумерен)
Извеждане на масив (едномерен)
Функция за изпълнение на условието, което ни е поставено
Изтриване на динамично заделена памет (едномерен масив; двумерен масив)

0 коментара

Все още няма коментари. Бъдете първият, който ще коментира.

За да коментирате, трябва да сте влезли в профила си.

Влезте