|
Leülhetsz, fiam: egyes!
Írjon függvényt, amely paraméterként megkapja egy egészeket tartalmazó kvadratikus mátrix
(négyzet alakú kétdimenziós tömb) kezdőcímét, valamint egy pozitív n értéket, amely
a tömb oszlopainak számát jelöli! A mátrix az első n2 pozitív egész
számot tartalmazza. A függvény az eredeti tömb megváltoztatása nélkül hozzon létre egy új,
egészeket tartalmazó egydimenziós tömböt, töltse föl azt az eredeti mátrix azon sorának az
elemeivel, amelyben az 1-es érték szerepel, és adja vissza e tömb kezdőcímét!
A függvény specifikációja
int *sitdown( int *, int );
Megjegyzés
A függvényt helyezze a sitdown.c nevű állományba, és ezt az állományt küldje
be megoldásként a kiértékelő rendszernek! Megoldását az
alábbi három állomány segítségével tesztelheti. Megoldásának kiértékelését a tesztelő rendszer
nem feltétlenül ezeknek az állományoknak a felhasználásával végzi!
myheader.h
#ifndef _MYHEADER_H#define _MYHEADER_H 1int *sitdown( int *, int );#endif /* myheader.h */
letöltés szöveges állományként
main.c
#include <stdio.h>#include <stdlib.h>#include "myheader.h"#define N 5 int main(){ int t[ N ][ N ] = { { 2, 5, 24, 15, 3 }, { 17, 10, 6, 18, 14 }, { 19, 8, 20, 22, 16 }, { 12, 7, 1, 4, 25 }, { 11, 13, 21, 9, 23 } }; int i, j, *p; printf( "%d\n\n", N ); for ( i = 0; i < N; ++i ) { for ( j = 0; j < N; ++j ) { if ( j > 0 ) putchar( ' ' ); printf( "%d", t[ i ][ j ] ); } putchar( '\n' ); } putchar( '\n' ); p = sitdown( &t[ 0 ][ 0 ], N ); for ( i = 0; i < N; ++i ) { for ( j = 0; j < N; ++j ) { if ( j > 0 ) putchar( ' ' ); printf( "%d", t[ i ][ j ] ); } putchar( '\n' ); } putchar( '\n' ); for ( i = 0; i < N; ++i ) { if ( i > 0 ) putchar( ' ' ); printf( "%d", p[ i ] ); } putchar( '\n' ); free( p ); return EXIT_SUCCESS;}
letöltés szöveges állományként
Makefile
CC = gccOBJS = main.o sitdown.oTARGETS = mainall: $(TARGETS)main: main.o sitdown.o $(CC) main.o sitdown.o -o mainmain.o: main.c $(CC) -c main.csitdown.o: sitdown.c $(CC) -c sitdown.cclean: rm -rf $(OBJS) *~ $(TARGETS)
letöltés szöveges állományként
A fenti program kimenete
52 5 24 15 317 10 6 18 1419 8 20 22 1612 7 1 4 2511 13 21 9 232 5 24 15 317 10 6 18 1419 8 20 22 1612 7 1 4 2511 13 21 9 2312 7 1 4 25
letöltés szöveges állományként
|
|