Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Збир на редици на матрица Problem 2 (2 / 2)
- Да се напише програма која ќе ги прочита елементите на една матрица сместени во текстуална датотека „matrica.txt“. Во првиот ред на датотеката се запишани бројот на редици и колони на матрицата, а потоа се запишани елементите на матрицата. Потребно е за секоја редица да го пресметате збирот на елементите и во текстуалната датотека „izlez.txt“ да се испечатат само оние збирови по редици коишто се поголеми од 10.
- Забелешка: Да не се менуваат дадените функции writeToFile() printFile(). Тие служат за креирање и проверка на потребните датотеки.*/
- #include <stdio.h>
- #define MAX 100
- void writeToFile() {
- FILE *f = fopen("matrica.txt", "w");
- char c;
- while((c = getchar()) != '#') {
- fputc(c, f);
- }
- fclose(f);
- }
- void printFile() {
- FILE *f=fopen("izlez.txt","r");
- char line[100];
- while(!feof(f)){
- fgets(line,100,f);
- if (feof(f))
- break;
- printf("%s",line);
- }
- fclose(f);
- }
- int main()
- {
- writeToFile();
- //vasiot kod tuka
- FILE *p1, *p2;
- char n;
- int h, b, m[MAX][MAX], red, kol, zbir = 0;//h-broj redici, b- broj koloni
- if((p1 = fopen("matrica.txt", "r")) == NULL)//proverka za otvaranje na datoteka
- {
- printf("Datotekata ne se otvora.");
- return -1;
- }
- fscanf(p1,"%d %d", &h, &b); //
- for(red=0;red<h&&!feof(p1);red++)
- {
- for(kol=0;kol<b&&!feof(p1);kol++)
- {
- fscanf(p1,"%d",&m[red][kol]);
- }
- }
- fclose(p1);
- p2 = fopen("izlez.txt", "w");
- for(red=0;red<h;red++)
- {
- for(kol=0;kol<b;kol++)
- {
- zbir+=m[red][kol];
- }
- if(zbir>10)
- {
- printf("%d\n", zbir);
- }
- zbir = 0;
- }
- fclose(p2);
- printFile();
- return 0;
- }
Add Comment
Please, Sign In to add comment