Вопрос № 94945: Помогите пожалуйста!«Даны натуральное число n, целочисленная квадратная матрица порядка n.Получить b1 ..,bn, где bi это значение 1-го по порядку положительного элемента i-ой строки(если таких элементов нет,то принять bi=1)»
...Вопрос № 94949: Уважаемые эксперты! Помогите, пожалуйста, решить 4 задачи.:
1. Заполнить массив В, i-элемент которого равен удвоенному максимальному элементу среди первых i-элементов одномерного массива А.
2. На столе через одну лежат вилки и ложки (по n шт...Вопрос № 94954: Уважаемые эксперты! Помогите, пожалуйста, решить 3 задачи.:
1. Дан массив из N целых чисел и число М (М<=N). Для каждого участка из М стоящих рядом элементов вычислить значение суммы четных отрицательных элементов этого участка.
Например...Вопрос № 94963: Помогите решить пожалуйста, из головы просто вылетело как её решать):
Вывести на экран цифру, наиболее часто встречающуюся в массиве....Вопрос № 94965: снова привет! Срочно need help! Нужно написать прогу, которая имитирует движение земли вокруг солнца и движение луны вокруг земли одновременно. Планеты в виде окружностей, и должно быть движение. Заранее спасибо!...Вопрос № 95042: Уважаемые эксперты! Помогите, пожалуйста, решить задания:
1. Дан фрагмент алгоритма, где используются строки s и s1, целые переменные i, j, k, а также массив целых чисел msv, максимальное количество элементов которого равно длине строки.
<br...Вопрос № 95072: Здравствуйте Спасибо заранее, за то что уделили мне время.
С чего посоветуете начать? В программирований, на языке паскаль.
Практический, с чего начать? Спасибо ещё раз!...
Вопрос № 94.945
Помогите пожалуйста!«Даны натуральное число n, целочисленная квадратная матрица порядка n.Получить b1 ..,bn, где bi это значение 1-го по порядку положительного элемента i-ой строки(если таких элементов нет,то принять bi=1)»
Отвечает: Gh0stik
Здравствуйте, Сочнева Анна Алексеевна!
Вот решение: const n=5;
var a:array [1..n,1..n] of integer;
b:array [1..n] of integer;
i,j:integer;
begin
randomize;
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=random(4)-random(10); {вносим в массив произвольные числа, но можно и организовать ввод в ручную}
write(a[i,j]:3);
end;
writeln;
end;
writeln;
for i:=1 to n do {блок поиска первого положительного числа в строке}
begin
b[i]:=1; j:=1;
while (a[i,j] <= 0) and (j <= n) do inc(j);
if j <= n then b[i]:=a[i,j];
write(b[i]:3); {вывод результата на экран}
end;
readln;
end.
Good Luck!!!
--------- Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессор) Украина, Славянск Организация: Славянский государственный педагогический университет (Кафедра алгебры) ICQ: 289363162 ---- Ответ отправлен: 12.07.2007, 23:21
Отвечает: Дмитрий С.
Здравствуйте, Сочнева Анна Алексеевна!
«Даны натуральное число n, целочисленная квадратная матрица порядка n.Получить b1 ..,bn, где bi это значение 1-го по порядку положительного элемента i-ой строки(если таких элементов нет,то принять bi=1)»
_________________________________
var MS: array [1..k, 1..k] of integer;
MS_2: array [1..k] of integer;
i,j,a,b: integer;
function ABC(var a: integer): intreger;
var q: boolean;
begin
q:=true;
for b:=1 to k do
if MS[a,b]>0 then
begin
ABC := MS[a,b];
q:=false;
break;
end;
if a=k and q then ABC := MS[k,b];
end;
begin
// Заполнить массив MS
for i:=1 to k do
MS_2[i] := ABC(i);
end.
Вот набросал побыстренькому. Правильность не гарантирую, т.к. не было под рукой компилятора
--------- Наши программисты самые программистые программисты!..
Ответ отправил: Дмитрий С. (статус: 2-ой класс)
Ответ отправлен: 14.07.2007, 12:56
Вопрос № 94.949
Уважаемые эксперты! Помогите, пожалуйста, решить 4 задачи.:
1. Заполнить массив В, i-элемент которого равен удвоенному максимальному элементу среди первых i-элементов одномерного массива А.
2. На столе через одну лежат вилки и ложки (по n штук). За минимальное число обменов переложить их так, чтобы слева лежали ложки, а справа вилки.
3. Задан числовой массив А(n). Найти отрезок массива максимальной длины, в котором первое число равно последнему, второе – предпоследнему и т.д. Напечатать длину этого отрезка.
4. Даны два одномерных целочисленных массива А и В. Составить алгоритм, определяющий, можно ли путем перестановки элементов массива А получить массив В (алгоритмы сортировки использовать не рекомендуется).
Хотелось бы узнать, как решаются 1я и 2я именно при помощи вложенных циклов ‘While’, а 4я – без введения нового массива и тоже с помощью ‘While’. Заранее большое спасибо. Swallow.
Отправлен: 12.07.2007, 19:52
Вопрос задала: Ласточка (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Denisss
Здравствуйте, Ласточка!
Приблизительные решения первых трех задач приведены в приложении.
Если я правильно понял, то в первой задаче размерность массива В такая же, как и у массива А.
Во второй задаче можно, вместо случайного заполнения массива, попросить пользователя ввести первый столовый прибор (ложка/вилка).
В третьей задаче решено было сделать так:
Если отрезок нечетной длины (например, 1, 2, 1), то средняя цифра сравнивается сама с собой.
Т.е. 1, 2, 3, 2, 1 будет принято за нужный отрезок.
Если же нечетные отрезки нужно пропускть, то измените строчку while (i <= j) do
на while (i < j) do
Удачи!
Приложение:
Ответ отправил: Denisss (статус: Профессионал) Россия, Москва WWW:Хлама много, по сути ничего... ---- Ответ отправлен: 13.07.2007, 00:02 Оценка за ответ: 5 Комментарий оценки: Огромное спасибо за предоставленные решения, Denisss! Особенно, за то, что учли мои пожелания относительно способов решения 1й и 2й задачи с циклом While. Вы мне очень помогли!
Отвечает: Дмитрий С.
Здравствуйте, Ласточка!
Вот набросал в блокнотике решение первой задачки. На правильность не проверял за отсутствием компилятора.
var MS, MS_2: array [1..k] of integer;
ch, count: integer;
function Find_MAx(n: integer): integer;
var max: integer;
begin
max := a[1];
for a:=2 to n do
if k[a]>max then max:= k[a];
Find_Max := 2*max;
end;
begin
// заполнение массива MS
for count:=1 to k do
MS_2[count] := Find_MAx(MS[count]);
end.
С ув. SHERRY.
--------- Наши программисты самые программистые программисты!..
Ответ отправил: Дмитрий С. (статус: 2-ой класс)
Ответ отправлен: 14.07.2007, 11:47
Отвечает: Зенченко Константин Николаевич
Здравствуйте, Ласточка!
4-я задача.
Из масиива А можно получить массив В, путем перестановки элементов массива А, только когда номинал элементов и их количество будут совпадать в обоих массивах.
Т.е. из слова "АВВА" можно составить слово "ВАВА", но невозможно получить "АВАС".
Смотрите приложение.
Удачи!
Приложение:
--------- И только наступив на грабли мы приобретаем драгоценный опыт!
Уважаемые эксперты! Помогите, пожалуйста, решить 3 задачи.:
1. Дан массив из N целых чисел и число М (М<=N). Для каждого участка из М стоящих рядом элементов вычислить значение суммы четных отрицательных элементов этого участка.
Например, N=6, M=3, а массив состоит из следующих элементов:
5, -4, -2, 4, -3, -5.
Существуют следующие участки из М стоящих рядом элементов:
5, -4, -2; -4, 2, 4; -2, 4, 3; 4, -3, 5. Сумма четных отрицательных элементов в этих участках равна соответственно -6; -4; -2; 0.
2. Задан массив целых чисел А(n). Найти число элементов в самой длинной последовательности подряд идущих элементов массива, равных нулю.
Пример:
Исходный массив: 2, 0, 0, 0, 3, 0, 0, 3, 0, 0, 0, 0
Результат: Число элементов в максимальной подпоследовательности – 4
3. Дан одномерный массив целых чисел. Определить, есть ли в массиве последовательность идущих подряд элементов, сумма которых равна заданному числу.
Если вас не затруднит, то в наиболее упрощённом варианте и с пояснениями. Заранее большое спасибо. Swallow.
Отправлен: 12.07.2007, 20:14
Вопрос задала: Ласточка (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Coupler
Здравствуйте, Ласточка!
В первой задаче у Вас какая-то ошибка в условии: массив 5, -4, -2, 4, -3, -5, а второй участок -4, 2, 4, и сумма в этом участке -4, а должна быть -6. Но задачи это не меняет. Общий комментарий ко всем задачам: индексация динамических массивов начинается с 0, т.е. первый элемент - a[0].
Приложение:
Ответ отправил: Coupler (статус: Практикант)
Ответ отправлен: 13.07.2007, 06:46 Оценка за ответ: 5 Комментарий оценки: Огромное спасибо за ответ, Coupler! Мне было очень важно узнать, как решаются эти задачи. Вы мне очень помогли!
Вопрос № 94.963
Помогите решить пожалуйста, из головы просто вылетело как её решать):
Вывести на экран цифру, наиболее часто встречающуюся в массиве.
Отправлен: 12.07.2007, 21:19
Вопрос задал: Quic (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Зенченко Константин Николаевич
Здравствуйте, Quic!
Cмотрите приложение.
Удачи!
Приложение:
--------- И только наступив на грабли мы приобретаем драгоценный опыт!
Ответ отправил: Градов Юрий Михайлович (статус: Студент)
Ответ отправлен: 12.07.2007, 21:55
Вопрос № 94.965
снова привет! Срочно need help! Нужно написать прогу, которая имитирует движение земли вокруг солнца и движение луны вокруг земли одновременно. Планеты в виде окружностей, и должно быть движение. Заранее спасибо!
Отправлен: 12.07.2007, 21:43
Вопрос задал: Deimos25 (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
procedure povorot(alf:real; x0,y0,xs,ys:integer; var xn,yn:integer); begin
xn:=x0+round((xs-x0)*cos(alf))+round((y0-ys)*sin(alf));
yn:=y0+round((xs-x0)*sin(alf))-round((y0-ys)*cos(alf)); end;
begin
grDriver:=Detect;
InitGraph(grDriver, grMode, '');
ErrCode:=GraphResult;
x:=250;
y:=250;
rs:=40; re:=20; rm:=5;
d:=5000; If ErrCode <> grOk then begin write('Error!!!');exit;end else begin
znak:=true;
setbkcolor(0);SetLineStyle(0, 0, 1);
{===sun===}
setcolor(yellow); circle(x,y,rs);
setfillstyle(1,yellow);
PieSlice(x, y, 0, 360, rs);
povorot(t,x,y,xe,ye,xe,ye);
povorot(tt,xe,ye,xm,ym,xm,ym); until keypressed;
closegraph; end; end.
Будут вопросы обращайтесь ;)
Good Luck!!!
--------- Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессор) Украина, Славянск Организация: Славянский государственный педагогический университет (Кафедра алгебры) ICQ: 289363162 ---- Ответ отправлен: 13.07.2007, 01:26 Оценка за ответ: 5 Комментарий оценки: совершенно то, что нужно! Спасибо!
--------- Наши программисты самые программистые программисты!..
Ответ отправил: Дмитрий С. (статус: 2-ой класс)
Ответ отправлен: 13.07.2007, 18:45
Вопрос № 95.042
Уважаемые эксперты! Помогите, пожалуйста, решить задания:
1. Дан фрагмент алгоритма, где используются строки s и s1, целые переменные i, j, k, а также массив целых чисел msv, максимальное количество элементов которого равно длине строки.
k:=0;
для i от 1 до длина(s)
начало цикла
если (s[i]>'d') и (s[i]<'k')
то k:=k+1;
msv[k]:=i;
конец ветвления
конец цикла
s1:='';
для i от 1 до k
начало цикла
s1:=s1+s[msv[i]];
конец цикла
для j от 1 до msv[1]-1
начало цикла
s1:=s1+s[j];
конец цикла
для i от 1 до k-1
начало цикла
для j от msv[i]+1 до msv[i+1]-1
начало цикла
s1:=s1+s[j];
конец цикла
конец цикла
для j от msv[k]+1 до длина(s)
начало цикла
s1:=s1+s[j];
конец цикла
вывести(s1);
Сформулировать задачу, которую решает данный фрагмент.
Проверить и показать результат его исполнения (указать, что будет выведено) для строк:
1) s = ‘abcdefhklmqjw’
2) s = ‘paofilnbmj’
3) s = ‘qwrtyuo’
2. Дан фрагмент алгоритма, где используются массив a из 2*n целых чисел, в котором первоначально заполнено не более половины элементов, остальные элементы – нули, массив vs, в котором максимально может быть 2*n целых чисел, а также целые переменные i, j, k.
k:=0;
для i от 1 до n
начало цикла
если a[i]<>5
то vs[i+k]:=i
иначе
vs[i+k]:=i;
k:=k+1;
a[n+k]:=99;
vs[i+k]:=n+k;
конец ветвления
конец цикла
для j от 1 до n+k
начало цикла
вывести(a[vs[j]]);
конец цикла
Сформулировать задачу, которую решает данный фрагмент.
Проверить и показать результат его исполнения (указать, что будет выведено, и состояние массивов а и vs) для массивов (указаны первые n элементов):
1) а = [5, 1, 12, 2, 5, 6, 5, 5, 12]
2) а = [4, 5, 6, 7, 5, 3, 5, 5, 5, 2, 1, 5]
3) а = [-32, 0, 1, 2, 0, 4, 6]
3. Дан фрагмент алгоритма, где используются строка s, массив msv, максимальное количество элементов в котором в три раза больше исходной длины строки s, и целые переменные d, i, j, n.
d:=0;
n:=длина(s);
для i от 1 до n
начало цикла
если не((s[i]>'0') и (s[i]<'9'))
то msv[i+d]:=i
иначе s:=s+'**';
msv[i+d]:=длина(s)-1;
msv[i+d+1]:=i;
d:=d+2;
msv[i+d]:=длина(s);
конец ветвления
конец цикла
для j от 1 до длина(s)
начало цикла
вывести(s[msv[j]]);
конец цикла
вывести(s);
Сформулировать задачу, которую решает данный фрагмент.
Проверить и показать результат его исполнения (указать, что будет выведено, а также состояние строки s и массива msv) для строк:
1) s = ‘asd45kt8ac7’
2) s = ‘769402’
3) s = ‘awevbh’
Заранее большое спасибо! Swallow
Отправлен: 13.07.2007, 14:21
Вопрос задала: Ласточка (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Gh0stik
Здравствуйте, Ласточка!
1. Формулировка: Дана строка. Все символы строки, которые в латинском алфавите расположены между символами 'd' и 'k' перенести в начало строки.
3. Формулировка: К сожалению я так и не уловил суть.. :(, но единственное, что видно из результатов, что обработка проводиться для первых двух цифр, если они встречаются в текст.
В приложении смотрите листинги полученных программ.
Good Luck!!!
Приложение:
--------- Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессор) Украина, Славянск Организация: Славянский государственный педагогический университет (Кафедра алгебры) ICQ: 289363162 ---- Ответ отправлен: 13.07.2007, 15:59 Оценка за ответ: 5 Комментарий оценки: Огромное спасибо за ответ, Gh0stik! Вы мне очень помогли. Мне очень важно было знать как решаются эти задачи. Спасибо.
Отвечает: Зенченко Константин Николаевич
Здравствуйте, Ласточка!
1) Дана строка. Сформировать новую строку в которой символы от 'd' и до 'k' расположенны в начале строки, остальные символы исходной строки дописать в порядке расположения.
3) Дана строка. Все цифры строки разместить между (возможно выделить или обозначить) символами "*".
Для 2-ой и 3-ей задач: порядок элементов в массиве(сторке) не менять.
Удачи!
Приложение:
--------- И только наступив на грабли мы приобретаем драгоценный опыт!
Ответ отправил: Зенченко Константин Николаевич (статус: Практикант)
Ответ отправлен: 13.07.2007, 17:48 Оценка за ответ: 5 Комментарий оценки: Огромное спасибо за ответы, Зенченко Константин Николаевич! Мне важно было знать как решаются эти задачи. Вы мне очень помогли!
Вопрос № 95.072
Здравствуйте Спасибо заранее, за то что уделили мне время.
С чего посоветуете начать? В программирований, на языке паскаль.
Практический, с чего начать? Спасибо ещё раз!
Отвечает: Зенченко Константин Николаевич
Здравствуйте, Cool Sal SmoG!
Книги по паскалю
и компилятор Ни в коем случае не ставьте себе ни Turbo Pascal, ни Borland Pascal, потому что в Windows 2000 и выше они работают крайне глючно. Лучше скачайте и установите FreePascal (http://www.freepascal.org), который работает более стабильно и является нормальным 32-ух разрядным (под стать операционке) компилятором. Исправление внес эксперт sir henry
Удачи!
--------- И только наступив на грабли мы приобретаем драгоценный опыт!
Ответ отправил: Зенченко Константин Николаевич (статус: Практикант)
Ответ отправлен: 13.07.2007, 18:20 Оценка за ответ: 5 Комментарий оценки: Спасибо,что уделили время и ответили на мой вопрос спасибо ещё раз.
Отвечает: Дмитрий С.
Здравствуйте, Cool Sal SmoG!
Приобрети перочку букварей по Паскалю, поставь оболочку Борланд Дельфи и пробуй играться в консоли. Удачи!!!
--------- Наши программисты самые программистые программисты!..
Ответ отправил: Дмитрий С. (статус: 2-ой класс)
Ответ отправлен: 13.07.2007, 18:37