• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о проекте и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Помогите, пожалуйста, с решением задачи

  • Автор темы Автор темы Nozzza
  • Дата начала Дата начала

Nozzza

Ученик
Регистрация
23 Май 2011
Сообщения
7
Реакции
0
Баллы
0
Помогите, пожалуйста, с решением задачи

Задан двухмерный массив (n*m); n,m - выбирается самостоятельно. Для этого массива переставить столбцы в порядке возрастания сумм элементов столбцов.

ПОЖАЛУЙСТА ПОМОГИТЕ С ЭТИМ РЕШЕНИЕМ ОЧЕНЬ НАДО!!!!! :tehnari_ru_288:

Заранее огромное спасибо!!!
 
Нужно составить программу в Паскале
 
пункт правил 2.4.
Не рекомендуется чрезмерно увлекаться выделением текста цветом, курсивом, полужирным или писать сообщение ТОЛЬКО ЗАГЛАВНЫМИ БУКВАМИ.
мы не слепые, читать умеем
 
Извините, привыкла так писать. Так что из за шрифта не поможете чтоли? На вашем форуме я так понимаю темы нельзя редактировать
 
да нет ну что вы, вам помогут, просто люди которые занимаются програмированием, видимо ещё или не видели вашей темы, или не заходили на форум вовсе, я не спец, но помоему вопрос будет очевиден, на каком языке написать то? :)
 
Извините, привыкла так писать. Так что из за шрифта не поможете чтоли? На вашем форуме я так понимаю темы нельзя редактировать
Да успокойтесь Вы - сейчас нарисую!
 
Пожалуйста, получите:
Код:
CONST
 M=4;
 N=5;
VAR
 A:Array[1..M,1..N] of Byte;
 Numbers,Sums:Array[1..N] of Byte;
 i,j,k,d,u,v:Byte;
BEGIN
 Randomize;
 For i:=1 to M do
  begin
   For j:=1 to N do
    begin
     A[i,j]:=Random(10);
     Write(A[i,j]:3);
    end;
   Writeln;
  end;
 Writeln('Sums:');
 For j:=1 to N do
  begin
   Numbers[j]:=j;
   Sums[j]:=0;
   For i:=1 to M do
    Sums[j]:=Sums[j]+A[i,j];
   Write(Sums[j]:3);
  end;
 Writeln;
 For u:=1 to N do
  For v:=1 to N-u do
   If Sums[v]>Sums[v+1] then
    begin
     d:=Sums[v];
     Sums[v]:=Sums[v+1];
     Sums[v+1]:=d;
     k:=Numbers[v];
     Numbers[v]:=Numbers[v+1];
     Numbers[v+1]:=k;
    end;
 Writeln;
 For i:=1 to M do
  begin
   For j:=1 to N do
    write(A[i,Numbers[j]]:3);
   Writeln;
  end;
 Writeln('Sums:');
 For j:=1 to N do Write(Sums[j]:3);
 Readln
END.
 
Vladimir_S

Спасибо Вам огромное Вы не представляете как Вы меня выручили!!! Очень Вам благодарна.

А Вот еще одну задачку решите если Вам не трудно. Пожалуйста очень прошу!!!!

Группа из пяти студентов сдала четыре экзамена по четырем разным предметам. Оценки от 2 до 5. Составьте программу, которая бы выводила на экран эти сведения. Кроме того программа должна вычислять: сколько студентов сдали экзамены без двоек; сколько студентов сдали экзамены без троек.
 
А Вот еще одну задачку решите если Вам не трудно. Пожалуйста очень прошу!!!! Группа из пяти студентов сдала четыре экзамена по четырем разным предметам. Оценки от 2 до 5. Составьте программу, которая бы выводила на экран эти сведения. Кроме того программа должна вычислять: сколько студентов сдали экзамены без двоек; сколько студентов сдали экзамены без троек.
Пожалуйста.
В программе строится матрица, строки которой соответствуют студентам, столбцы - наукам, а элементы - оценкам (генерируются случайно):
Код:
CONST
 Number_of_Students=5;
 Number_of_Subjects=4;
VAR
 Marks:Array[1..Number_of_Students,1..Number_of_Subjects] of Byte;
 Stud,Subj,Good_Stud,Perf_Stud:Byte;
 b:Boolean;
BEGIN
 Randomize;
 For Stud:=1 to Number_of_Students do
  begin
   For Subj:=1 to Number_of_Subjects do
    begin
     Marks[Stud,Subj]:=Random(4)+2;
     Write(Marks[Stud,Subj]:4);
    end;
   Writeln;
  end;
 Writeln;
 Good_Stud:=0;
 Perf_Stud:=0;
 For Stud:=1 to Number_of_Students do
  begin
   b:=true;
   Subj:=0;
   Repeat
    Inc(Subj);
    If Marks[Stud,Subj]=2 then b:=false;
   Until (b=false) or (Subj=Number_of_Subjects);
   If b then Inc(Good_Stud);
  end;
 For Stud:=1 to Number_of_Students do
  begin
   b:=true;
   Subj:=0;
   Repeat
    Inc(Subj);
    If Marks[Stud,Subj]<4 then b:=false;
   Until (b=false) or (Subj=Number_of_Subjects);
   If b then Inc(Perf_Stud);
  end;
 Writeln('Students having no "2": ',Good_Stud);
 Writeln('Students having no "2" and no "3": ',Perf_Stud);
 Readln
END.
 
Vladimir_S

Большущее спасибо. Я очень ВАМ благодарна. А вот скажите пожалуйста в конце каждой программы перед "end" вы ставите "Readln" зачем? Просто мне еще несколько задач учитель в институте помогал решить и он не ставил в конце программы "Readln".
Извините что досаждаю, но просто если вдруг учитель спросит я хоть чтоб знала что ответить)

Еще раз огромнейшие спасибо ВАМ за помощь!!!!!!! Очень выручили!!!!
 
А вот скажите пожалуйста в конце каждой программы перед "end" вы ставите "Readln" зачем? Просто мне еще несколько задач учитель в институте помогал решить и он не ставил в конце программы "Readln".
Отвечаю.
Readln без параметров в конце программы с экранным выводом результата - это команда остановки выполнения программы до нажатия клавиши "Enter" и нужна эта команда затем, чтобы посмотреть на выведенный на экран результат. Без этой команды программа просто моргнет и вылетит либо в Паскаль-редактор, либо, если Вы запускаете ехе-файл, в то окно, из которого была запущена.
 
Vladimir_S

Все поняла! Огромное спасибо за помощь!
 
Назад
Сверху