Премини към съдържанието

Препоръчан отговор


Здравейте моля ви за помощ опитвах няколко пъти но така и не успях да си направя задачата ето това е условието ако трябва ще платя. Благодаря предварително: 

Даден е двумерен масив A с m реда и n стълба. Да се състави блок схема на алгоритъм, чрез който се създава нов масив b1, b2 ..., bn, като стойноста на bj е равна на средно аритметичното на отрицателните елементи в j -ия стълб. Да се състави програма по този алгоритъм.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

А да видим ще си намериш ли грешката в условието, което си дал.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Това са ми дали като условие.

Преписъл съм го дословно 1към 1 е ако смяташ че има грешка моля сподели къде е

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Първо да попитам - Ако в "j стълба" няма отрицателни елементи к'во правим???

И втора: Колко даваш??? И мислиш ли, че като си платиш ще станеш експерт в програмирането??? :devil2:

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Ако мислиш че можеш да го наравиш ми пиши на лично и ще се разберем предполагам че ако няма отрицателни просто ще дава съобщение че няма отрицателни елементи. Щом съм стигнал до там да плащам едва ли ще стана експерт 


Сподели този отговор


Линк към този отговор
Сподели в други сайтове
преди 2 часа, Smile Box написа:

Здравейте моля ви за помощ опитвах няколко пъти но така и не успях да си направя задачата ето това е условието ако трябва ще платя. Благодаря предварително: 

Даден е двумерен масив A с m реда и n стълба. Да се състави блок схема на алгоритъм, чрез който се създава нов масив b1, b2 ..., bn, като стойноста на bj е равна на средно аритметичното на отрицателните елементи в j -ия стълб. Да се състави програма по този алгоритъм.

Първо аз лично, нищо не разбрах от задачато, но все пак да попитам Има Матрица A = 2х2 = m[o] m[1]  n[0] n[1] = (amn). Трябва да се създаде друг някакъв масив или матрица B = (bjn)??? и след това доста неточно. 

Няма кофактор, и това с отрицателните елементи сигурно се има предвид четна и нечетна Пермутация σ.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Този нов масив не е ясно от какво ще се създаде, като никъде не е писано, че трябва да участва масив А с m реда и n стълба. Новия масив от А ли се създава и как?

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Не знам кой е дал задачата, но е доста сбъркано.

Аз това разбрах

Елемент в матрицата и отрицателен. Числа,  които са по-малки от 0. Значи излиза, че матрицата B да се образува трябва да въведа някакви произволни елементи или произволни числа или цифри , примерно 0, 3,-5,-8,-9, 8 и оттук разбирам, че стълба на новата B матрицата е 1,  ????? а реда сигурно е 6. Защото съм въвел 6 елемента.

Значи матрицата новата B е  6х1.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Untitled.thumb.jpg.397632001d164214ee1118a31a081e95.jpgUntitled2.jpg.4f4b2de725a10e98db0e5a4e3218826a.jpg

Това са ни го дали като пример с едномерен масив обаче нямам си никаква идея как трябва да стане със двумерния 

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

PASCAL е елементарен език, на който се пише спокойно и без грешки.
Нима в днешно време още го използват за обучение ?

За задачата основната част от програмата на PASCAL може да бъде примерно такава:

{
Даден е двумерен масив A с m реда и n стълба. 
Да се състави блок схема на алгоритъм, чрез който се създава нов масив b1, b2 ..., bn, 
като стойноста на bj е равна на средно аритметичното на отрицателните елементи в j -ия стълб. 
}

const
  m = 5;
  n = 9;

var
  A: array[1 .. m] of array[1 .. n] of real;
  B: array[1 .. n] of real;

  i, j: integer;
  s, n: real;

begin
  for j := 1 to n do
    begin
      s := 0.0;
      n := 0.0;

      for i := 1 to m do
        begin
          if A[j] < 0.0 then
            begin
              s := s + A[j];
              n : = n + 1.0; 
            end;
        end;

      if n > 0.0 then
        begin
          B[j] := s / n;
        end
      else
        begin
          B[j] := 0.0;
        end        
    end;
end;

 

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
преди 34 минути, Smile Box написа:

 

Това са ни го дали като пример с едномерен масив обаче нямам си никаква идея как трябва да стане със двумерния 

Ето виж тук.

https://www.tutorialspoint.com/pascal/pascal_multi_dimensional_arrays.htm

двумерния 

var
   arrayName: array[1..x, 1..y] of element-type;

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
преди 3 часа, Smile Box написа:

Щом съм стигнал до там да плащам

Тук не става въпрос за плащане, а мислиш ли, че по този начин може да се научиш?

Пратих ти на ЛС .... гледах да следвам примера който си качил тук.

Програмирането не е само да познаваш даден програмен език, а да можеш да създаваш някакъв алгоритъм за изпълнение на дадена задача.

До голяма степен е свързан с математиката и най-вече с логиката ....

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Регистрирайте се или влезете в профила си за да коментирате

Трябва да имате регистрация за да може да коментирате това

Регистрирайте се

Създайте нова регистрация в нашия форум. Лесно е!

Нова регистрация

Вход

Имате регистрация? Влезте от тук.

Вход

  • Разглеждащи това в момента   0 потребители

    Няма регистрирани потребители разглеждащи тази страница.

  • Горещи теми в момента

  • Подобни теми

    • от nisanx
      Здравейте!Трябва ми помощ направих две програми обаче незнам как да ги слея в 1 програма,по такъв начин че да не се промени нищо.И да ми изведе двете програми една под друга на команд пропта! Нов съм в програмирането затова ще се радвам ако ми помогнете да ги слея.
      #include <iostream>
      #include <stdlib.h>
      #include <time.h>
      using namespace std;
      #define N 30
      int A[N], n, i;
      void inputkeyboard()
      {
          do
       {
           cout<<"\n Razmer na masiva: ";
           cin>>n;
       }
       while (n<0 || n>N);
          for (i=0; i<n; i++)
          {
            cout<<"\n A["<<i+1<<"] = ";
            do
            {
              cin>>A;
            }
            while (A<100 || A>999);
          }
      }
      void inputrandom()
      {
          srand(time(0));
             do
       {
           cout<<"\n Razmer na masiva: ";
           cin>>n;
       }
       while (n<0 || n>N);
          for (i=0;i<n;i++)
          {
          A =100+rand()%900;
          }
          for (i=0;i<n;i++)
          {
              cout<<"\n A["<<i+1<<"] = "<<A;
          }
      }
      int main()
      {
          inputrandom();
          int P[10] = {};
          int p, max;
          
          for (i=0;i<n;i++)
          {
              P[A%10]++;
              p= A/10;
              P[p%10]++;
              P[p/10]++;
          }
         
          max = -1;
          for (i=0;i<10; i++) 
              if (P>max) 
                  max=P;
          
          for (i=0; i<10; i++)
              if (P==max) 
                  cout <<"\n Nai-chesto sreshtanata cifra e " << i << "  " << max << " broia\n";
                  
          system("pause");
          return 0;
      }
      //това е първата програмка//
       
      #include <iostream>
      using namespace std;
      int array[] = { 151,152,123,694,255,956,427,218,769,320 };
      int count = sizeof(array) / sizeof(int);
      int first(int an_array[],int  members)
      {
      int a, j, b, *T;
        
               T = new int [members];
               
               for (a = 0, j = 0; a < members; a++)
               {
                       b = an_array[a]; 
                       if (b % 2)
                              T[j++] = b;
               }
               for (a = 0; a < members; a++)
               {
                       b = an_array[a]; 
                       if (!(b % 2))
                              T[j++] = b;
               }
               cout << "\n\nIztinskiqt masiv e:\n"; 
               for (a=0;a<members; a++)
                       cout << an_array[a] << " ";
               cout << "\n\nV nachaloto sa nechetnite a sled tqh chetnite:\n"; 
               for (a=0;a<members;a++)
                       cout << T[a] << " ";
               
               cout << endl;
               delete [] T;
      }
      main()
      {
                first(array,count);
                         
                system("pause");
                return 0;
      } //а това е втората програмка//
      Благодаря ви предварително !!
       
       
    • от barry
      Здравейте,
      имам един масив от цели числа
      int a[] = {1, 2, 3, 4, 5, 6}; а израза
      (1 + 3)[a] - a[0] + (a + 1)[2] е равен на 8. По принцип i-тия елемент на масива е
      a[i] или *(a+i) но не разбирам другите две конструкции. Може ли някой да обясни как се изчисляват те?
      Благодаря предварително.
    • от HelloWorld
      Здравейте,
      Някой може ли да помогне с презаписването на масив в друг масив, т.е входните данни се записват в даден масив, но след това трябва да се прехвърлят на друг в отделна функция. 
    • от monka987
      Здравейте, имам нужда от помощ с програмата на Паскал. Не мога да измисля само процедурата за намиране броя на мъжете с успех над 4,50, родени през есента. 
      Условието на програмата е:
      За група студенти са зададени име, ЕГН, фак. №, оценките по 10 дисциплини, среден успех. Да се създаде програма, използваща подпрограми за:
      - създаване на файл с информация за групата студенти, без да се въвежда ср. успех;
      - изчисляване на средния успех на всеки един от студентите;
      - намиране брой на мъжете с успех над 4,50, родени през есента.
      Ето до къде стигнах:
      Program StudentiFile;
      type
      student=record
      ime:string[30];
      egn:string[10];
      faknom:string[6];
      ocenki:array[1..10] of real;
      end;
       
      var
      filestud:file of student;
      i,m,n:integer;
      imefail:string[20];
      group:array[1..30] of student;
      stud:student;
      C:char;
       
      Procedure ReadStud(var stud:student);
      var i:integer;
      begin
      with stud do
      begin
      write(' ':5,'Въведете име: ');Readln(ime);
      If(ime='exit') then exit;
      Write(' ':5,'Въведете ЕГН: ');Readln(egn);
      write(' ':5,'Въведете Фак. номер: ');Readln(faknom);
      Writeln(' ':10,'Въведете 10 оценки:');
      for i:=1 to 10 do
      begin
      write('Въведете оценка [',i,']: ');
      readln(ocenki);
      while((ocenki>6) or (ocenki<2)) do
      begin
      writeln('Въведете оценка от 2 до 6!');
      write('Въведете оценка[',i,']: ');
      readln(ocenki);
      end;
      end;
      Readln;
      end;
      end;
       
      Function SredenUsp(stud:student):real;
      var SrUsp,s:real;
      i:integer;
      begin
      s:=0;
      for i:=1 to 10 do
      s:=s+stud.ocenki;
      SrUsp:=s/10;
      end;
       
       
      Procedure WriteOne(stud:student);
      var i:integer;
      begin
      with stud do
      begin
      writeln('Име: ',ime);
      writeln('ЕГН: ',egn);
      writeln('Фак. номер: ',faknom);
      writeln('Оценки:');
      for i:=1 to 10 do
      write(stud.ocenki:4:2,' ':2);
      writeln;
      writeln('Среден успех: ',SredenUsp(stud):4:2);
      writeln;
      end;
      end;
       
       
      Procedure WriteAll;
      var stud:student;
      begin
      Reset(filestud);
      while not EOF(filestud) do
      begin
      Read(filestud,stud);
      WriteOne(stud);
      end;
      close(filestud);
      end;
       
      Procedure NewFile;
      begin
      Rewrite(filestud);
      Close(filestud);
      Writeln('Файлът е създаден!');
      end;
       
      Procedure AddNewStud;
      var stud:student;
      begin
      writeln('Въведете име или exit за край!');
      reset(filestud);
      seek(filestud,filesize(filestud));
      Repeat
      ReadStud(stud);
      If stud.ime<>'exit'
      then Write(filestud,stud);
      until stud.ime='exit';
      Close(filestud);
      end;
       
      Procedure DeleteStud;
      var Delfile:file of student;
      faknom:string[6];
      begin
      write('Въведете фак. номер: ');Readln(faknom);
      Reset(filestud);
      Assign(Delfile,'Del');
      Rewrite(Delfile);
      While not EOF(filestud) do
      begin
      Read(filestud,stud);
      If stud.faknom<>faknom
      then write(Delfile,Stud)
      else Writeln('Данните за студент с фак.номер ',faknom,' са изтрити.');
      end;
      Close(filestud); Close(Delfile); Erase(filestud);
      Rename(Delfile,imefail);
      Writeln;
      End;
       
      BEGIN
      Write('Задайте име на файла: ');
      Readln(imefail);
      Assign(filestud,imefail);
      Repeat
      Writeln(' ':20,'Въведете номера на желаната операция:');
      Writeln(' ':15,'1 - за създаване на нов файл');
      Writeln(' ':15,'2 - за добавяне на студенти');
      Writeln(' ':15,'3 - за изтриване на данни');
      Writeln(' ':15,'4 - за извеждане данните на всички студенти');
      Writeln(' ':15,'5 – намиране броя на мъжете с успех над 4,50, родени през есента’);
      Writeln(' ':15,'0 - за изход от програмата');
      Readln;
      Case C of
      '1':NewFile;
      '2':AddNewStud;
      '3':DeleteStud;
      '4':WriteAll;
      '5':Maje;
      end;
      Until C='0';
      END.
    • от Aspire_bg
      Здравейте, някои може ли да ми помогне с откриването на грешките на тази задача?
      Задачата е следната:
      Програма с фунция main() чрез меню на функции за:
      1.Вивеждане от клавиатура на размерност (с проверка за коректност) и елементи на масив от цели числа K(L) (L<=30);
      2.Изчисляване на средно-аритметично от числата в масива, които се делят без остатък ;
      3.Изчисляване на сумата на различните от нула числа и броя на нулевите числа в масива;
      4.Намиране на максималното отрицателно число в масива и неговия пореден номер;
      5.Извеждане на екран на резултатите от съответното изчисляване, както и на въведените числа в масива (с подходящи текстове).
      #include<iostream>
      using namespace std;
      const int L=30;
      int F[L];
      int N;

      void input()
      {
      int i;
              do
              {
                      cout<<"Vavedete razmernost na masiva ne poveche ot 30"<<endl;
                      cin>>N;
              }
              while(N<1||N>30);
              for(i=0;i<N;N++);
              {
                      cout<<"Vavedete element na masiv"<<i+1<<endl;
                      cin>>F;
              }
          
      }
      void average() 
      {int sum; 
      int m,i; 
      int br=0; 
      for(i=0;i<N;i++) 
      m=F%6; 
      if(m==0); 
      sum+=F; 
      br++; 
      cout<<"Sredno aritmetichnoto na chislata v masiva koito se delqt bez ostatuk na 6"<<sum/br<<endl; 

      void sum0() 

      int i; 
      int sum; 
      int br=0; 
      for(i=0;i<N;i++); 
      if(F!=0) 
      sum+=F; 
      else 
      br++; 
      cout<<"Sumata na razlichnite chisla ot nula"<<sum<<endl; 
      cout<<"Broq na nulevite chisla v masiva e "<<br<<endl; 

      void maxn() 
      { double max; 
      int i; 
      int n; 
      for(i=0;i<N;i++); 
      if(F>0&&max>F); 
      {max=F; 
      n=i; 

      cout<<"Maximalnoto otricatelno chislo v masiva e"<<max<<endl; 
      cout<<"Poredniqt mu nomer e"<<n<<endl; 

      void menu()
      {
          int izbor;
          do{
              cout<<"1.Vavejdane na razmernost na masiva i negovite stoinosti"<<endl;
              cout<<"2.Izchislqvane na sredno aritmetichno ot chislata ,koito se delqt bez ostatuk na 6"<<endl;
              cout<<"3.Izchislqvane na sumata na razlichnite ot nula chislq i broq na nulevite chisla"<<endl;
              cout<<"4.Namirane na maksimalnoto polojitelno chislo i negoviqt poreden nomer"<<endl;
              cout<<"5.Krai na programata"<<endl;
              cin>>izbor;
              while((izbor<1)||(izbor>5))
              switch(izbor)
              {
                  case 1:
                   cout<<"Vavejdane na chisla:"<<endl;
                  input();
       
                  case 2:
                  cout<<"Sredno aritmetichno na chislata koito se delqt bez ostatuk na 6"<<endl;
                  average();
       
                  case 3:
                  cout<<"Sumata na razlichnite ot nula chislq i broq na nulite:"<<endl;
                  sum0();
       
                  case 4:cout<<"Maksimalnoto otricatelno chislo i negoviq nomer"<<endl;
                  maxn();
                  case 5: cout<<"Krai na programata"<<endl;
                  return;
       
              }
          }while(1);
      }
       
      void main()
      {
      menu();
      }
       
       
  • Дарение

×

Информация

Поставихме бисквитки на устройството ви за най-добро потребителско изживяване. Можете да промените настройките си за бисквитки, или в противен случай приемаме, че сте съгласни с нашите условия за ползване.