М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Olegggg04
Olegggg04
02.02.2021 15:24 •  Информатика

#include <iostream.h> struct Alphabet (
int i;
char c;
) sA[5]=(1,'a',2,'b',3,'c',4,'d',5,'e'),*psA=&sA[0];

int main(){
for (int k=0; k<4; k++){
psA++;
cout<<psA->c;
}
cin.get();
}


#include <iostream.h> struct Alphabet ( int i; char c; ) sA[5]=(1,'a',2,'b',3,'c',4,'d',5,'e')

👇
Ответ:
Ришана
Ришана
02.02.2021

Был создан массив sA типа struct Alphabet, состоящий из 5 элементов и выглядит он так:

1a2b3c4d5e

Так как в структуре имеется 2 переменных, то при создании массива этого массива sA[5]=(1,'a',2,'b',3,'c',4,'d',5,'e'):

1 элемент будет состоять из двух переменных - это 1a (то есть i = 1, c = 'a')

1a

2 элемент будет состоять из двух переменных - это 2b (то есть i = 2, c = 'b')

2b

3 элемент будет состоять из двух переменных - это 3c (то есть i = 3, c = 'c')

3c

4 элемент будет состоять из двух переменных - это 4d (то есть i = 4, c = 'd')

4d

5 элемент будет состоять из двух переменных - это 5e (то есть i = 5, c = 'e')

5e

Так как это массив, то эти все элементы будут идти друг за другом:

1a2b3c4d5e

sA[0] = 1a

sA[1] = 2b

sA[2] = 3c

sA[3] = 4d

sA[4] = 5e

Дальше создается указатель *psA типа struct Alphabet

Ему присваивают начальный адрес массива, то есть адрес элемента sA[0]

Цикл k=0:

Так как указатель psA имеет такой же тип, как и массив, то он может спокойно перемещаться по элементам этого массива и в строке psA++ он перемещается на следующий элемент: psA = sA[1]

И на экран выводится значение переменной c элемента sA[1] ,

psA->c =  b

Цикл k = 1

Указатель psA перемещается на следующий элемент: psA = sA[2]

И на экран выводится значение переменной c элемента sA[2] ,

psA->c =  c

Цикл k = 2

Указатель psA перемещается на следующий элемент: psA = sA[3]

И на экран выводится значение переменной c элемента sA[3] ,

psA->c =  d

Цикл k = 3

Указатель psA перемещается на следующий элемент: psA = sA[3]

И на экран выводится значение переменной c элемента sA[3] ,

psA->c =  e

Цикл k = 4

Цикл завершается, так как k < 4 (4 < 4), условие не выполняется, 4 не может быть больше себя.

В итоге на экран выведется:

bcde

ответ: C

4,4(6 оценок)
Открыть все ответы
Ответ:
Егор200417
Егор200417
02.02.2021

function summa(n:integer):integer;

var a,s:integer;

begin

a:=abs(n);

s:=0;

while a>0 do

begin

 s:=s+a mod 10;

 a:=a div 10;

end;

summa:=s

end;

const n=10;

var A:array [1..n] of integer;

   j,i,k:integer;

begin

writeln('Исходный массив: ');

for i:=1 to n do

begin

 A[i]:=random(15)+1;

 write(A[i]:4);

end;

for i:=1 to n-1 do

begin

 for j:=1 to n-1 do

 if summa(A[j])<summa(A[j+1]) then

  begin

   k:=A[j];

   A[j]:=A[j+1];

   A[j+1]:=k

  end;

end;

writeln;

writeln('Отсортированный массив: ');

for i:=1 to n do

write(A[i]:4);

readln

end.

4,5(43 оценок)
Ответ:
0blako
0blako
02.02.2021

function summa(n:integer):integer;

var a,s:integer;

begin

a:=abs(n);

s:=0;

while a>0 do

begin

 s:=s+a mod 10;

 a:=a div 10;

end;

summa:=s

end;

const n=10;

var A:array [1..n] of integer;

   j,i,k:integer;

begin

writeln('Исходный массив: ');

for i:=1 to n do

begin

 A[i]:=random(15)+1;

 write(A[i]:4);

end;

for i:=1 to n-1 do

begin

 for j:=1 to n-1 do

 if summa(A[j])<summa(A[j+1]) then

  begin

   k:=A[j];

   A[j]:=A[j+1];

   A[j+1]:=k

  end;

end;

writeln;

writeln('Отсортированный массив: ');

for i:=1 to n do

write(A[i]:4);

readln

end.

4,6(17 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ