Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
54 / 57 / 26
Регистрация: 26.10.2011
Сообщений: 186

Слить два массива A, B по 50 элементов в массив C из 100 элементов так, чтобы в массиве C чередовались элементы массивов А и В

26.10.2011, 10:40. Показов 2551. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
1. Дан одномерный целочисленный массив A, состоящий из n элементов. Найти количество элементов превосходящих сумму элементов и являющихся простыми числами.

2. Слить два массива A, B по 50 элементов в массив C из 100 элементов так, чтобы в массиве C чередовались элементы массивов А и В, причем первым в паре должен быть меньший из двух по значению элемент.

если можно, то сразу программу, или хотя бы направление, как сделать.
Заранее благодарю тех, кто откликнулся.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.10.2011, 10:40
Ответы с готовыми решениями:

слить 2 массива А и В по 100 элементов в массив С из 200 элементов так , чтобы элементы массива А имели номера от 51 до 150.
Помогите пожалуйста слить 2 массива А и В по 100 элементов в массив С из 200 элементов так , чтобы элементы массива А имели номера от 51 до...

Слить два массива A, B по 100 элементов в массив C из 200 элементов так, чтобы элементы массива A имели в C нечетные номера.
2. Слить два массива A, B по 100 элементов в массив C из 200 элементов так, чтобы элементы массива A имели в C нечетные номера. ...

Слить два массива A и B по 100 элементов в массив C из 200 элементов так, чтобы элементы массива A имели в C нечетные номера.
Слить два массива A и B по 100 элементов в массив C из 200 элементов так, чтобы элементы массива A имели в C нечетные номера.

19
 Аватар для SuPeR XaKer
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,875
26.10.2011, 14:02
-II-
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Uses CRT;
Var a,b:array[1..10] of integer;
    c:array[1..20] of integer;
    i:byte;
begin
randomize;
writeln('Ìàññèâ A: ');
for i:=1 to 10 do
begin
 a[i]:=random(10)-3;
 write(a[i]:3);
end;
writeln;
writeln('Ìàññèâ B: ');
for i:=1 to 10 do
begin
 b[i]:=random(20)-3;
 write(b[i]:3);
 if a[i]>b[i] then
 begin
  c[i*2-1]:=a[i];
  c[i*2]:=b[i];
 end
 else
 begin
  c[i*2-1]:=b[i];
  c[i*2]:=a[i];
 end
end;
writeln;
writeln('Ìàññèâ C: ');
for i:=1 to 20 do
 write(c[i]:3);
readln;
end.
писал наобум.Не проверял.Да и размерность поправьте на 50 и у С 100.
По поводу первой могу сказать что такие задания точно делались,ищите по теме найти сумму элементов массива,и по теме является ли число простым.Найдёте функцию определения простоты и примените её для элементов массива в цикле если элемент простой и больше суммы то увеличиваем счётчик.
1
54 / 57 / 26
Регистрация: 26.10.2011
Сообщений: 186
26.10.2011, 14:36  [ТС]
Большое спасибо. Только там иногда некоторые значения выдаются неправильно(то есть, в паре может выдасть сначала бОльшее, затем меньшее, но я, надеюсь, учитель этого не заметит))) )
0
 Аватар для SuPeR XaKer
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,875
26.10.2011, 14:38
а примерчик массивов когда это происходит дайте.
1
54 / 57 / 26
Регистрация: 26.10.2011
Сообщений: 186
26.10.2011, 14:43  [ТС]
ну, допустим, когда я исправил размер этих массивов A, B, C на [1..50], [1..50], [1..100] соответственно, и задал чтобы цикл for в строках 8 и 15 задавал значения ячеек массива random - мом на random(200)-100; . Иногда выводит правильно, иногда нет. С чем это связано, понятия не имею.
0
 Аватар для SuPeR XaKer
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,875
26.10.2011, 14:47
так вы приведите конкретные примеры массивов когда не верно выдаёт (конечно не 50-тью элементами а меньше).Щас проверил всё исправно выдаёт.
1
54 / 57 / 26
Регистрация: 26.10.2011
Сообщений: 186
26.10.2011, 14:50  [ТС]
А все, я разобрался)) Спасибо. Просто у меня не там ; стояла))) Бывает)) А вы бы мне не помогли решить 1-ую задачу. или хотя бы указать путь решения, дать идейку)) А то просто мне очень нужно
0
 Аватар для SuPeR XaKer
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,875
26.10.2011, 14:52
так я уже подкинул идею.Воспользоваться поиском,ведь подобные задачи не раз решались.
1
54 / 57 / 26
Регистрация: 26.10.2011
Сообщений: 186
26.10.2011, 15:55  [ТС]
Большое Спасибо.!!!!

Добавлено через 54 минуты
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
program q1;
uses crt;
const n=50;
var a:array[1..n] of integer;
i,s:byte; summa:integer;
function prostoe(x:integer):boolean;
var q:integer;
begin
prostoe:=true;
for q:=2 to trunc(sqrt(x)) do
 begin
 if (x mod q) = 0 then
 prostoe:=false;
 end;
end;
begin
clrscr;
for i:=1 to n do
 begin
 a[i]:=random(20)-10;
 summa:=summa+a[i]
 end;
for i:=1 to n do
if prostoe(a[i]) and (a[i] > summa) then s:=s+1;
writeln('количество чисел, превосходяще сумму',s);
readkey;
end.
Внимание, Вопрос. Почему программа выдает ошибку 207? (курсор зависает при обращении к for в функции)
0
 Аватар для SuPeR XaKer
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,875
26.10.2011, 16:06
Начнём с того что наврядли в массиве найдётся число которое превосходит сумму всех элементов,это просто не возможно.
0
54 / 57 / 26
Регистрация: 26.10.2011
Сообщений: 186
26.10.2011, 16:09  [ТС]
Возможно. Т.к. в этом массиве есть и отрицательные числа. (задание чисел оператором Random (20)-10; (20-я строка) ) Так все же, почему выводится ошибка??
0
 Аватар для SuPeR XaKer
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,875
26.10.2011, 16:14
по тому что корень из отрицательного числа.Перепиши вот так.Так получше будет.
О..блин а я думал там одни положитльные.тогда в условии укажи чтобы проверка отрицательных не выполнялась
Pascal
1
2
3
4
5
6
7
8
9
10
11
function prostoe(x:integer):boolean;
var q:integer; t:boolean;
begin
for q:=2 to round(sqrt(x)) do
if (x mod q)=0 then
begin
 prostoe:=false;
 exit;
end;
prostoe:=true;
end;
1
54 / 57 / 26
Регистрация: 26.10.2011
Сообщений: 186
26.10.2011, 16:16  [ТС]
А что делает оператор exit ?
0
 Аватар для SuPeR XaKer
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,875
26.10.2011, 16:21
Вызов exit в разделе операторов основной программы приводит к ее немедленному завершению.
вот что.

Добавлено через 3 минуты
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
uses crt;
const n=10;
var a:array[1..n] of integer;
i,s:byte; summa:integer;
 
function prostoe(x:integer):boolean;
var q:integer; 
begin
for q:=2 to round(sqrt(x)) do
if (x mod q)=0 then
begin
 prostoe:=false;
 exit;
end;
prostoe:=true;
end;
 
begin
clrscr;
for i:=1 to n do
 begin
  a[i]:=random(100)-58;
  write(a[i]:3);
  summa:=summa+a[i]
 end;
writeln;
writeln('SUM:=',summa);
s:=0;
for i:=1 to n do
if (a[i]>1) and prostoe(a[i]) and (a[i] > summa) then
begin
 write(a[i]:4);
 s:=s+1;
end;
writeln;
writeln('êîëè÷åñòâî ÷èñåë, ïðåâîñõîäÿùå ñóììó',s);
readkey;
end.
вот подправил вам.
1
54 / 57 / 26
Регистрация: 26.10.2011
Сообщений: 186
26.10.2011, 16:21  [ТС]
то есть, это то же самое, что и break? (в принципе)
P.S. все равно выводится ошибка там же
0
 Аватар для SuPeR XaKer
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,875
26.10.2011, 16:26
нет это не совсем одно и то же.
Оператор break предназначен для досрочного завершения цикла.
1
54 / 57 / 26
Регистрация: 26.10.2011
Сообщений: 186
26.10.2011, 16:26  [ТС]
Спасибо, работает. Только надо было еще добавить randomize для того, чтобы каждый раз вводились новые числа, а так все правильно. Большое вам спасибо
0
 Аватар для SuPeR XaKer
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,875
26.10.2011, 16:27
не за что.Да randomize забыл,точнее я даже не смотрел код ваш (или не ваш) а просто исправил.
1
54 / 57 / 26
Регистрация: 26.10.2011
Сообщений: 186
26.10.2011, 16:27  [ТС]
Спасибо, разницу понял.))
0
 Аватар для SuPeR XaKer
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,875
26.10.2011, 16:30
поточнее (что как и каким образом завершает выполнение программы подпрограммы, цикла или ещё чего) про halt,break и exit,можете прочитать в любом учебнике или в интернете,ну или зайдя в справку TP.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.10.2011, 16:30
Помогаю со студенческими работами здесь

Слить массивы А и В по 100 элементов в массив С из 200 элементов так,чтобы элементы А и В чередовались по 10
слить массив А и В по 100 элементов в массив С из 200 элементов так,чтобы элементы А и В чередовались по 10

слить массив А и В по 100 элементов в массив С из 200 элементов так,чтобы элементы А и В чередовались по 10 в c++
слить массив А и В по 100 элементов в массив С из 200 элементов так,чтобы элементы А и В чередовались по 10 в c++

Сгенерировать два массива случайных целых чисел A и B по 100 элементов. Слить их в массив C из 200 элементов так, чтобы элементы массива A имели в C н
Сгенерировать два массива случайных целых чисел A и B по 100 элементов. Слить их в массив C из 200 элементов так, чтобы элементы массива A...

Слить массивы А и В по 100 элементов в массив С из 200 элементов так,чтобы элементы массива А имели номера от 51 до 150
делфи

Дано два массива. Объединить их чтобы элементы массивов чередовались
1. Дано два массива. Объединить их чтобы элементы массивов чередовались. 2. Дан файл. Считать его содержимое и перезаписать в обратном...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru