C/C++

Член од
24 октомври 2012
Мислења
11
Поени од реакции
2
Да се напише програма во која од тастатура се внесуваат две матрици во кои елементите може да бидат и децимални броеви. Да се пресмета производот на овие две матрици.

Потсетување: За две матрици да може да се множат меѓу себе бројот на колони во првата треба да е ист со бројот на редици во втората матрица.

PHP:
#include<stdio.h>
#define Max 100
int main()
{
float a[Max][Max],b[Max][Max],p[Max][Max],pom=0;
int m,n,k1,k2,i,j,l,k;
scanf("%d",&n);
scanf("%d",&k1);
for(i=1;i<=n;i++)
for(j=1;j<=k1;j++)
{
scanf("%f",&a[j]);
}
scanf("%d",&k2);
scanf("%d",&m);
for(i=1;i<=k2;i++) for(j=1;j<=m;j++)
{
scanf("%f",&b[j]);
}
for(i=1;i<=n;i++){ for(j=1;j<=m;j++)
{
for(l=1;l<=k1;l++)
{
pom=pom+a[l]*b[l][j];
}
p[j]+=pom;
pom=0;
}
}
for(i=1;i<=n;++i)
{ for(j=1;j<=m;j++)
printf("%.2f\t",p[j]);
printf("\n");
}
return 0;
}
Стигнав до овде ама не ми функционира....Ако може поправка....
 
M

Mr.InF3ction

Гостин
Jokk

Кој програмски јазик?? Има тема за Јава, C/C++ ..не ми е јасно како не знаеше каде да ја постираш, и плус како поточно да ти помогнеме ? Не ти е јасна цела задача ?
 
Член од
11 октомври 2012
Мислења
12
Поени од реакции
0
Во C++ треба да се напише, барам помош оти на факултет уште неаме земено за датотеки а ни ја дадоа оваа програма за семинарска работа која треба да биде готова до крајот на јануари, ние наредниве предавања ке земеме за датотеки али сакав да побарам помош тука околу задачата, не барам некој да ја напише целата бар да ми даде линк или материјал за датотеки некаде, не би одбил ни цела програма де до душа :D
 
M

Mr.InF3ction

Гостин
PHP:
#include<stdio.h>
#define Max 100
int main()
{
    float a[Max][Max],b[Max][Max],rez[Max][Max],pom=0;
    int m,n,m2,n2,i,j,l,k;
    printf("Vnesi M i N za prvata matrica: ");
    scanf("%d",&m);
    scanf("%d",&n);
    printf("Vnesi M i N za vtorata matrica: ");
    scanf("%d",&m2);
    scanf("%d",&n2);
    if(n != m2){ // prvo proveri dali dimenziite ne matricite se ok posle citaj vlez..
        printf("Ne moze da se presmeta proizvod na matrici!\n");
        return -1;
    }
    printf("Vnesi ja prvata matrica: \n");
    for(i=0;i<m;i++){
        for(j=0;j<n;j++)
        {
            scanf("%f",&a[i][j]); // vaka se cita podatok za vo matrica..a ne a[i] ili a[j]
        }
    }
    printf("Vnesi ja vtorata matrica: \n");
    for(i=0;i<m2;i++)
        for(j=0;j<n2;j++)
    {
        scanf("%f",&b[i][j]);
    }
    for(i=0;i<m;i++)
        for(j=0;j<n2;j++)
        {
            pom = 0;
            int k;
            for(k = 0; k < m; k++)
            {
                pom  += a[i][k]*b[k][j];
            }
            rez[i][j] = pom;
        }
    printf("\n\n");
    for(i=0;i<m;i++){
      printf("\n");
      for(j=0;j<n2;j++){
          printf("%f\t",rez[i][j]);
      }
    }
return 0;
}
Ко што приметив не знаеш некои основи за матрици . па нема да е лошо да читнеш ова.

@Jokk повели читај, почни ако имаш нешто нејасно прво прашај го гугл ако не најдеш одговор..тогаш тука..ние ќе бараме за тебе од гугл :icon_lol: ..серизоно имаш буквално се што ти треба низ интернет...но сепак ако нешто не ти е јасно..слободно прашувај расположен сум да помогнам колку што можам за некој што сака стварно да научи..а и има други членови што знаат многу повеќе за оваа област и се расположени да споделат знаење :)
Совет од мене иди чекор по чекор...прво пробај да ги валидираш податоците, значи правиш функција што ќе чита податоци од влез и ги валидира..ако се ок да враќа 1 ако не ..-1 итн...после куцај функција што ќе прима некоја низа како влез, па тоа да го запише во некој фајл или да избрише итн.
 

Довичински -

Довичински П.
Член од
26 ноември 2009
Мислења
1.205
Поени од реакции
674
Ми треба некоја задача напишана во C++ со наредбата switch Немора да е задача може било каква програма. Ми треба за презентација па ако има некој да ми даде совет каква задача да направам или да има некоја па да ми ја даде. Само не треба да ја има во книгата "Програмирање за почетници C++" На проектната треба да ја напишам на 3 начини алгоритам C++ и .... Само немора да е некоја многу сложена зшото ипак се работи за почетничко програмирање. Благодарим!
 
M

Mr.InF3ction

Гостин
Довичински -

Има еден куп примери низ нет..како овие :
PHP:
void PrintColor(Colors eColor)
{
    using namespace std;
    switch (eColor)
    {
        case COLOR_BLACK:
            cout << "Black";
            break;
        case COLOR_WHITE:
            cout << "White";
            break;
        case COLOR_RED:
            cout << "Red";
            break;
        case COLOR_GREEN:
            cout << "Green";
            break;
        case COLOR_BLUE:
            cout << "Blue";
            break;
        default:
            cout << "Unknown";
            break;
    }
}
 
bool IsNumber(char cChar)
{
    switch (cChar)
    {
        case '0':
        case '1':
        case '2':
        case '3':
        case '4':
        case '5':
        case '6':
        case '7':
        case '8':
        case '9':
            return true;
        default:
            return false;
    }
}
 
Член од
30 октомври 2008
Мислења
111
Поени од реакции
14
ај кој знае нека помага
"да се напише функција која ке ги испечати елементите од фибоначиева низа до внесен број"
 
Член од
10 февруари 2008
Мислења
845
Поени од реакции
447
PHP:
#include <iostream>
using namespace std;
 
int main()
{
    /* Niza na fibonaci */   
    int n,pretprethoden(1),prethoden(1),sleden(2);
 
    cout << "Vnesi broj do koj ke se generira nizata na fibonaci: ";
    cin >> n;
   
    cout << "Nizata na fibonaci do brojot " << n << " e: " << endl;
    cout << 1 << ", " << 1;
    while (sleden <= n)
    {
        cout << ", " << sleden;
        pretprethoden = prethoden;
        prethoden = sleden;
        sleden = pretprethoden + prethoden;
    }
    cout << endl;
}
 

acermk

лавот во сенка
Член од
18 јуни 2009
Мислења
1.938
Поени од реакции
900
Да не има некој збирка задачи и алгоритми за почетници со if, while и for
 
Член од
2 август 2009
Мислења
975
Поени од реакции
380
Види на електро,таму има испитни а и не се нешто посебно тешки би требало од тоа да научиш.
Воа ти е мој предлог нека ти предложат и некој други тука има многу поискусни.
 

Кико Д.

ULTRAS - way of life
Член од
26 јануари 2010
Мислења
11.435
Поени од реакции
9.676
Решавање на систем линеарни равенки или квадратна равенка по избор.
Програма која ќе повикува 2 функции во мени, по избор, едната за решавање на систем од 2 линеарни равенки, а другата за решавање на квадратна равенка.
Во двете функции да се предвидат ситуациите кога системот равенки или квадратната равенка немаат решенија, имаат исти решенија, имаат обични решенија.
Програмата да се тестира за 4 случаи: 2 случаи кога е избрано решавање на систем 2 линеарни равенки: Кога системот линеарни равенки нема решение, кога има решение. И кога е избрано решавање на квадратна равенка и кога исто, равенката нема решение и кога има решение.

Има некој љубезен да ја реши? :oops:
 
Член од
25 март 2012
Мислења
40
Поени од реакции
6
Решавање на систем линеарни равенки или квадратна равенка по избор.
Програма која ќе повикува 2 функции во мени, по избор, едната за решавање на систем од 2 линеарни равенки, а другата за решавање на квадратна равенка.
Во двете функции да се предвидат ситуациите кога системот равенки или квадратната равенка немаат решенија, имаат исти решенија, имаат обични решенија.
Програмата да се тестира за 4 случаи: 2 случаи кога е избрано решавање на систем 2 линеарни равенки: Кога системот линеарни равенки нема решение, кога има решение. И кога е избрано решавање на квадратна равенка и кога исто, равенката нема решение и кога има решение.

Има некој љубезен да ја реши? :oops:
Ako zastanis negde pisi ili ako sakas da razjasnam del od kodot. Za sistem lin rav zedov 2 so 2 za najlesno ama ako ti treba resavanje na razlicni sistemi. Probaj testiraj ja. Objasnuvanje dadov vo komentarite...potrudi se da go razberes kodot...
Код:
#include <cstdlib>
#include <iostream>
#include <cmath>//ke ni treba zaradi kvadraten koren i na kvadrat pow(x,2) ke kositam nameso x*x zaradi popreglednost vo kodot
/*
  Name: Kvadratni i sistem linearni ravenki ili Project1
  Copyright: Tan
  Author: Tan
  Date: 16.12.12 10:21
*/
 
/*
  Funkcionalnosta na kodot e podelena vo funkcii za da mozi da bidat povtorno iskoristeni
  Koristam inline funkcii za popreglednost na kodot i za se da bidi na edno mesto
  inace podobro bi bilo da se razdelat prototipite na funkciite vo eden fajl,
  a telata vo drug i main-ot vo tret...
 
 
*/
 
using namespace std;
 
void vnesiLinRavenka(int &q,int &w,int &e)//se koristi predavanje po referenca za da se pristapi do vnesenite vrednosti
{
      cout<<"ravenkata koja ja vnesi e:"<<endl;
      cout<<q<<(w>=0?"x+":"x")<<w<<"="<<e<<endl;
 
      };
void presmetajSisLinRav( int a, int b, int c, int d, int l, int m, double &xRef, double &yRef ) //za povekjekratno presmetuvanje na sistem
                                                                                                //linearni ravenki
                                                                                                /* Na primer:
                                                                                                      da gi vnesime vrednositte vo case 2
                                                                                                      i od tamu da ja povikame funkcijata
                                                                                                */
                                                                                                //Preporacuvam da koristis pokazuvaz namesto
                                                                                                //predavanje preku referenca biejki pokazuvacot
                                                                                                //ovozmozuva dinamicnost, jas bidejki pocnav so
                                                                                                //referenca i taka prodolziv...
{
    int det,detX,detY;                                                                        //Ovaa funkcija resava sis od 2 lin ravenki so 2 nepozanti
                                                                                                //za poinaku treba da se promeni
 
    det=(a*d)-(b*c);
    if(det==0)
    {
              cout<<"Sistemot nema resenie."<<endl;                                            //Tuka ke pecatam nema resenie a podolu ako e isot resenieto
              }
              else{
    detX=(l*d)-(m*b);
    detY=(a*m)-(c*l);
    //najlesno da se resi spored mene e so determinanti
    xRef=detX/det;
    yRef=detY/det;
 
    if(xRef==yRef)
    {
                  cout<<"Resenieto za x i y e isto"<<endl;
                  }
 
  }
}
void presmetajResSisLinRav() // ovaa funkcija sluzi za vnesuvanje na vrednosite za linearnite ravenki
{                            //bidejki sluzi samo za vnesuvanje na vrednostite i povikuvanje na funkcii
                            //moze da se izostavi i potrebniot vlez na vred. i povik na funk. da se napravi vo switch
                            //
 
    int a1,b1,c1,a2,b2,c2;
    double x,y;
    cout<<"Vnesi ja prvata ravenka vo forma na ax+bx=c "<<endl;  //funk vnesiLinRavenka se povikuva dva pati bidejki
                                                                  //treba da se resi sistem od dve linearni ravenki
                                                                  //za 3 ili povekje e potrebna dopolnitelna modifikacija
                                                                  //vo presmetajSisLinRav i nacinot na pecatenje na ravenkite
 
    cout<<"Vnesi za a:";cin>>a1; //Se vnesuvaat na sekoj nov red
    cout<<"Vnesi za b:";cin>>b1;
    cout<<"Vnesi za c:";cin>>c1;
    vnesiLinRavenka(a1,b1,c1);
 
    cout<<"Vnesi ja vtorata ravenka vo forma na ax+bx=c "<<endl;
 
    cout<<"Vnesi za a:";cin>>a2;
    cout<<"Vnesi za b:";cin>>b2;
    cout<<"Vnesi za c:";cin>>c2;
    vnesiLinRavenka(a2,b2,c2); //doloku bea tri ili pocekje lin ravenki ovoj cekor ke go povtorevme
 
    presmetajSisLinRav(a1,b1,c1,a2,b2,c2,x,y); //ja povikuvame funk presmetajSisLinRav
    cout << "\nx = " << x << "  y = " << y << endl;
 
};
 
void presmetajKvadRav(int &a,int &b,int &c) //od tuka pocnav so referencite, namesto so pokazuvaci i taka prodolziv
                                                  //i ovaa funkcija dava moznost za  povtorno da se iskoristi
{
      double x; //Kvadratnite ravenki  imaat dve resenija za
      double y;
 
      double diskr; //ke resavame so diskriminanta
 
      if(a==0)
      {
              cout<<"Kvadratnata ravenka nema resenie."<<endl; //znaci so 0 nisto ne se deli
              }
        else{
             
      diskr=pow((double)b,2)-4*a*c;//ona so e b*b-4ac mozi da si menis i b*b-4ac
 
      if(diskr>0) //so proverka na diskrimin. mozi da vidis kakvo resenie ke dobies
              {
           
      x=((0-b)+sqrt(diskr))/2*a;
      y=((0-b)-sqrt(diskr))/2*a;
 
      cout<<"Kvadratnata ravenka ima dve resenija i toa: "<<endl;
      cout<<"Res1:"<<x<<endl;
      cout<<"Res2:"<<y<<endl;
      }
      if(diskr==0){
      cout<<"Kvadratnata ravenka ima edno resenie i toa: "<<endl;
      cout<<"Res:"<<x<<endl;
      }
      if(diskr<0){
          cout<<"Kvadratnata ravenka ima kompleksni resenija "<<endl;
          }
          }
};
int main(int argc, char *argv[])
{
    int izbor; //mozda i trebase so dva if-a i eden else ali aj taka pocnav
    cout<<"Pritisni 1 ili 2 za izbor na sistem ravenki ili kvadratna ravenka"<<endl;//bla bla bla
    cout<<"legenda:"<<endl<<"1-Kvadratna ravenka"<<endl<<"2-Sistem linearni ravenki"<<endl<<"3-za da izlezis od programa"<<endl;//uste bla bla bla
    label: cin>>izbor;//zabelezi tuka labela iako ne e preporacano da se koristi izgleda dobar moment da se iskoristi
  switch(izbor)
    {
                case 1: //ovde primeniv nacin na vnesvanje na vrednostite i povikuvanje na funkcijata ili ako bea povekje funkcii kako so sistemot
                        //lin ravenki ke naprajs vnesi kod--pov funkcija--napraj nesto so dobienite vred--povikaj funk--proveri dob vrednosti itn...
    int a,b,c;
    cout<<"Vnesi za a:";cin>>a;
    cout<<"Vnesi za b:";cin>>b;
    cout<<"Vnesi za c:";cin>>c;
    presmetajKvadRav(a,b,c);
    break;
                case 2: //ovde samo povikvas edna funkcija i posle odis niz povekje funkcii koi ovaa funkciaj gi
                        //povikuva za da stignis do nekakov da recam odgovor
         
    presmetajResSisLinRav();
    break;
 
    case 3:
    exit(0); //3 znaci kraj na programata
    break;
 
    default:
            cout<<"Probajte pak!"<<endl;                     
            goto label;    //cim nesto drugo napisis ke te odnesi gore
}
    system("PAUSE");        //to e se
    return EXIT_SUCCESS;
}
 
Член од
11 октомври 2012
Мислења
12
Поени од реакции
0
Код:
#include <iostream>
using namespace std;
void Izmeni(int&,int&);
int main ()
{
    int a,b,c;
    a=2;
    b=4;
    c=3;
    Izmeni(c,b);
    cout<<a<<" "<<b<<" "<<c<<endl;
    system("pause");
    return 0;
}
void Izmeni(int& a,int& b)
{
    int c;
    c=a+1;
    a=a*2;
    b=c+a;
}
Може некој да ми објасни за референци на кратко? т.е зашто тука ми дава 2 10 6 као резултат..
 
M

Mr.InF3ction

Гостин
Jokk

Бидејќи податоците што се користат при извршување на некоја програма се чуваат во рам меморија. И за да пристапиш до таа вредност треба да ја знаеш адресата каде се наоѓа тоа нешто... И сега викаш добро што има врска ова со референци...епа референците ја пренесуваат таа адреса и внатре во функцијата ти директно ги заменуваш вредностите во тоа место од меморијата. Пр ако променливата C вo main ја има адресата 125 и повикаш функција каде што параметрите се со референци..и во таа функција променливата ќе ја има истата адреса ( 125) и што и да промениш ќе важи секаде. Ако параметрите се без референца (int a, int b) тогаш се прави копија од влезните податоци и што и да правиш важи само внатре во таа функција...потоа се бришат и никому ништо, тие што се во main ќе бидат непроменети.
 
Член од
11 октомври 2012
Мислења
12
Поени од реакции
0
Аха фала за објаснувањето, но ќе може овој примеров да ми кажеш поконкретно како се добиени вредностите оти уште ми е малце матно?:)
 

Kajgana Shop

На врв Bottom