Форум программистов, компьютерный форум, киберфорум
Free Pascal
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 1
Регистрация: 03.09.2012
Сообщений: 20

Если массив А не равен массиву В, то сформировать массив С, где ci=ai+bi

04.11.2012, 14:31. Показов 2313. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Заданы два одномерных массива A и B. Если массив А не равен массиву В, то сформировать массив С, где ci=ai+bi. Если массивы А и В равны, то переписать массив А в массив С.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.11.2012, 14:31
Ответы с готовыми решениями:

Сформировать массив: первый элемент равен A, второй равен B, каждый последующий - равен сумме всех предыдущих
Помогите с задачей . Условие : даны числа А и В. Сформировать и вывести целочисленный массив размера N, первый элемент которого равен A,...

Сформировать массив n элементов где каждый элемент массива равен сумме двух предыдущих
Сформировать массив n элементов где каждый элемент массива равен сумме двух предыдущих элементов, умноженных на порядковый номер элемента.

Двумерный массив.Дан массив 5 х 5. Определить сумму элементов тех строк, где диагональный элемент равен нулю и записать их в отдельный массив.
помогите составить программу. во задание:Дан массив 5 х 5. Определить сумму элементов тех строк, где диагональный элемент равен нулю и...

15
1 / 1 / 0
Регистрация: 08.11.2010
Сообщений: 24
04.11.2012, 14:46
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
39
40
41
42
43
44
45
const
 n=3;
var
 a: array[1..n] of integer;
 b: array[1..n] of integer;
 c: array[1..n] of integer;
 i: integer;
 br: boolean;
begin
 
 br:= true;
 writeln('Ââåäèòå ýëåìåíòû ìàññèâà À');
 for i:=1 to n do
  begin
  readln(a[i]);
  end;
 writeln('Ââåäèòå ýëåìåíòû ìàññèâà B');
 for i:=1 to n do
  begin
  readln(b[i]);
  end;
  
 for i:=1 to n do
  begin
   if a[i]<>b[i] then
    begin
     br:=false;
     break;
    end;
   end;
 
 if br=false then
  begin
  for i:=1 to n do c[i]:=a[i]+b[i];
  end
 else
   begin
  for i:=1 to n do c[i]:=a[i];
  end;
  writeln('Ýëåìåíòû ìàññèâà C');
 for i:=1 to n do
  begin
  write(c[i],' ');
  end;
end.
1
СуперМодулятор
 Аватар для Bringoff
134 / 134 / 48
Регистрация: 03.11.2012
Сообщений: 974
04.11.2012, 14: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 M;
 Var a,b,c:array [1..1000] of integer;
 V:boolean;
J,I:integer;
Begin
V:=true;
Read(j);//количество чисел
For I:=1 to j do
  Read(a[i]);
for I:=1 to j do
 Read(b[i]);
 
For I:=1 to j do
 Begin
   If a[i]<>b[i] then
    V:=false
     Else v:=true;
 End;
 If v=true then
  c:=a
 Else begin
   For I:=1 to j do
   C[i]:=(a[i]+b[i]);
End;
   For I:=1 to j do
    Write(c[i], ' ');
End.
или так. На смартфоне медленно набирать
1
 Аватар для dexter007
4 / 4 / 0
Регистрация: 10.10.2012
Сообщений: 27
05.11.2012, 20:49
а как это будет виглядеть на с++? подскажите плис

Добавлено через 1 минуту
Izobara, а как это будет виглядеть на с++? подскажите плис
1
СуперМодулятор
 Аватар для Bringoff
134 / 134 / 48
Регистрация: 03.11.2012
Сообщений: 974
05.11.2012, 20:53
Добавлено через 1 минуту
Izobara, а как это будет виглядеть на с++? подскажите плис[/QUOTE]
Не знаю с++, к сожалению. Спросите в соответствующем разделе.
1
 Аватар для dexter007
4 / 4 / 0
Регистрация: 10.10.2012
Сообщений: 27
05.11.2012, 21:17
ок. спасибо
1
 Аватар для Liffan
11 / 8 / 9
Регистрация: 05.11.2012
Сообщений: 65
05.11.2012, 21:40
вот более "правильный" код
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
 var a, b, c: array of integer;
    n, i:integer;
    v:boolean;
begin
 
  writeln('Введите длину массива');
  readln(n);
  n:=n+1;
  setlength(a, n);
  setlength(b, n);
  setlength(c, n);
  n:=n-1;
  writeln('Введите первый массив:');
  for i:=1 to n do
   readln(a[i]);
  v:=true;
  writeln('Введите второй массив:');
  for i:=1 to n do
  begin
   readln(b[i]);
   if b[i]<>a[i] then v:=false;
  end;
  if v=false then for i:=1 to n do c[i]:=a[i]+b[i] else for i:=1 to n do c[i]:=a[i];
 writeln('Третий массив:');
 for i:=1 to n do
   writeln(c[i]);
 readln;
 
end.
0
СуперМодулятор
 Аватар для Bringoff
134 / 134 / 48
Регистрация: 03.11.2012
Сообщений: 974
05.11.2012, 21:51
Цитата Сообщение от Liffan Посмотреть сообщение
вот более "правильный" код
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
 var a, b, c: array of integer;
    n, i:integer;
    v:boolean;
begin
 
  writeln('Введите длину массива');
  readln(n);
  n:=n+1;
  setlength(a, n);
  setlength(b, n);
  setlength(c, n);
  n:=n-1;
  writeln('Введите первый массив:');
  for i:=1 to n do
   readln(a[i]);
  v:=true;
  writeln('Введите второй массив:');
  for i:=1 to n do
  begin
   readln(b[i]);
   if b[i]<>a[i] then v:=false;
  end;
  if v=false then for i:=1 to n do c[i]:=a[i]+b[i] else for i:=1 to n do c[i]:=a[i];
 writeln('Третий массив:');
 for i:=1 to n do
   writeln(c[i]);
 readln;
 
end.
Не работает ваш код. Мда, зависает на считывании первого массива, ПРОСТО ничего делает.
1
2 / 2 / 4
Регистрация: 05.11.2012
Сообщений: 14
05.11.2012, 22:25
Цитата Сообщение от Finita Посмотреть сообщение
Pascal
1
2
3
4
5
6
7
8
 for i:=1 to n do
  begin
   if a[i]<>b[i] then
    begin
     br:=false;
     break;
    end;
   end;
Зачем проверять все элементы, ведь если массивы не равны то и любые элементы не равны, по этому быстрее будет написать:
Pascal
1
2
3
4
5
6
7
8
if a[1]<>b[1] then
  begin
  for i:=1 to n do c[i]:=a[i]+b[i];
  end
 else
   begin
  for i:=1 to n do c[i]:=a[i];
  end;
0
СуперМодулятор
 Аватар для Bringoff
134 / 134 / 48
Регистрация: 03.11.2012
Сообщений: 974
05.11.2012, 22:27
Цитата Сообщение от zMeFz Посмотреть сообщение
Зачем проверять все элементы, ведь если массивы не равны то и любые элементы не равны, по этому быстрее будет написать:
Pascal
1
2
3
4
5
6
7
8
if a[1]<>b[1] then
  begin
  for i:=1 to n do c[i]:=a[i]+b[i];
  end
 else
   begin
  for i:=1 to n do c[i]:=a[i];
  end;
Логично!..
1
 Аватар для Liffan
11 / 8 / 9
Регистрация: 05.11.2012
Сообщений: 65
06.11.2012, 05:23
Цитата Сообщение от Izobara Посмотреть сообщение
Не работает ваш код. Мда, зависает на считывании первого массива, ПРОСТО ничего делает.
на каком именно месте зависает? перед началом ввода массива или в конце?
0
СуперМодулятор
 Аватар для Bringoff
134 / 134 / 48
Регистрация: 03.11.2012
Сообщений: 974
06.11.2012, 12:39
Цитата Сообщение от Liffan Посмотреть сообщение
на каком именно месте зависает? перед началом ввода массива или в конце?
Я ввожу число элементов, оно предлагает ввести первый массив. Я ввожу количество чисел, по числу ( допустим, 5), которое ввел в самом начале. Жму enter. И просто пустая строка. Ввожу еще 5 чисел - а вдруг - и ничего, просто снова строка для ввода.

Добавлено через 7 минут
Цитата Сообщение от zMeFz Посмотреть сообщение
Зачем проверять все элементы, ведь если массивы не равны то и любые элементы не равны, по этому быстрее будет написать:Код Pascal

Pascal
1
2
3
4
5
6
7
8
if a[1]<>b[1] then
 begin
 for i:=1 to n do c[i]:=a[i]+b[i];
 end
 else
 begin
 for i:=1 to n do c[i]:=a[i];
 end;
А если отличается не первый элемент, а какой-то другой, или только последний? Что прикажете сделать? Сколько умных развелось...
1
 Аватар для Liffan
11 / 8 / 9
Регистрация: 05.11.2012
Сообщений: 65
06.11.2012, 15:41
Цитата Сообщение от Izobara Посмотреть сообщение
Я ввожу число элементов, оно предлагает ввести первый массив. Я ввожу количество чисел, по числу ( допустим, 5), которое ввел в самом начале. Жму enter. И просто пустая строка. Ввожу еще 5 чисел - а вдруг - и ничего, просто снова строка для ввода.
Можно тогда так сделать, но это более затратно по памяти
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
var a, b, c: array [1..1000] of integer;
    n, i:integer;
    v:boolean;
begin
 
  writeln('Введите длину массива');
  readln(n);
  writeln('Введите первый массив:');
  for i:=1 to n do
   readln(a[i]);
  v:=true;
  writeln('Введите второй массив:');
  for i:=1 to n do
  begin
   readln(b[i]);
   if b[i]<>a[i] then v:=false;
  end;
  if v=false then for i:=1 to n do c[i]:=a[i]+b[i] else for i:=1 to n do c[i]:=a[i];
 writeln('Третий массив:');
 for i:=1 to n do
   writeln(c[i]);
 readln;
 
end.
0
СуперМодулятор
 Аватар для Bringoff
134 / 134 / 48
Регистрация: 03.11.2012
Сообщений: 974
06.11.2012, 15:43
Теперь ничего не делает после ввода 2-го массива Расслабся.
1
 Аватар для Liffan
11 / 8 / 9
Регистрация: 05.11.2012
Сообщений: 65
06.11.2012, 18:38
Цитата Сообщение от Izobara Посмотреть сообщение
Теперь ничего не делает после ввода 2-го массива Расслабся.
Не знаю, у меня всё работает, на нескольких компиляторах проверял :-)
0
СуперМодулятор
 Аватар для Bringoff
134 / 134 / 48
Регистрация: 03.11.2012
Сообщений: 974
06.11.2012, 18:39
Цитата Сообщение от Liffan Посмотреть сообщение
Не знаю, у меня всё работает, на нескольких компиляторах проверял :-)
Ладно, пусть
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.11.2012, 18:39
Помогаю со студенческими работами здесь

Сформировать одномерный массив В, в котором элемент равен 1, если элементы столбца матрицы возрастающая последовательно
Помогите написать программу. Дана матрица А размером MxN. Сформировать одномерный массив В, в котором элемент В(j) равен 1, если элементы...

Массив: Создать двухмерный массив Р[3,5], где каждая строка соответствует заданному массиву...
Из трех одномерных массивов А,В, С создать двухмерный массив Р, где каждая строка соответствует одномерному массиву

Создать массив C, где каждый элемент равен 1 (true), если соответствующие элементы A и B имеют одинаковый знак
Даны два двумерных массива A и B одинаковой размерности. Создать массив C, где каждый элемент равен 1 (true), если соответствующие элементы...

Сформировать массив, в котором элемент равен единице, если количество отрицательных элементов строки матрицы А больше, чем в строке
Дорогие, очень прошу помощи... начали учить Java,с середины февраля. Задали задачу.с одной частью вроде как справилась, не могу сообразить...

сформировать одномерный массив, каждый элемент которого равен первому положительному элементу соответствующего столбца, если такого нет, то нулю
С помощью датчика случайных чисел сформировать матрицу mxn. сформировать одномерный массив, каждый элемент которого равен первому...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru