Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Пожалуйста,помогите написать одну программку с массивом! (http://www.tehnari.ru/f41/t41899/)

IvaIlga 11.11.2010 15:44

Пожалуйста,помогите написать одну программку с массивом!
 
Дан массив размерностью N. Вывести его элементы вначале с четными индексами, а затем - с нечетными.

Vladimir_S 11.11.2010 16:04

Цитата:

Сообщение от IvaIlga (Сообщение 416564)
Дан массив размерностью N. Вывести его элементы вначале с четными индексами, а затем - с нечетными.

Вообще-то у нас не очень принято "помогать" с подобными заданиями даже не детсадовского - ясельного уровня. Понятно, что Вы совсем не желаете ничему учиться, а пытаетесь выехать на форумах. Поверьте, это скверный путь в никуда.
Да и к нам вы относитесь несколько... пренебрежительно: даже язык программирования не указали! Нехорошо.

IvaIlga 11.11.2010 16:49

Цитата:

Сообщение от Vladimir_S (Сообщение 416579)
Вообще-то у нас не очень принято "помогать" с подобными заданиями даже не детсадовского - ясельного уровня. Понятно, что Вы совсем не желаете ничему учиться, а пытаетесь выехать на форумах. Поверьте, это скверный путь в никуда.
Да и к нам вы относитесь несколько... пренебрежительно: даже язык программирования не указали! Нехорошо.

Извиняюсь за созданную мной тему такого рода, но я впервые пытаюсь выехать подобным образом в силу сложившихся обстоятельств : в настоящее время я работаю в веб-студии по верстке сайтов (html, css - в этом я разбираюсь отлично :) , а вот над программированием всегда приходилось долго корпеть), а в вечернее время хожу в университет на занятия и заниматься уроками в будние дни не имею возможности (так как с университета прихожу после 10 вечера).. а так я закончила колледж с красным дипломом (тогда было время разбираться дополнительно) . Эту программу я писала на занятии, но до ума не довела ее. Сейчас напечатаю ее код, объясните,пожалуйста в чем я запуталась? Протестировать код я никак не могу, программу набираю в дримвьювере (на работе нельзя запускать посторонние программы(( )

program Massiv;

const

n=4;

var

h,p:integer;

i,v,t: byte; {для индексов элементов }

M:array[1..n] of integer; { массив,который вводится пользователем}

C:array[1..h] of integer; { массив,в который входят четные элементы}

N:array[1..p] of integer; { массив,в который входят нечетные элементы}

begin

for i:=1 to n do begin

readln(M[i]);

end;

for i:=1 to n do begin

if i mod 2 =0 then

C[v]:=M[i];

else

N[t]:=M[i];

end;

write(C[v]);

write(N[t]);

readln;

end.

IvaIlga 11.11.2010 17:12

забыла добавить,что язык программирования - Турбо Паскль..

Vladimir_S 11.11.2010 17:29

Цитата:

Сообщение от IvaIlga (Сообщение 416592)
Сейчас напечатаю ее код, объясните,пожалуйста в чем я запуталась?

Так, ну, прежде всего, это уже совсем иной разговор, куда более содержательный, чем "напишите мне прогу...". В такой ситуации - поможем с удовольствием.
А запутались Вы очень много где.
1. С точки зрения Паскаля, n и N - это один и тот же идентификатор, а у Вас он дублируется (константа и имя третьего массива). Недопустимо.
2. Индексы массивов при их (массивов) описании должны задаваться либо явно в виде чисел, либо через константы, третьего не дано. А Вы пытаетесь их описать с использованием переменных (h и p), да еще и до присвоения этим переменным каких бы то ни было значений! Никуда не годится.
3. Опять таки, Вы пытаетесь присвоить значения элементам новых массивов C(v) и N(t) какие-то значения, не присвоив никаких значений индексам v и t. Как же так?

С учетом этого и еще там по мелочи выкладываю свой вариант программы, естественно, оттестированный и рабочий. Попробуйте разобраться:
Код:

program Massiv;
const
 nn=4;
var
 i:integer;
 h,p: byte;
 M,C,N:array[1..nn] of integer;
begin
 for i:=1 to nn do
  begin
  Write('M[',i,']= ');
  readln(M[i]);
  end;
 h:=0;
 p:=0;
 for i:=1 to nn do
  begin
  if i mod 2 =0 then
    begin
    h:=h+1;
    C[h]:=M[i];
    end
  else
    begin
    p:=p+1;
    N[p]:=M[i];
    end;
  end;
 Writeln;
 For i:=1 to nn do
  write(M[i],' ');
 Writeln;
 For i:=1 to h do
  write(C[i],' ');
 Writeln;
 For i:=1 to p do
  write(N[i],' ');
 Writeln;
 readln;
end.

Удачи!

IvaIlga 11.11.2010 17:43

Спасибо огромное!:tehnari_ru_288: Буду разбираться в программе обязательно, тем более нужно будет пояснить преподавателю,как она работает и написать блок-схему. У меня не хватает элементарных знаний синтаксиса и функций Паскаля,но я постараюсь этот пробел убрать (на выходных буду изучать).


Часовой пояс GMT +4, время: 00:34.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.