Ahoj lidi!
Potřeboval bych udělat k tomuhle programu v cečku algoritmus(vyvojový diagram) a testovací tabulku. Pro ty co programujou to bude asi brnkačka,ale pro mě to je brutus!Potřeboval bych to udělat co nejdřív!
dík!
Kód:#include<stdio.h> #include<stdlib.h> #include<math.h> #include<ctype.h> void zadejMatici(int matice[20][20],int*R,int*S); int ctiCislo(int N); int main() { int matice[20][20],R,S,sloupce[20],pocet=0; for (int r=0;r<20;r++) for (int s=0;s<20;s++) matice[r][s]= -35000; printf ("Zjistime ktere sloupce obsahuji stejna cisla.\n"); zadejMatici(matice,&R,&S); for (int s=1,test,j=0;s<S;s++) { for (int z=0;z<R;z++) { test=0; for (int r=0;r<R;r++) if (matice[z][0]== matice[r][s]) {test=1; break;} if (test==0) break; } if (test==1) {sloupce[j]=s; j++; pocet++;} } printf("\nShodne s prvnim sloupcem jsou sloupce:"); if (pocet) for (int i=0;i<pocet;i++) printf(" %d",sloupce[i]+1); else printf(" nejsou"); printf("\n\n"); system("PAUSE"); return 0; } void zadejMatici(int matice[20][20],int*R,int*S) { do { printf ("\nZadejte pocet radku: "); *R=ctiCislo(5); printf ("Zadejte pocet sloupcu: ");*S=ctiCislo(5); if (*R==-35000 || *S==-35000) {printf("nChyba! Lze zadavat pouze čísla.\n\n"); continue;} break; } while(1); printf("\n"); for (int r=0;r<*R;r++) for (int s=0;s<*S;s++) { printf("Zadejte prvek na %d radku a %d sloupci: ",r+1,s+1); matice[r][s]= ctiCislo(5); } } int ctiCislo(int N) { int cislo=0; char c[N]; double z=0; for (int j=0;j<N;j++) c[j]='\0'; scanf ("%s",&c); for (int j=N-1;j>=0;j--) { if (isdigit(c[j])) {cislo += (c[j]-48)*(int)pow(10,z); z++; } else if (c[0]!='-'&& c[j]!='\0') return -35000; } return cislo; }
jestli to někomu pomůže tak tady je zadání co to má dělat
Je dána matice (tj. dvourozměrné pole) kladných celých čísel velikosti N*N, N<20. Čísla tvořící matici jsou zadána po řádcích. Zjistěte, v kolika sloupcích matice jsou obsažena přesně stejná čísla, jako v prvním sloupci (nezáleží na pořadí čísel).
edit by Rainbow: code tag


Odpověď s citací


