topotuno
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору #include<iostream> #include<string> char *strcpy( char *dst,char *src); char** form_massiv(int &n) { char **mas=new char*[n]; return mas; } void enterinfo(char** mas,int &n) { int i; char s[50]; std::cout<<"Enter strings:"<<std::endl; for ( i=0;i<n;i++) { std::cin>>s; //gets(s); mas[i]=new char[std::strlen(s)+1]; strcpy(mas[i],s); } } void printmas(char** mas,int &n) { int i; for (i=0;i<n;i++) { std::cout << mas[i]<<std::endl; } } int deletstrmas(char **mas,int &n) { int koludal,nstroki;int i; std::cout<<"kol-vo udalaemih "; std::cin>>koludal; std::cout<<"So stroki s nomerom ";std::cin>>nstroki; if( (koludal<0) || (nstroki<1) || ((koludal+nstroki-1)> n) || (koludal>n) ) {std::cout<<"Enter znac bolse zeroo";n=0; return 0;} // if(((koludal+nstroki)> n) || (koludal>n)) {std::cout<<"oshibka"; return 0;} //for (i=0;i<=n;i++) // { std::cout << mas[i]; //n=n-koludal; for ( i=0;i<n;i++) { if(i>nstroki ) delete mas[i]; //mas[i]='\0'; ;//**mas=0;//=new char[strlen(s)+1]; // std::strcpy(mas[i],s); } n=n-koludal; return 0; } char ** delaallmas(char **mas,int &n) { int koludal,nstroki; int i; std::cout<<"kol-vo udalaemih "; std::cin>>koludal; std::cout<<"So stroki s nomerom "; std::cin>>nstroki; // if( koludal<0 || nstroki<=0 ) {std::cout<<"Enter znac bolse zeroo"; return 0;} // if() // if(((koludal+nstroki)> n) || (koludal>n)) {std::cout<<"oshibka"; return 0;} //for (i=0;i<=n;i++) // { std::cout << mas[i]; //n=n-koludal; int counter=0; //int counter2=0; char **newmas= new char*[n]; for ( i=0;i<n;i++) { if((i+1)>=nstroki )//|| koludal==0) //for(counter=0; i<nstroki && koludal!=0 ;counter++) { newmas[counter]=new char [std::strlen(mas[i])+1]; strcpy(newmas[counter],mas[i]); //counter++;//counter2++; delete mas[i]; } //else continue; ;//**mas=0;//=new char[strlen(s)+1]; // std::strcpy(mas[i],s); //else {koludal--; //else mas[i]='\0'; //n--;} } delete mas[i]; } return newmas; } void main() { int size; char** masA; std::cout << "Enter size= "; std::cin >> size; //Формирование массива masA = form_massiv(size); //Ввод элементов enterinfo(masA,size); //Вывод массива std::cout <<std::endl; std::cout << "Massiv:" << std::endl; printmas(masA,size); //Удаление указанных строк //deletstrmas(masA,size); //delaallmas(masA,size); std::cout << "\nModification Massiv:" << std::endl; printmas(masA,size); //delete [] masA; } | Всего записей: 315 | Зарегистр. 28-10-2006 | Отправлено: 16:45 13-04-2008 | Исправлено: topotuno, 17:04 13-04-2008 |
|