Другие языки программирования и технологии

Показать внутреннее представление строки “компьютер” в памя-ти ЭВМ с использованием одномерного массива.

Язык программирования Паскаль
Пример решения задачи с использованием массивов Паскаля

Задача: даны два n -мерных вектора. Найти сумму этих векторов.
Решение задачи: Входными данными в этой задаче будут являться два одномерных массива. Размер этих массивов может быть произвольным, но определенным. Т. е. мы можем описать заведомо большой массив, а в программе определить, сколько элементов реально будет использоваться. Элементы этих массивов могут быть целочисленными. Тогда описание будет выглядеть следующим образом:

var a, b : array [1..100] of integer ;

Выходными данными будут элементы результирующего массива, назовем его c . Тип результирующего массива также должен быть целочисленным. Кроме трех массивов нам потребуется переменная – параметр цикла и индекс массива, назовем ее i, а также переменная n для определения количества элементов в каждом массиве.
Ход решения задачи: определим количество элементов (размерность) массивов, введем значение n ; введем массив a ; введем массив b ; в цикле, перебирая значения индекса i от 1 до n, вычислим последовательно значения элементов массива c по формуле: c [ i ]= a [ i ]+ b [ i ]; выведем на экран полученный массив.
Текст программы : Пример программы суммирования векторов

Program summa;
Var a, b, c: array [1..100] of integer;
I, n: byte;
Begin Write (‘введите размерность массивов: ’);
Readln(n); For i:=1 to n do Readln (a[i]); { ввод массива a}
For i:=1 to n do Readln (b[i]); { ввод массива b}
For i:=1 to n do C[i]:=a[i]+b[i]; { вычисление суммы массивов }
For i:=1 to n do write (c[i],’ ‘); { вывод массива с }
end.
НИ
Никита Ишутин
0
Лучший ответ
строка - массив байт ограниченной длины - представление байта - {ASCII/Hex/Binary}
Тип string в турбо-паскале (или shortstring в дельфи) представляет собой одномерный массив символов длиной 256 байт:
type string=packed array[0..255]of char;
Нулевой элемент этого массива - символ, код которого равен текущей длине строки, все остальные элементы от 1-го до последнего, символы строки.
Поэтому строка 'компьютер' в памяти компьютера располагается так:
#9,'к','о','м','п','ь','ю','т','е','р'
Всего занято 10 байт. Значение остальных элементов строки в данном случае несущественно.
KS
Kairat Suleimen-Uli
68 118
Пример решения задачи с использованием массивов Паскаля

Задача: даны два n -мерных вектора. Найти сумму этих векторов.
Решение задачи: Входными данными в этой задаче будут являться два одномерных массива. Размер этих массивов может быть произвольным, но определенным. Т. е. мы можем описать заведомо большой массив, а в программе определить, сколько элементов реально будет использоваться. Элементы этих массивов могут быть целочисленными. Тогда описание будет выглядеть следующим образом:

var a, b : array [1..100] of integer ;

Выходными данными будут элементы результирующего массива, назовем его c . Тип результирующего массива также должен быть целочисленным. Кроме трех массивов нам потребуется переменная – параметр цикла и индекс массива, назовем ее i, а также переменная n для определения количества элементов в каждом массиве.
Ход решения задачи: определим количество элементов (размерность) массивов, введем значение n ; введем массив a ; введем массив b ; в цикле, перебирая значения индекса i от 1 до n, вычислим последовательно значения элементов массива c по формуле: c [ i ]= a [ i ]+ b [ i ]; выведем на экран полученный массив.
Текст программы : Пример программы суммирования векторов

Program summa;
Var a, b, c: array [1..100] of integer;
I, n: byte;
Begin Write (‘введите размерность массивов: ’);
Readln(n); For i:=1 to n do Readln (a[i]); { ввод массива a}
For i:=1 to n do Readln (b[i]); { ввод массива b}
For i:=1 to n do C[i]:=a[i]+b[i]; { вычисление суммы массивов }
For i:=1 to n do write (c[i],’ ‘); { вывод массива с }
end.
все тутhttp://prodelphi.ucoz.ru/publ/programmirovanie_na_jazyke_pascal/odnomernye_massivy/4-1-0-42
Код Си:
#include

int main()
{
char array[] = "компьютер";
int i = 0;
while(array[i])
{
for (int j = 7; j >= 0; j--)
{
printf(" %d", ((array[i] >> j) & 1));
}
printf(" ");
i++;
}
printf("\n");
return 0;
}
Пример решения задачи с использованием массивов Паскаля

Задача: даны два n -мерных вектора. Найти сумму этих векторов.
Решение задачи: Входными данными в этой задаче будут являться два одномерных массива. Размер этих массивов может быть произвольным, но определенным. Т. е. мы можем описать заведомо большой массив, а в программе определить, сколько элементов реально будет использоваться. Элементы этих массивов могут быть целочисленными. Тогда описание будет выглядеть следующим образом:

var a, b : array [1..100] of integer ;

Выходными данными будут элементы результирующего массива, назовем его c . Тип результирующего массива также должен быть целочисленным. Кроме трех массивов нам потребуется переменная – параметр цикла и индекс массива, назовем ее i, а также переменная n для определения количества элементов в каждом массиве.
Ход решения задачи: определим количество элементов (размерность) массивов, введем значение n ; введем массив a ; введем массив b ; в цикле, перебирая значения индекса i от 1 до n, вычислим последовательно значения элементов массива c по формуле: c [ i ]= a [ i ]+ b [ i ]; выведем на экран полученный массив.
Текст программы : Пример программы суммирования векторов

Program summa;
Var a, b, c: array [1..100] of integer;
I, n: byte;
Begin Write (‘введите размерность массивов: ’);
Readln(n); For i:=1 to n do Readln (a[i]); { ввод массива a}
For i:=1 to n do Readln (b[i]); { ввод массива b}
For i:=1 to n do C[i]:=a[i]+b[i]; { вычисление суммы массивов }
For i:=1 to n do write (c[i],’ ‘); { вывод массива с }
end.