+ Ответить в теме
Показано с 1 по 3 из 3

Тема: Массивы

  1. #1
    Elin is on a distinguished road
    Регистрация
    18.10.2009
    Возраст
    24
    Сообщений
    1
    Вес репутации
    0

    По умолчанию Массивы

    Помогите плз решить задачу.
    задача (Pascal): Дано два одномерных массива , объеденить их в третий, так чтобы числа с каждого массива чередовались по одному.
    Я тут сделала, массивы объеденины, только не знаю как сделать чтобы они чередовалисть

    Код :
    1. program lalala;
    2. uses crt;
    3. type al=array[1..100] of integer;
    4. var mas1,mas2,mas3:al;
    5. n1,n2,n3,i:integer;
    6.  
    7.    procedure vvod;
    8.    begin
    9.    randomize;
    10.    write('Введите кол-во эл-тов в 1-м массиве ');
    11.    readln(n1);
    12.    write('Введите кол-во эл-тов в 2-м массиве ');
    13.    readln(n2);
    14.      for i:=1 to n1 do
    15.      mas1[i]:=random(100);
    16.      for i:=1 to n2 do
    17.       mas2[i]:=random(100);
    18.    end;
    19.  
    20.       procedure obrabotka;
    21.       begin
    22.       n3:=n1+n2;
    23.        for i:=1 to n1 do begin
    24.        mas3[i]:=mas1[i];
    25.        end;
    26.         for i:=n1+1 to n3 do begin
    27.         mas3[i]:=mas2[i-n1]
    28.         end;
    29.       end;
    30.      
    31.        procedure vivod;
    32.        begin
    33.         gotoxy(10,1);
    34.        writeln('Массив 1');
    35.         for i:=1 to n1 do begin
    36.         gotoxy(i*4,2);
    37.         write(mas1[i]);
    38.         end;
    39.        gotoxy(10,3);
    40.        writeln('Массив 2');
    41.          for i:=1 to n2 do begin
    42.          gotoxy(i*4,4);
    43.          write(mas2[i]);
    44.          end;
    45.        gotoxy(10,5);
    46.        writeln('Полученный массив');
    47.           for i:=1 to n3 do begin
    48.           gotoxy(i*4,6);
    49.           write(mas3[i]);
    50.           end;
    51.        end;
    52.        
    53. begin
    54. vvod;
    55. clrscr;
    56. obrabotka;
    57. vivod;
    58. end.
    Последний раз редактировалось Elin; 18.10.2009 в 13:13.

  2. По умолчанию

     
    Хотите избавиться от рекламы? Зарегистрируйтесь
  3. #2
    Moderator Куратор
    system architect
    Игорь Акопян is on a distinguished road Аватар для Игорь Акопян
    Регистрация
    13.10.2004
    Адрес
    СПБ
    Возраст
    43
    Сообщений
    1,419
    Вес репутации
    16

    По умолчанию Re: Массивы

    вы вписали их подряд.
    цикл по первому массиву расписать в нечётные элементы нового массива, а цикл по второму - в чётные

  4. #3
    senior developer Dr_Grizzly is on a distinguished road
    Регистрация
    13.09.2004
    Адрес
    Курган
    Возраст
    32
    Сообщений
    406
    Вес репутации
    14

    По умолчанию Re: Массивы

    Вот только размерности первого и второго массивов в моем примере должны быть одинаковыми, тогда можно так:

    Размерность mas3:=mas1+mas2;

    procedure obrabotka;
    begin
    k:=1;
    for i:=1 to n1 do
    begin
    mas3[k]:=mas1[i];
    mas3[k+1]:=mas2[i]
    k:=k+2; либо 2 либо 3 не проверял....
    end;
    end;

    Код нарисовал только что, не тестил, возможно с ошибкой где-то...
    Главное суть - в 3-й массив записывать сразу по каждому элементу из 1 и 2 массива и передвигать шаг на два уже записанных элемента вперед.
    Последний раз редактировалось Dr_Grizzly; 21.10.2009 в 19:51.
    Чем проще - тем оригинальней, а значит гениально, т.к. все гениальное - просто! ;) Да! Кстати! Ctrl+V реально вставляет!!! ХDD

+ Ответить в теме

Похожие темы

  1. Массивы
    Помогите плиз Дано : массивы A(N), B(M), C(N1). Используя подпрограмму, в каждом из исходных массивов вставить порядковый номер максимального...
    от frogg в разделе задачи на Паскале и Delphi
  2. Массивы
    Помогите плиз решить задачу по массивам: Найти все элементы массива целых чисел A у которых последняя цифра 5.)
    от PIPL в разделе задачи на Паскале и Delphi
  3. Массивы, но массивы не использовать.
    Отредактируйте, пожалуйста мой код!! Задание: Даны положительные числа N,a1,...,aN. Используя только элементарные матем. операции(+,-,*,/),...
    от Бабочка в разделе C и C++
  4. Массивы В С++
    Помогите пажлуста решить задачу Текст задачи таков Дана целочисленная прямоугольная матрица надо опредилить № строки в которой находится самая...
    от Razum в разделе Решите мне задачку
  5. Массивы
    1.Дана матрица А(n,m)переставляя её строки и столбцы добейтесь того, что бы найбольший элемент оказался в левом верхнем углу. 2. В заданном массиве...
    от -000- в разделе Решите мне задачку

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения