ivnivas2008
?>

Переписать код с 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.

Информатика

Ответы

olesyadeinega41

гипотетически под адресацию можно использовать 56 - 8 = 48 бит. после этого возникают одни вопросы. если мы адресуем байтами, то объем будет 2^48 байт и это 256 терабайт. однако можно адресовать и 48 битными "словами" (в случае, если мы приводим размер слова к максимальному размеру операнда, что не является строго необходимым), тогда это 1536 терабайт. можно использовать и более экзотические способы адресации или обработки. например загружать "страницы" и адресовать данные внутри них, тогда объем будет вплоть до 2^(48+48) байт.

ganorussia

#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.
Ваше имя (никнейм)*
Email*
Комментарий*