Advertisement
anathemizatu

lab1.2.h

May 5th, 2011
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.73 KB | None | 0 0
  1. #include <string>
  2. #include <cstring>
  3. #include <iostream>
  4.  
  5. using namespace std;
  6.  
  7. struct longsir {
  8.     int len;
  9.     long *sir;
  10.     int isinitialised;};
  11.  
  12.  
  13. longsir initializare (int n){
  14.     longsir a; int i;
  15.     a.len=n;
  16.     a.isinitialised = 1;
  17.     a.sir = new long[n];
  18.     for (i=0;i<n;i++){
  19.         cout <<"Introduceti elementul cu numarul "<<i;
  20.         cin >>a.sir[i];}
  21.         return a;}
  22.        
  23. longsir modlen(longsir *s, int newlen){
  24.     if (s ->isinitialised ==1 && newlen != s->len) {
  25.         if (newlen < s-> len) {
  26.             longsir a;
  27.             a.len=newlen;
  28.             a.isinitialised=1;
  29.             a.sir=new long[a.len];
  30.             int i;
  31.             for (i=0;i<newlen;i++){
  32.                 a.sir[i]=s->sir[i];};
  33.             return a;}
  34.         else {
  35.             longsir a;
  36.             int i; int oldlen=s->len;
  37.             a.len=newlen;
  38.             a.isinitialised=1;
  39.             a.sir=new long[a.len];
  40.             for (i=0;i<(s->len);i++){
  41.                 a.sir[i]=s->sir[i];};
  42.             cout <<"Introduceti restul elementelor din sir ";
  43.             for(i=oldlen;i>newlen;i++){
  44.                 cout <<"Introduceti elementele sirului cu numarul "<<i<<endl;
  45.                 cin.clear();
  46.                 cin >> a.sir[i];}
  47.                 return a;}}}
  48.  
  49. int remvect (longsir *s) {
  50.     if (s -> isinitialised ==1){
  51.         delete [] s->sir;
  52.         s -> sir = NULL;
  53.         s-> isinitialised =0;
  54.         return 0;
  55.     } else {return 1;}}
  56.  
  57. long negsum(longsir *s) {
  58.     if (s->isinitialised==1) {
  59.     int i; long rez=0;
  60.     for (i=0;i<s->len;i++) {
  61.         if (s->sir[i]<0) {
  62.             rez += s->sir[i];}}
  63.         return rez; }
  64.         else {return 0;}}
  65.  
  66. long acces_longsir (longsir *s, int n){
  67.     return s->sir[n];}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement