#include < iostream>
#include < stdlib.h>
#include < cmath>
using namespace std;
int main()
{
const int n = 5;
int a[n][n];
for (int i=0; i < n; i++)
for (int j=0; j < n; j++)
a[i][j] = rand()%100; // заполнение случайными целыми числами
cout < < "massiv: \n";
for(int i = 0; i < n; i++)
{for (int j=0; j < n; j++)
{ cout < < a[i][j] < < "\t"; } // вывод массива на экран
cout < < endl; }
int sum1=0;
int sum2=0;
for(int i=0; i< n; i++)
for(int j=0; j< n; j++)
{ if (i == j)
sum1 += a[i][i]; // сумма элементов главной диагонали
if (i == n - j - 1)
sum2 += a[i][j]; // сумма элементов побочной диагонали
}
cout < < "\nsumma elementov glavnoi diag = "< < sum1 < < endl;
cout < < "summa elementov pobochnoi diag = " < < sum2 < < endl;
cout < < "raznost summ = " < < abs(sum1-sum2) < < endl; // выводим абсолютное значение разности сумм
return 0;
}
Поделитесь своими знаниями, ответьте на вопрос:
Переписать код с pascal на c++ uses strutils; var a : string; b: string[100]; i, j, c, k: integer; t: array of string; begin readln(a); readln(b); setlength(t, length(b)); for i: = 1 to length(b) do begin b : = copy(b, 2, length(b)) + b[1]; j: = k - 1; while (j > = 0) and (t[j]< > b) do dec(j); if j < 0 then begin t[k]: = b; inc(k); j: = posex(b, a, 1); while j > 0 do begin inc(c); j: = posex(b, a, 1 + j); end; end; end; writeln(c); end.
гипотетически под адресацию можно использовать 56 - 8 = 48 бит. после этого возникают одни вопросы. если мы адресуем байтами, то объем будет 2^48 байт и это 256 терабайт. однако можно адресовать и 48 битными "словами" (в случае, если мы приводим размер слова к максимальному размеру операнда, что не является строго необходимым), тогда это 1536 терабайт. можно использовать и более экзотические способы адресации или обработки. например загружать "страницы" и адресовать данные внутри них, тогда объем будет вплоть до 2^(48+48) байт.