Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2007, 02:56   #1
sergeyfsd
Пользователь
 
Регистрация: 13.12.2007
Сообщений: 11
По умолчанию ПОМОГИТЕ ПОЖАЛУЙСТА С ЗАДАЧАМИ =(

1. Использовать подпрограммы (ввода, вывода, обрабатывающей части). Дан массив целых чисел B[M,N], где M,N<=25. Удалить столбец, произведение элементов которого (Т) больше суммы элементов (S).

2. Определена запись:
Record
name:array [1..m] of char; {название государства}
sqr : real; {площадь территории}
peop, sch, hosp, inst: word {числиность населения, число школ, больниц, вузов}
end;
Используя предложенную структуру записи, составить программу, которая для указанных государств СНГ вводит информацию и печатает название государства, удовлетворяющего требованиям, указанным в варианте и соответствующие характеристики.
Распечатать названия и характеристики государств СНГ в алфавитном порядке.
sergeyfsd вне форума Ответить с цитированием
Старый 13.12.2007, 10:17   #2
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Посмотри здесь. Практически твоя задача №2.
http://programmersforum.ru/showthrea...6664#post56664
Там сортировка по плотности населения, переделай на сортировку по алфавиту.
if G[j].name<G[j+1].name
then begin
x:=G[j]; G[j]:=G[j+1];G[j+1]:=x;
puporev вне форума Ответить с цитированием
Старый 13.12.2007, 11:08   #3
lix
 
Регистрация: 02.12.2007
Сообщений: 8
По умолчанию

Код:
uses crt;
var b:array[1..25,1..25] of integer;
n,m:integer;
procedure vvod;
var i,j:integer;
begin
read(n,m);
for i:=1 to n do
for j:=1 to m do
read(b[i,j]);
end;
procedure obrabotka;
begin
for i:=1 to n do
begin
s:=0;t:=1;
for j:=1 to m do
begin
s:=s+b[i,j];
t:=t*b[i,j];
end;
if s>t then begin 
for i1:=i+1 to n do
for j1:=1 to m do
b[i1-1,j1]:=b[i1,j1];
n:=n-1;
end;
end;
end;
procedure vivod;
begin
for i:=1 to n do
begin
for j:=1 to m do
write(b[i,j],' ');
writeln;
end; 
end;
begin
clrscr;
vvod;
obrabotka;
vivod;
readkey;
end.


Нуууу что-то в этом роде (для первой задачи).... Если он удаляет строки , то в процедуре обработка i и j поменяй местами - а то я наспех делал...

Последний раз редактировалось Alex21; 13.12.2007 в 12:23. Причина: [CODE][/CODE]
lix вне форума Ответить с цитированием
Старый 13.12.2007, 15:31   #4
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

В приведенном выше коде многое неправильно, и работать он не будет.
Введенную матрицу желательно видеть на экране в нормальном виде, чтобы можно было проверить правильность работы программы. В преобразовании тоже ошибки. На выходе выдается та же матрица, которую ввели. Чтоб не терять время на разбор чужих ошибок, лучше разбирать свои, вдруг получится. Вот нормадьно работающий код.
Код:
program ud_stb;
uses crt;
type matr=array[1..25,1..25]of integer;
var n,i,j,t,s,k,p,q,d:integer;
a,b:matr;
procedure vvod;
begin
   clrscr;
   write('n=');readln(n);
   randomize;
   for i:=1 to n do
     begin
       for j:=1 to n do
          begin
             a[i,j]:=random(8);
             write(a[i,j]:2);
          end;
        writeln;
     end;
   readln;
end;
procedure vyvod(a:matr;m:integer);
begin
for i:=1 to n do
       begin
         for j:=1 to m do
           begin
             write(a[i,j]:2);
           end;
         writeln;
       end;
readln;
end;
procedure preobr(a:matr;var b:matr;var k:integer);
var t,s:integer;
begin
    k:=0;
    for j:=1 to n do
     begin
       t:=1;s:=0;
       for i:=1 to n do
         begin
           t:=t*a[i,j];
           s:=s+a[i,j];
         end;
     if t<=s then
         begin
           k:=k+1;
           for i:=1 to n do
             begin
               b[i,k]:=a[i,j];
             end;
         end;
     end;
end;
begin
vvod;
preobr(a,b,k);
vyvod(b,k);
end.
puporev вне форума Ответить с цитированием
Старый 13.12.2007, 18:02   #5
sergeyfsd
Пользователь
 
Регистрация: 13.12.2007
Сообщений: 11
По умолчанию

спасибо вам огроменное !!!!!!
sergeyfsd вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите с задачами щдуп Паскаль, Turbo Pascal, PascalABC.NET 1 26.06.2008 18:39
Помогите мне тоже с задачами, пожалуйста AnKS Помощь студентам 1 27.10.2007 08:51
Помогите пожалуйста с задачами!!! Shatyn Помощь студентам 5 23.06.2007 20:11
Помогите пожалуйста с задачами morphine Паскаль, Turbo Pascal, PascalABC.NET 3 30.01.2007 14:52