Twoje PC  
Zarejestruj się na Twoje PC
TwojePC.pl | PC | Komputery, nowe technologie, recenzje, testy
B O A R D
   » Board
 » Zadaj pytanie
 » Archiwum
 » Szukaj
 » Stylizacja

 
M E N U
  0
 » Nowości
0
 » Archiwum
0
 » Recenzje / Testy
0
 » Board
0
 » Rejestracja
0
0
 
Szukaj @ TwojePC
 

w Newsach i na Boardzie
 
OBECNI NA TPC
 
 » Draghmar 19:02
 » Rafael_3D 18:58
 » john565 18:57
 » sszpila 18:56
 » Lucullus 18:54
 » Artaa 18:53
 » PeKa 18:48
 » Ramen 18:48
 » tuptun 18:46
 » P@blo 18:42
 » Paweł27 18:41
 » DYD 18:40
 » jenot 18:39
 » KHot 18:39
 » petropank 18:38
 » Chrisu 18:37
 » GLI 18:30
 » Robek 18:28
 » b0b3r 18:23
 » ligand17 18:22

 Dzisiaj przeczytano
 41143 postów,
 wczoraj 25974

 Szybkie ładowanie
 jest:
włączone.

 
ccc
TwojePC.pl © 2001 - 2024
A R C H I W A L N A   W I A D O M O Ś Ć
    

[C++] macierze... Jeżeli ktoś się zna to proszę o pomoc :) .... , Rebel_1 21/11/05 19:12
1. Dana jest macierz A o M wierszach i N kolumnach (M , N ? 100). Danajdź wiersz o największej sumie wartości elementów. Może ktoś powiedzieć gdzie tkwi błąd???


#include <iostream>
using namespace std;
typedef int Tab[8];
typedef Tab Mac[9];
Mac a={ 1,1,1,1,1,1,1,1,1,
2,2,2,2,2,2,2,2,2,
4,4,4,4,4,4,4,4,4,
3,3,3,3,3,3,3,3,3,
5,5,5,5,5,5,5,5,5,
7,7,7,7,7,7,7,7,7,
8,8,8,8,8,8,8,8,8,
9,9,9,9,9,9,9,9,9
};

int M=8,N=9;
int sumas=0,sumaw=0;
void main()
{
for (int i=0; i<N; i++)
for (int j=0; j<M; j++)
sumas+=a[i][j];
if (sumas>sumaw) sumaw=i;}
cout << "Wiersz o najwiekszej sumie ma numer: " << sumas << endl;
}



2. Dana jest macierz A o M wierszach i N kolumnach (M , N &#8804; 100). Czy jest to macierz różnowartościowa ? Jak to zrobic ? Najlepiej w stylu pdobnym jak powyżej bez żadnych skomplikowanych struktur ;)

Wielki dzięki za każdą pomoc.

  1. hmm , 0r8 21/11/05 19:34
    ad1.
    tablice sie okresla odwrotnie - tablica[kolumna][wiersz].
    w tej chwili wszystkie sumowania sa takie same.

    1. czyli jak ... , Rebel_1 21/11/05 19:38
      to powinno wyglądać??

      1. hmm , 0r8 21/11/05 20:23
        po porawkach:

        #include <iostream>
        using namespace std;

        typedef int Tab[8];
        typedef Tab Mac[9];
        Mac a={ 1,1,1,1,1,1,1,1,1,
        2,2,2,2,2,2,2,2,2,
        4,4,4,4,4,4,4,4,4,
        3,3,3,3,3,3,3,3,3,
        5,5,5,5,5,5,5,5,5,
        7,7,7,7,7,7,7,7,7,
        8,8,8,8,8,8,8,8,8,
        9,9,9,9,9,9,9,9,9
        };

        int M=8,N=9;
        int sumas=0,sumaw=0;


        int main()
        {

        for (int i=0; i<M; i++)
        for (int j=0; j<N; j++)
        {
        sumas+=a[j][i];
        if (sumas>sumaw){sumaw=i;sumas=0;}}
        cout << "Wiersz o najwiekszej sumie ma numer: " << sumaw << endl;

        system("PAUSE");
        }

        wszystko miales odwrotnie.

        1. hmm , 0r8 21/11/05 20:26
          tfu, bzdura.

          porownujesz sume elementow w wierszu do nr wiersza - co jest bezsensu.
          musisz dorobic jeszcze jedna zmienna.

          1. hmm , 0r8 21/11/05 20:28
            no i jeszcze jedna rzecz. wrzucic tutaj program do poprawek - ok.
            napisac cos na odpierdol na kolanie i czekac na napisanie tego od nowa?
            ee, kolego. do roboty.

  2. hmm , bartek_mi 21/11/05 19:41
    ktos wie....

    to sie kompiluje? nie wyglada...

    nie wnikajac w petle po czym one sa gdzie masz iwersze gdzie kolumny powinno byc tak
    tmp=0;
    max=0;
    int index=-1;
    //zakladamy ze w macierzy sa liczby tylko dodatnie...
    for(int i=0; i< M; i++) //po wierszach
    {

    for(int j=0; j<N; j++) //po kolumnach w danym wierszu
    {
    tmp+=tab[i][j];
    }
    if(tmp>max)
    {
    max=tmp;
    index=i;
    }
    }
    cout<<i;

    no jakos takos, circa about

    dzisiaj jest jutrzejszym wczoraj

    1. maly update , bartek_mi 21/11/05 19:42
      tmp=0;
      max=0;
      int index=-1;
      //zakladamy ze w macierzy sa liczby tylko dodatnie...
      for(int i=0; i< M; i++) //po wierszach
      {
      tmp=0; //tego brakowalo powyzej
      for(int j=0; j<N; j++) //po kolumnach w danym wierszu
      {
      tmp+=tab[i][j];
      }
      if(tmp>max)
      {
      max=tmp;
      index=i;
      }
      }
      cout<<i;

      dzisiaj jest jutrzejszym wczoraj

      1. bład... co zrobić... , Rebel_1 21/11/05 19:51
        Marcin fatal error LNK1104: cannot open file 'C:\Documents and Settings\Marcin\Moje dokumenty\Visual Studio Projects\Marcin\Debug\Marcin.exe'

  3. a zna ktoś rozwiązanie 2 zadania ?? , Rebel_1 21/11/05 20:08
    .......

    1. hmm , Zajkos 22/11/05 15:31
      pewnie nawet się nei skompiluje, ale co tam..

      const int N=200;
      const int M=100;
      int tab[N][M];

      bool Spr(void)
      int i=0;
      int *wsk=tab[0][0];
      while (i<N*M)
      {
      for (int j=i;j<N*M;j++)
      {
      if (*(wsk+i)==*(wsk+j)) return false;
      }
      i++;
      }
      return true;
      }

    
All rights reserved ® Copyright and Design 2001-2024, TwojePC.PL