Міністерство освіти и науки України
Львівський національний університет ім. Івана Франка
Факультет прикладної математики та інформатики
кафедра Теорії оптимальних процесів
Звіт з навчальної практики
Про єктно-орієнтоване програмування. Розробка програмного забезпечення
Виконала: Сомик Григорій Тарасович,
студент ІІ курсу, групи ПМА - 21
Перевірів: ас. Ковальчук О.В.,
доц. Мельничин А.В.
Львів - 2014
1. Програма зчітує з файлу две матриці, додає, множити (если це можливо) розв язок виводу на екран, та запісує у файл.
# include lt; iostream gt;
# include lt; fstream gt;
# include windows. h namespace std; tofile (ofstream amp; fout, float ** A, int n, int m)
{(int i=0; i lt; n; i ++)
{(int j=0; j lt; m; j ++)
{ lt; lt; A [i] [j] lt; lt; raquo ;;
} lt; lt; n raquo ;;
} lt; lt; n raquo ;;
} ** fromfile (ifstream amp; fin, int amp; n, int amp; m)
{pos=fin. tellg (); k; c;=0;=0; p=true; (p)
{ gt; gt; c; ++; (fin. get () == n )
{
++ n; (fin. get () == n ) p=false; {k=fin. tellg (); k--; fin. seekg (k); }
};
}; /=n; ** A=new float * [n]; (int i=0; i lt; n; i ++)
{[i]=new float [m];
} ;. seekg (pos); (int i=0; i lt; n; i ++)
{(int j=0; j lt; m; j ++)
{ gt; gt; A [i] [j] ;. get ();
}
}. get (); A;
} output (float ** A, int n, int m)
{if (A!=NULL)
{(int i=0; i lt; n; i ++)
{(int j=0; j lt; m; j ++) lt; lt; A [i] [j] lt; lt; flush lt; lt; raquo ;; lt; lt; endl;
} lt; lt; endl;
}
} ** ADD (float ** A, float ** B, int n1, int n2, int m1, int m2)
{((n1 == n2) amp; amp; (m1 == m2))
{float ** C=new float * [n1]; (int i=0; i lt; n1; i ++) [i]=new float [m1]; (int i=0; i lt ; n1; i ++) (int j=0; j lt; m1; j ++) [i] [j]=A [i] [j] + B [i] [j]; C;
}
{ lt; lt; ADD is not possible lt; lt; endl; NULL;
}
} ** MUL (float ** A, float ** B, int n1, int n2, int m1, int m2)
{(m1 == n2)
{** C=new float * [n1]; (int i=0; i lt; n1; i ++) [i]=new float [m2]; (int i=0; i lt; n1; i ++)
{(int j=0; j lt; m2; j ++)
{[i] [j]=0; (int k=0; k lt; m1; k ++)
{[i] [j] +=(A [i] [k] * B [k] [j]);
}
}
} C;
}
{ lt; lt; MUL is not possible lt; lt; endl; NULL;
}
} main ()
{(тисяча двісті п'ятьдесят-одна); fin ( input. txt ); fout ;. open ( output. txt ); ** A, ** B, ** C, ** D; n1, n2, n3, m1, m2, m3, n4, m4; n, m, pos; lt; lt; Вхідні дані: nA: n raquo ;;=fromfile (fin, n1, m1); (A, n1, m1);=fromfile (fin, n2, m2); lt; lt; B: n raquo ;; (B, n2, m2);=ADD (A, B, n1, n2, m1, m2);=MUL (A, B, n1, n2, m1, m2); lt; lt; Результат: nA + B: n raquo ;; (C!=NULL)
{= n1;=m1; (C, n3, m3); (fout, C, n3, m3);
} lt; lt; A * B n raquo ;; (D!=NULL)
{= n1;=m2; (D, n4, m4); (fout, D, n4, m4);
}. close () ;. close () ;. get () ;. get (); 0;
}
. Програма яка відаляє з Порядком всі слова Які почінаються та закінчуються на одну й ту саму букву, рядок вводяться з Клавіатури.
# include lt; iostream gt;
# include lt; string gt;
# include windows. h namespace std; edit (string amp; s)
{ss= raquo ;, word= raquo ;; i=0; (i lt; s. length ())
{(isalpha ((unsigned ...