Новые сообщения · Правила  
Модератор форума: Berestovskiy  
Форум ПРОГРАММИСТОВ » ПРОГРАММИРОВАНИЕ » Паскаль » Задачи с массивами
Задачи с массивами
Помогите решить....

Дан массив из N целых чисел. Поменять местами максимальный и первый элемент массива.
61 | Автор: Люб2 | 2012-06-15, 00:00   |  Репутация: [ + 0 ]
Здравствуйте проверьте пожалуйста правильно ли решено задание, по теме одномерный массив
В массив A [ N ] занесены натуральные числа. Найти сумму тех элементов, которые, кратны данному K .

1. var i,n,k,c:integer;
2. a:array[1..100] of integer;
3. begin
4. readln(n);
5. for i:=1 to n do
6. read(a[i]);
7. readln(k);
8. c:=0;
9. for i:=1 to n do
10. if (a[i] mod k=0) then c:=c+a[i];
11. writeln©;
12. readln;
13. end.
62 | Автор: pchelka1992 | 2012-06-15, 00:00   |  Репутация: [ + 0 ]
Дана матрица C(5Х5) положительных и отрицательных элементов
1) Ввести элементы матрицы и вывести матрицу на экран дисплея
2) Вывести на экран дисплея элементы главной диагонали (i=j) определить их сумму и число положительных элементов главной диагонали
3) Включить в матрицу дополнительную строку с заданым номером К(К=6) вывести на экран новую матрицу С1 (6х5)
4) Реализовать поиск элемента по его индексам и вывод его на экран

помогите ,пожалуйста,нужна программа в паскале и блок-схема(!)...
очень нужно(((заранее огромное спасибо!!
63 | Автор: Катyа | 2012-06-15, 00:00   |  Репутация: [ + 0 ]
напишите программы пожалуйста,я чтото не могу((
1)Дан массив К(16). Среди них есть положительные и отрицательные. Заменить нулями те числа, величина которых по модулю больше максимального числа.
2)Дана матрица К(7х6), получить массив Е(6), такой что Е(1)= произведению элементов первого столбца матрицы К; Е(2)= произведению элементов второго столбца матрицы К и т.д.
3)В квадратной матрице К (5*5), элементами которой являются шестибуквенные слова, найти слово, в котором первый символ - буква А , и заменить на первое слово, в котором не будет ни одной буквы А .
64 | Автор: Tolian92 | 2012-06-15, 00:00   |  Репутация: [ + 1 ]
Помогите написать блок-схему и программы. Очень надо. Заранее благодарю.
1. "Дан массив действительных чисел. Определить, симметричен ли массив. т.е равен ли первый элемент - последнему, второй - предпоследнему и т.д.
2. "Описать процедуру Variant 3 (A,N,K), находящую кол-во К тех элементов целочисленного массива А размером N, которые удовлетворяют условию 3</A/<7. С помощью этой процедуры получить вол-во таких элементов в массивах В,С размера Nb? Nc соответственно.
65 | Автор: flexa78 | 2012-06-15, 00:00   |  Репутация: [ + 0 ]
Сказали, что задачка простая, но что-то никак не могу сообразить. Помогите, плиз. Или подскажите куда можно зайти подсмотреть как записать программу и блок-схему.
1. Даны два целочисленных массива А{i}, И{i}, i=1,2..n. Получить третий массив C{i}, причем, если эти массивы в точности одинаковы, то С=А, а если массивы отличаются хотя бы одним элементом, то С=А+И, i= 1,2..n.
66 | Автор: flexa78 | 2012-06-15, 00:00   |  Репутация: [ + 0 ]
У вещественного вектора Y (y1, y2, …, yN) подсчитать k – число отрицательных и m – число положительных компонент. Найти и напечатать номер первого положительного компонента. Печатать k, m и вектор Y.
67 | Автор: STRYKER | 2012-06-15, 00:00 | Изменено: STRYKER - Вт, 2012-02-14, 11:19   |  Репутация: [ + 0 ]
Данны целые числа N(>2), А и В. сформулировать и вывести целочисленный массив размера N, первый элемент которого равен А, второй В, а каждый последущий элемент равен сумме всех предыдущих
______________________________
Пожалуйста помогите написать программу..)))
68 | Автор: Lenchik95 | 2012-06-15, 00:00   |  Репутация: [ + 0 ]
Для заданых матриц Аnxn,Bnxn,Cnxn,Dnxn,Fnxn определить столбцы с наибольшими сумамми элементов и образовать из этих столбцов новую матрицу Gnxn.
Заранее Спасибо и Респект..


Бэмс
69 | Автор: fELskiy | 2012-06-15, 00:00   |  Репутация: [ + 0 ]
Найти минимальный и максимальный элементы вектора y={Yn} Поменять местами минимальный с первым элементом, максимальный с последним...
Заранее спасибо..


Бэмс
70 | Автор: fELskiy | 2012-06-15, 00:00   |  Репутация: [ + 0 ]


Бэмс
70 | Автор: fELskiy | 2012-06-15, 00:00   |  Репутация: [ + 0 ]
Напишите паскаль-программу для решения следующей задачи: « Дана квадратная матрица целых чисел. Подсчитать сумму всех элементов матрицы, находящихся в её нижней половине между побочной и главной диагоналями»
71 | Автор: Arthur | 2012-06-15, 00:00   |  Репутация: [ + 0 ]
71 | Автор: Arthur | 2012-06-15, 00:00   |  Репутация: [ + 0 ]
найти и вывести на печать среднее геометрическое и индексы отрицательных элементов массива X(N), удовлетворяющий условию \(1,5\leq\left|Xi \right|\leq 2.3\)
72 | Автор: scafandr | 2012-06-15, 00:00   |  Репутация: [ + 0 ]
72 | Автор: scafandr | 2012-06-15, 00:00   |  Репутация: [ + 0 ]
Определяешь промежуточную переменную для искомого наибольшего элемента. Присваиваешь ему, например 0. Прокручиваешь цикл, проверяешь трехзначный ли элемент (например делишь на наименьшее трехзначное -100, если результат деления по модулю больше единицы, то трехзначный, меньше - не трехзначный). Если элемент трехзначный - сравниваешь с промежуточным, если больше промежуточного сохраняешь его значение в промежуточное. После последнего элемента (цикл завершен) проверяешь больше ли нуля найденный элемент, если больше - это и есть искомый, если равен нулю - трехзначных нет. Удачи.
73 | Автор: admin | 2012-06-15, 00:01   |  Репутация: [ + 22 ]
Сделал такую программу, но проверки на правильность ввода не делал (например 32 дня в месяце и т.д.). Так что программа находит самую раннюю дату, с тех данных что вводятся. Критике буду даже рад, так что пишите что не так в программе.
ВОТ КОД:

program yo;
uses crt;

CONST
k=3;   {Razmernost massiva}
Type
date=record
day:byte;
month:byte;
year:word;
end;
var c,min:byte;  i,y,numb:word;
mas:array [1..k] of date; {MASIV ZAPICEY}
{-------------------------------------------}
begin
clrscr;
for i:=1 to k do
begin
with mas[i] do
begin
WriteLN ('Vvedite den:');
ReadLn (day);
WriteLN ('Vvedite month:');
ReadLN (month);
WriteLN ('Vvedite year:');
ReadLN (year);
writeLN ('----------------------------');
end;
end;
{-----------------------------------------}
Write ('Vvedite year dlia poiska:');
Read (y);
writeln ('----------------------------');
c:=0;
for i:=1 to k do
with mas[i] do
if year<>y then month:=0 else begin numb:=i; c:=c+1; end;
{-----------------------------------------------------------------}
if c>0 then
begin

min:=mas[numb].month;
for i:=1 to k do
with mas[i] do
if ((month>0) and (month<min) or (month=min)) then min:=month;

for i:=1 to k do
with mas[i] do
if month<>min then day:=0 else numb:=i;

min:=mas[numb].day;
for i:=1 to k do
with mas[i] do
if ((day>0) and (day<min) or (day=min)) then
begin min:=day; numb:=i; end;

with mas[numb] do
begin
writeln ('day=',day);
writeln ('month=',month);
writeln ('year=',year);
end;
end else write ('takogo gode nety v baze!');

readkey;
end.


Удваивается не в четыре, а в три раза!
74 | Автор: RedWoLF | 2012-06-15, 00:01 | Изменено: RedWoLF - Ср, 2009-06-03, 13:29   |  Репутация: [ + 3 ]
program yo;
uses crt;
CONST
k=3;
TYPE
FIRMA=record
surname,name:string[20];
otdel,stag,old:byte;
end;

var sred:real; i,x,c,s:byte; sum:integer;
mas:array[1..k] of FIRMA;
begin
clrscr;
for i:=1 to k do
with mas[i] do
begin
write ('Vvedite familiy: ');
ReadLN (surname);
write ('Vvedite name: ');
ReadLn (name);
write ('Vvedite #otdela: ');
ReadLn (otdel);
write ('Vvdite stag: ');
ReadLn (stag);
write ('Vvedite vozrast: ');
ReadLn (old);
Writeln('----------------------------');
end;
ReadLn (x);
for i:=1 to k do
with mas[i] do
if otdel=x then
begin
sum:=sum+old;
c:=c+1;
end;
{------------------------------------------------}
if c>0 then
begin
sred:=sum/c;
s:=trunc(sred);
writeln ('KOL RABOCHIH=',c);
writeln ('Sredniy Vozrast (Polnuh let)=',s);
end else write ('RABOCHIH NE NAIDENO');

readkey;
end.


Удваивается не в четыре, а в три раза!
75 | Автор: RedWoLF | 2012-06-15, 00:01   |  Репутация: [ + 3 ]
Проверь!!!

Code
Program Natural;
uses crt;
var i,n,j,b,k: integer;
     a:array[1..254] of integer;
label metka;
  begin
   clrscr;
    write('Vvedite n:');
    readln(n);
    a[1]:=2; b:=3; j:=1; k:=0;
    metka: while b<=n do
         begin
          for i:=2 to b-1 do
          if b mod i=0 then k:=1;
          if k=0 then
          begin
          inc(j);
          a[j]:=b;
          inc(b);
          goto metka;
          end;
          k:=0; inc(b);
         end;
    for i:=1 to j do
    if n mod a[i]=0 then
    write(a[i],' ');
    readln;
   end.

(НЕ ЗАБЫВАЕМ СТАВИТЬ "ПЛЮС")


Тот, кто смеется последним, просто не врубился сразу.)
76 | Автор: Ifrit | 2012-06-15, 00:01   |  Репутация: [ + 12 ]
Code
Program glasnie;
const
  glasn=['а','е','и','о','у','ы','э','ю','я'];
  probl=' ';
   var
    st: string;
    res: set of char;
    i, Ks: integer;
    ch: char;
  begin
  Ks:=0;
   write('Vvedite stroky: ');
   readln(st);
   res:=[];
    for i:=1 to length(st) do   {(length(st)) - Длина предложения}
     if st[i]=' ' then Ks:=Ks+1 else
     if st[i] in glasn then res:=res+[st[i]];
     writeln;
    for ch:=#0 to #255 do
     if ch in res then write(ch, probl);
     Ks:=Ks+1;   {если в конце предложения нет пробела}
   writeln('Koli4estvo slov - ', Ks);
  readln;
  end.

Не забываем "+")


Тот, кто смеется последним, просто не врубился сразу.)
77 | Автор: Ifrit | 2012-06-15, 00:01   |  Репутация: [ + 12 ]
Если элементы по модулю, то они не могут быть отрицательными:)

Нужна помощь? Сюда: vkontakte.ru/berestovskiy
78 | Автор: Berestovskiy | 2012-06-15, 00:01   |  Репутация: [ + 211 ]
var
a:array[1..20]of byte;c,k,i:integer;s:real;
begin
for i:=1 to 20 do
read(a[i]);
read(Lmin);
for i:=1 to 20 do
s:=s+(a[i]);
s:=round(s/20);
for i:=Lmin to 20 do begin
a[i]:=s;write(a[i],' ');end;
readln
end.

Не компилировал, но должно работать:) И не факт что самый оптимальный код:)


Нужна помощь? Сюда: vkontakte.ru/berestovskiy
79 | Автор: Berestovskiy | 2012-06-15, 00:01   |  Репутация: [ + 211 ]
const
M=100;
var
a:array[1..M]of byte;q,p,pmin,n,i:byte;s:integer;
begin
writeln('Введите длину массива');
read(n);
Writeln('Вводите массив');
for i:=1 to n do begin
read(p[i]);s:=s+p[i];end;
for i:=1 to n do
if p[i]<=pmin then begin pmin:=p[i];q:=i;end;
writeln('Минимальный член массива был на позиции ',q);
writeln(pmin);
end.

"Спасибо" принимается повышением репутации ( Зелёный плюсик:) )


Нужна помощь? Сюда: vkontakte.ru/berestovskiy
80 | Автор: Berestovskiy | 2012-06-15, 00:01 | Изменено: Berestovskiy - Ср, 2011-04-13, 10:43   |  Репутация: [ + 211 ]
Форум ПРОГРАММИСТОВ » ПРОГРАММИРОВАНИЕ » Паскаль » Задачи с массивами
Поиск: