<span>Ни Щедрин, ни Коновалов пилотом быть не могут.
Ни Потапов, ни Коновалов пока еще не штурманы.
Радист не Щедрин и не Самойлов.
Фамилия синоптика не Щедрин и не Семенов.
Бортмеханик не Потапов и не Щедрин.
</span><span>Синоптик – не Коновалов и не Семенов
</span><span>Радист – не Коновалов и не Семенов
</span>Получаем:
Потапов - радист
Щедрин - штурман
Семенов - пилот
Коновалов - Бортмеханик
Самойлов - синоптик
Var a:array[1..10] of integer;
k,n,i:integer;
min:INTEGER;
begin
randomize; N:=10; k:=0 {кол-во отрицательных элементов};
writeln ('исходный массив');
for i:=1 to N do
begin
if random(2) =1 then a[i]:=random(100)
else begin k:=k+1; a[i]:=-random(100); min:=a[I] end;
write(a[i]:5);
end;
writeln;
{поиск минимального положительного}
if (k<>0) or (k<>N) then {есть отрицательные или не все отрицательные}
begin
for i:=1 to N do
if (a[i]>0) and (a[i]<min) then min:=a[i];
{замена}
for i:=1 to N do
if (a[i]<0) then a[i]:=min;
end;
writeln('Новый массив')
for i:=1 to N do write(a[i]:5);
end.
Var a,s:integer;
begin
read(a);
while a<>0 do
begin
if (a>=10)and(a<=99)and(a mod 8 = 0) then s:=s+a;
read(a);
end;
writeln(s);
<span>end.
Пример:
123 16 468 87 12 88 536 0
<span>104</span></span>
#include <stdio.h>
#include <iostream>
#include <malloc.h>
const int N = 10;
int main()
{
setlocale(LC_ALL, "RUS");
int i, j=0, n=0;
int array[N];
int *a;
puts("Исходный массив:");
for (i=0; i<N; i++) {
printf("Введите %d элемент:", i);
scanf("%d", &array[i]);
}
system("cls");
puts("Исходный массив:");
for (i=0; i<N; i++) {
printf("%d ", array[i]);
}
printf("\n");
for (i=0; i<N; i++)
if (array[i] == 0)
n++;
printf("Новый массив:\n");
a = (int *)malloc(n*sizeof(int));
for (i=0; i<N; i++)
if (array[i] == 0) {
a[j] = i;
printf("%d ", a[j]);
j++;
}
free(a);
printf("\n");
system("pause");
return 0;
}
<em><u>Тестовое решение:</u></em>
Исходный массив:
5 0 3 6 0 0 2 1 0 5
Новый массив:
1 4 5 8
Для продолжения нажмите любую клавишу . . .