Wcześniej pisałem na szybko i zjadłem ";", ale głównie chodzi mi o wykonanie switch w programie poniżej. Wcześniej na if mi działał, a teraz nie mogę go odpalić i nie wiem co musze poprawić
Kopiuj
#include <stdio.h>
#include <stdlib.h>
int tab[10][10],i,n,j,x,w_k,suma,numer,suma_ponizej,suma_powyzej,menu;
int pytanie;
int main()
{
do
{
srand(time(NULL));
printf("Wybierz wielkosc macierzy (max 10x10): ");
scanf("%d",&n);
if (n<10)
{
suma_ponizej==0;
for (i=1;i<=n;++i)
{
for (j=1;j<=n;++j)
{
tab[i][j]=rand()%100;
if (i>j)
suma_ponizej=suma_ponizej+tab[i][j];
if (i<j)
suma_powyzej=suma_powyzej+tab[i][j];
}
}
for (i=1;i<=n;++i)
{
for (j=1;j<=n;++j)
{
printf("%.2d ",tab[i][j]);
}
printf("\n");
}
puts("1 - Suma wartosci ponizej przekatnej");
puts("2 - Suma wartosc powyzej przekatnej");
puts("3 - Suma wierszy lub kolumn");
puts("0 - Zakoncz program!");
scanf("%d",&menu);
switch(menu);
case 1:
{
for (i=1;i<=n;++i)
{
for (j=1;j<=n;++j)
{
if (i>j)
printf("%.2d ",tab[i][j]);
else printf(" ");
}
printf("\n");
}
printf("Suma: %d\n",suma_ponizej);
}break;
case 2:
{
for (i=1;i<=n;++i)
{
for (j=1;j<=n;++j)
{
if (i<j)
printf("%.2d ",tab[i][j]);
else printf(" ");
}
printf("\n");
}
printf("Suma: %d\n",suma_ponizej);
}break;
case 3:
{
printf("1 - Suma wiersza\n2 - Suma kolumny\n");
scanf("%d",&x);
if (x==1)
{
printf("Podaj numer wiersza:\n");
scanf("%d",&numer);
suma=0;
for (i=1;i<=n;++i)
{
for (j=1;j<=n;++j)
{
if (i==numer)
{
suma=suma+tab[i][j];
printf("%.2d ",tab[i][j]);
}
}
}
printf("\nSuma wiersza %d: %d",numer,suma);
}
if (x==2)
{
printf("Podaj numer kolumny:\n");
scanf("%d",&numer);
suma=0;
for (i=1;i<=n;++i)
{
for (j=1;j<=n;++j)
{
if (j==numer)
{
suma=suma+tab[i][j];
printf("%.2d \n",tab[i][j]);
}
}
}
printf("\nSuma kolumny %d: %d",numer,suma);
}
}break;
default :printf("koniec");
}
else printf("Podales zly zakres macierzy !");
do
{
printf("\n0 - wykonaj ponownie\n1 - zamknij program\n");
scanf("%d",&pytanie);
if (pytanie>=2)
{
printf("Podales zla liczbe!");
}
}while((pytanie>=2));
}while (pytanie==0);
return 0;
}