Tomas1987 [ Konsul ]
Pomoc przy 2 programach w C++
Mam zadane z programowanie w c++ 2 zadania.
Poniżej zamieszczam treść zadania z c++, opis z czym mam problem oraz kody programów.
------------------------------------------------------------------------------------------
1
Dana jest dwuwymiarowa tablica liczb całkowitych, zadeklarowana jako
int t[N,M]; Zapisz program, który tworzy tablice jednowymiarowa s[M],
zawierająca sumy wszystkich kolumn tablicy t . Program wczytuje dane z klawiatury.
--------------------------------------------------------------------------------------------
2
Dana jest dwuwymiarowa, kwadratowa tablica liczb całkowitych, zadeklarowana
globalnie jako int t[N,N]; Zapisz funkcje, która oblicza i zwraca poprzez wartość,
sumę elementów leżących na głównej przekątnej tablicy. Zapisana funkcje
przetestować w funkcji main( ). Tablice wypełnić losowo wartościami 0 lub 1.
---------------------------------------------------------------------------------------------
W zadaniu pierwszym nie umiem sobie poradzić z przepisaniem sumy kolumn do tablicy s[M].
Zadaniu 2 mam problem z napisaniem funkcji sumującej luczby na przekątnej.
!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@
KOD z zadania 1:
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
‹
int N;
int M;
int t[N][M];
int s[M];
int b;
cout<<"Podaj liczbe wierszy i kolumn.\n\n";
cout<<"Podaj liczbe wierszy N: ";
cin>>N;
cout<<endl;
cout<<"Podaj liczbe kolumn M: ";
cin>>M;
cout<<endl;
cout<<"Wprowadzaj elementy kolejno wierszami\n";
for(int i=0;i<N;i++)
for(int j=0;j<M;j++)
cin>>t[j];
cout<<endl;
for(int i=0;i<N;i++)
‹
for(int j=0;j<M;j++)
cout<<t[j]<<" ";
cout<<endl;
›
for(int i=0;i<N;i++)
for(int j=i+1;j<M;j++)
b=t[j];
cout<<b;
system("PAUSE");
return EXIT_SUCCESS;
›
@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@
KOD z zad 2:
#include <cstdlib>
#include <iostream>
#include <stdlib.h>
using namespace std;
int N;
int suma=0;
void sumaa()
‹
int t[N][N];
for(int i=0; i<N; i++)
for(int j=i+1; j<N; j++)
suma=suma+t[j];
cout<<suma<<endl;
›
int main(int argc, char *argv[])
‹
srand(static_cast<unsigned>(time(0)));
int t[N][N];
cout<<"Podaj liczbe pol tablicy kwadratowej: ";
cin>>N;
for(int i=0;i<N;i++)
for(int j=0;j<N;j++)
t[j]=rand()%15;
for(int i=0;i<N;i++)
‹
for(int j=0;j<N;j++)
cout<<t[j]<<" ";
cout<<endl;
›
sumaa();
system("PAUSE");
return EXIT_SUCCESS;
›
Z góry dziękuje.
ribald [ Generaďż˝ ]
Tu masz 1 zadanie, porównaj sobie i zobacz co masz źle. Mi się nie chce wczytywać w Twój kod, łatwiej napisać od nowa samemu :)
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
‹
int n,m;
cout << "Podaj ilosc kolumn: " << endl;
cin >> n;
cout << "Podaj ilosc wierszy: " << endl;
cin >> m;
cout << endl;
int t[n][m];
int s[m];
//wypelnienie tablicy wartosciami
for(int i=0;i<n;i++)
‹
for(int j=0;j<m;j++)
‹
cout << "Podaj kolejny element tablicy: ";
cin >> t[j];
›
›
cout << endl;
//wyswietlenie tablicy
for(int i=0;i<n;i++)
‹
for(int j=0;j<m;j++)
‹
cout << " " << t[j];
›
cout << endl;
›
cout << endl;
//przypisanie sumy kolumn do tablicy jednowymiarowej
int suma=0;
for(int i=0;i<n;i++)
‹
for(int j=0;j<m;j++)
‹
suma+=t[j];
›
s=suma;
suma=0;
›
//wyswietlenie tablicy s
for(int i=0;i<n;i++)
cout << s << " ";
cout << endl;
system("PAUSE");
return EXIT_SUCCESS;
›
Zaraz luknę następne zadanie.
Edit: ale kupa, wszystkie wcięcia zjadło :(
ribald [ Generaďż˝ ]
Kurde edit sie skonczył a widzę, że jak w nawiasie kwadratowym jest "i" to skrypt forumowy przerabia tekst na kursywę...
Wkleję jeszcze raz i dam w okrągłe nawiasy.
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
int n,m;
cout << "Podaj ilosc kolumn: " << endl;
cin >> n;
cout << "Podaj ilosc wierszy: " << endl;
cin >> m;
cout << endl;
int t[n][m];
int s[m];
//wypelnienie tablicy wartosciami
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
cout << "Podaj kolejny element tablicy: ";
cin >> t(i)[j];
cout << endl;
//wyswietlenie tablicy
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
cout << " " << t(i)[j];
cout << endl;
cout << endl;
//przypisanie sumy kolumn do tablicy jednowymiarowej
int suma=0;
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
suma+=t[j](i);
s(i)=suma;
suma=0;
//wyswietlenie tablicy s
for(int i=0;i<n;i++)
cout << s(i) << " ";
cout << endl;
system("PAUSE");
return EXIT_SUCCESS;
Tomas1987 [ Konsul ]
dzięki wielkie, jakbyś mail czas prosił bym o 2 zadanie;P
ribald [ Generaďż˝ ]
Na śmierć zapomniałem :) Potrzebne Ci jeszcze?