![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 08.04.2011
Сообщений: 5
|
![]()
#include <iostream.h>
#include <iomanip.h> #include <conio.h> #include <stdlib.h> #include <Windows.h> class Massiv { int *a,*d,n,min; public: void Sozd(); void Vvod_Sl(); void Form(int n1, int n2); void Form_2(int n3, int n4); void Print(); void Print_2(int number); void Print_3(int rec, int field); }; void main() {SetConsoleCP(1251); SetConsoleOutputCP(1251); Massiv a,b; int number,punkt,rec,field,kol,n1,n2,n, n3,n4; clrscr(); cout<<"1 - Создание массива ";cout<<endl; cout<<"2 - Вывод всех строк";cout<<endl; cout<<"3 - Вывод строки по индексу";cout<<endl; cout<<"4 - Сцепление двух массивов";cout<<endl; cout<<"5 - Слияние двух масивов";cout<<endl; cout<<"6 - Вывод конкретного элемента конкретной строки";cout<<endl; cout<<"7 - Выход";cout<<endl; cout<<"Выберете пункт в меню: "; cin>> punkt; while (punkt!=7) { switch(punkt) { case 1: {randomize(); a.Vvod_Sl(); cout<<endl; a.Print(); cout<<endl; cout<<"1 - Создание массива";cout<<endl; cout<<"2 - Вывод всех строк";cout<<endl; cout<<"3 - Вывод строки по индексу";cout<<endl; cout<<"4 - Сцепление двух массивов";cout<<endl; cout<<"5 - Слияние двух масивов";cout<<endl; cout<<"6 - Вывод конкретного элемента конкретной строкиi";cout<<endl; cout<<"7 - Выход";cout<<endl; cout<<"Выберете пункт в меню: "; cin>> punkt; } break; case 2: {a.Print(); cout<<endl; cout<<"1 - Создание массива";cout<<endl; cout<<"2 - Вывод всех строк";cout<<endl; cout<<"3 - Вывод строки по индексу";cout<<endl; cout<<"4 - Сцепление двух массивов";cout<<endl; cout<<"5 - Слияние двух масивов";cout<<endl; cout<<"6 - Вывод конкретного элемента конкретной строкиi";cout<<endl; cout<<"7 - Выход";cout<<endl; cout<<"Выберете пункт в меню: "; cin>> punkt; } break; case 3: { cout<<"Введите номер массива (нумерация начинаеться с 0!): ";cin>>number; cout<<endl; a.Print_2(number); cout<<"1 - Создание массива";cout<<endl; cout<<"2 - Вывод всех строк";cout<<endl; cout<<"3 - Вывод строки по индексу";cout<<endl; cout<<"4 - Сцепление двух массивов";cout<<endl; cout<<"5 - Слияние двух масивов";cout<<endl; cout<<"6 - Вывод конкретного элемента конкретной строкиi";cout<<endl; cout<<"7 - Выход";cout<<endl; cout<<"Выберете пункт в меню: "; cin>> punkt; } break; case 4: { cout<<"Введите номер 1-го массива (нумерация начинаеться с 0!!!): ";cin>>n1;cout<<endl; cout<<"Введите номер 2-го массива (нумерация начинаеться с 0!!!): ";cin>>n2;cout<<endl; a.Form(n1,n2); cout<<endl; cout<<"1 - Создание массива";cout<<endl; cout<<"2 - Вывод всех строк";cout<<endl; cout<<"3 - Вывод строки по индексу";cout<<endl; cout<<"4 - Сцепление двух массивов";cout<<endl; cout<<"5 - Слияние двух масивов";cout<<endl; cout<<"6 - Вывод конкретного элемента конкретной строкиi";cout<<endl; cout<<"7 - Выход";cout<<endl; cout<<"Выберете пункт в меню: "; cin>> punkt;} break; case 5: { cout<<"Введите номер 1-го массива (нумерация начинаеться с 0!!!): ";cin>>n3;cout<<endl; cout<<"Введите номер 1-го массива (нумерация начинаеться с 0!!!): ";cin>>n4;cout<<endl; a.Form_2(n3,n4); cout<<endl; cout<<"1 - Создание массива";cout<<endl; cout<<"2 - Вывод всех строк";cout<<endl; cout<<"3 - Вывод строки по индексу";cout<<endl; cout<<"4 - Сцепление двух массивов";cout<<endl; cout<<"5 - Слияние двух масивов";cout<<endl; cout<<"6 - Вывод конкретного элемента конкретной строкиi";cout<<endl; cout<<"7 - Выход";cout<<endl; cout<<"Выберете пункт в меню: "; cin>> punkt;} break; case 6: { cout<<"Введите номер строки массива(нумерацыия начинаеться с 0!): ";cin>>rec; cout<<endl; cout<<"Введите номер столбца: ";cin>>field; cout<<endl; a.Print_3(rec,field); cout<<"1 - Создание массива";cout<<endl; cout<<"2 - Вывод всех строк";cout<<endl; cout<<"3 - Вывод строки по индексу";cout<<endl; cout<<"4 - Сцепление двух массивов";cout<<endl; cout<<"5 - Слияние двух масивов";cout<<endl; cout<<"6 - Вывод конкретного элемента конкретной строкиi";cout<<endl; cout<<"7 - Выход";cout<<endl; cout<<"Выберете пункт в меню: "; cin>> punkt;} break; case 7: break; } } |
![]() |
![]() |
![]() |
#2 |
Регистрация: 08.04.2011
Сообщений: 5
|
![]()
продолжение:
} void Massiv :: Sozd() { int m; cout<<"Количество строк? ";cin>>n; int min=0; for (int i=0;i<n;i++) { cout<<"Количество элементов "<< i+1 <<" в строке? "; cin>>m; *(d+i)=m; if (min<m) min=m; } a=(int*)malloc(sizeof(int)*n*min); } void Massiv::Vvod_Sl() { Sozd(); for(int i=0;i<n;i++) for (int j=0; j<*(d+i); j++) { *(a+i+j)=-20+random(41); } } void Massiv :: Print() { for(int i=0;i<n;i++) { for (int j=0; j<*(d+i);j++) { cout<<setw(6)<<*(a+i+j); } cout<<endl; } } void Massiv :: Print_2(int number) { for(int i=0;i<n;i++) { for (int j=0; j<*(d+i);j++) { if (i==number) cout<<setw(6)<<*(a+i+j); } cout<<endl; } } void Massiv :: Print_3(int rec, int field) { for(int i=0;i<n;i++) { for (int j=0; j<*(d+i);j++) { if ((i==rec)&&(j==field)) cout<<"Даный элемент= "<<setw(6)<<*(a+i+j); else "Массив с такими даннымы не найден!"; } cout<<endl; } } void Massiv :: Form(int n1,int n2) { int m1,m2,k,j,l,p; int c[20]; //zapominaem kolvo elementov v strokah m1=*(d+n1); m2=*(d+n2); // *(b+n1)=m1+m2; int m3=m1+m2; k=0; for (l=0;l<m3;l++) if(l<m1) {c[l]=*(a+n1+l); cout<<setw(6)<<c[l]; } else if((l>=m1)&&(l<m3)) { c[l]=*(a+n2+k); cout<<setw(6)<<c[l]; k++; } } void Massiv :: Form_2(int n3,int n4) { int m1,m2,k,j,l,p,l1; int c[20],f[20]; //zapominaem kolvo elementov v strokah m1=*(d+n3); m2=*(d+n4); int m3=m1+m2; k=0; for (l=0;l<m3;l++) { if(l<m1) {c[l]=*(a+n3+l); } else if((l>=m1)&&(l<m3)) { c[l]=*(a+n4+k); k++; } } l1=0; f[l1]=c[l1]; cout<<setw(6)<<f[l1]; //sliyanie for(p=1;p<m3;p++) if(f[l1]!=c[p]) { l++; f[l1]=c[p]; cout<<setw(6)<<f[l1]; } } |
![]() |
![]() |
![]() |
#3 |
Регистрация: 08.04.2011
Сообщений: 5
|
![]()
Условие задачи
Составить описание класса для определения одномерных массивов строк фиксированной длины. Предусмотреть возможность обращения к отдельным строкам массива по индексам, контроль выхода за пределы массива, выполнения операций поэлементного сцепления двух массивов с образованием нового массива, сцепление двух массивов с исключением повторяющихся элементов, вывод на экран элемента массива по заданному индексу и всего массива. Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса. |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Вы правда думаете, что кто-то будет бесплатно разбираться в этой не читаемой простыне? Хоть тег [CODE] (значок #) бы использовали для сохранения форматирования\подсветки и указали бы в чем проблема.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
написал программу, где то ошибка, не пойму где... | Kelevra91 | Общие вопросы C/C++ | 5 | 17.01.2011 16:38 |
Где ошибка? | dimorik | Win Api | 7 | 12.03.2010 06:52 |
Где ошибка??? | beygul | Помощь студентам | 5 | 06.11.2009 21:00 |
Народ где найти описание процедур | lesha_firs | Общие вопросы Delphi | 4 | 21.05.2009 13:59 |
Народ помогите!!! где взять шрифт 8x16.fnt ? | Askip | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 24.12.2007 11:34 |