Witam. Napisałem program, który według mnie działa poprawnie, jednak coś jest nie tak. Chodzi o brak znaku nowej linii gdzieś czy o co chodzi?
LINK: http://pl.spoj.com/problems/PTSUMY/
#include <iostream>
using namespace std;
int ZESTAWY;
int main()
{
cin >> ZESTAWY;
for(int n=0; n<ZESTAWY; n++)
{
int liczba;
cin >> liczba;
int ilosc_skladnikow = liczba;
int skladniki[liczba];
int pozycja = liczba-1;
for(int n2=0; n2<ilosc_skladnikow; n2++)
skladniki[n2] = 1;
while(ilosc_skladnikow)
{
///=========================
for(int n2=0; n2<ilosc_skladnikow; n2++)
cout<<skladniki[n2]<<" ";
cout<<endl;
///=========================
if(ilosc_skladnikow == 1)
{
break;
}
else
{
if(skladniki[ilosc_skladnikow-2]+2 > skladniki[ilosc_skladnikow-1])
{
skladniki[ilosc_skladnikow-2] = skladniki[ilosc_skladnikow-2] + skladniki[ilosc_skladnikow-1];
ilosc_skladnikow--;
}
else
{
skladniki[ilosc_skladnikow-2] += 1;
skladniki[ilosc_skladnikow-1] -= 1;
}
}
}
cout<<endl;
}
}
Taki sam problem mam z zadaniem: http://pl.spoj.com/problems/PP0602B/
#include <iostream>
using namespace std;
int ZESTAWY;
int main()
{
cin >> ZESTAWY;
for(int n=0; n<ZESTAWY; n++)
{
///========================================================
int WIERSZE, KOLUMNY;
cin >> WIERSZE >> KOLUMNY;
int TAB[KOLUMNY][WIERSZE];
for(int y=0; y<KOLUMNY; y++)
for(int x=0; x<WIERSZE; x++)
cin >> TAB[y][x];
///========================================================
int x=0, y=0, pierwsza;
pierwsza = TAB[0][0];
for(int postep=0; postep<(KOLUMNY*2 + WIERSZE*2 - 4); postep++)
{
if(y==0 && x<WIERSZE-1){
TAB[y][x] = TAB[y][x+1];
x++;
}else
if(x==WIERSZE-1 && y<KOLUMNY-1){
TAB[y][x] = TAB[y+1][x];
y++;
}else
if(y==KOLUMNY-1 && x>0){
TAB[y][x] = TAB[y][x-1];
x--;
}else
if(x==0 && y>0){
TAB[y][x] = TAB[y-1][x];
y--;
}
}
TAB[1][0] = pierwsza;
for(int y=0; y<KOLUMNY; y++){
for(int x=0; x<WIERSZE; x++){
cout << TAB[y][x] << " ";
}
cout << endl;
}
}
}