30.04.2014, 16:02 | #11 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
|
30.04.2014, 16:02 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
В похожих темах обычно много интересных советов Работа с массивами на ассемблере Работа с массивами Две задачи с массивами в Паскале Паскаль. Работа с двумерными массивами |
01.05.2014, 02:02 | #12 (permalink) |
Member
Регистрация: 05.03.2014
Сообщений: 200
Сказал(а) спасибо: 2
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 834
|
на Си тоже пишу редко. на паскале вот...
это 3 задание... Код:
const n = 5; m = 5; var i, j, k: byte; sum, tmp: real; mas: array[0..n-1, 0..m-1] of real; mas_sum: array [0..m-1] of real; begin randomize(); writeln('Input mas:'); // do mas for i:= 0 to n-1 do for j:= 0 to m-1 do mas[i, j]:= -10 + random(20); // show mas, calc row sum and write mas_sum for i:= 0 to n-1 do begin sum:= 0; for j:= 0 to m-1 do begin write(mas[i, j]:4:0); sum:= sum + mas[i, j]; end; writeln; mas_sum[i]:= sum; end; // show mas_sum writeln('Massive of Sum:'); for i:= 0 to n-1 do write(mas_sum[i]:4:0); //sort by puzir for i:= 0 to n-1 do for j:= 0 to n-i do if mas_sum[j] > mas_sum[j+1] then begin tmp:= mas_sum[j]; mas_sum[j]:= mas_sum[j+1]; mas_sum[j+1]:= tmp; // change row for k:= 0 to m-1 do begin tmp:= mas[j, k]; mas[j, k]:= mas[j+1, k]; mas[j+1, k]:= tmp; end; // for end; // if // show sorted mas writeln; writeln('Output mas:'); for i:= 0 to n-1 do begin for j:= 0 to m-1 do write(mas[i, j]:4:0); writeln; end; // show sotred mas_sum writeln('Massive of Sum:'); for i:= 0 to n-1 do write(mas_sum[i]:5:0); readln; end. |
02.05.2014, 14:45 | #13 (permalink) |
Member
Регистрация: 16.05.2010
Сообщений: 1,194
Сказал(а) спасибо: 0
Поблагодарили 4 раз(а) в 1 сообщении
Репутация: 1649
|
Результат:
Код:
#include <iostream> #include <stdio.h> #include <conio.h> void main() { int i, n, m, j, k; double B[10], A[10][10], sum, proiz, tmp; m = 4; n = 5; A[1][1] = -9.6; A[1][2] = 2.5; A[1][3] = 5.4; A[1][4] = -9.9; A[1][5] = 1.7; A[2][1] = -7.5; A[2][2] = -7.6; A[2][3] = 8.5; A[2][4] = 8.8; A[2][5] = 1.1; A[3][1] = 9.2; A[3][2] = -3.9; A[3][3] = 2.1; A[3][4] = 2.2; A[3][5] = 4.5; A[4][1] = 9.4; A[4][2] = 7.3; A[4][3] = -4.5; A[4][4] = 4.3; A[4][5] = -7.5; cout << endl << endl << endl; cout << " Matrix before" << endl << endl; for (i = 1; i <= m; i++) { printf(" "); for (j = 1; j <= n; j++) printf("%3.1f ", A[i][j]); printf("\n"); } cout << endl << endl << endl; cout << " Matrix Sum" << endl << endl; sum = 0; for (i = 1; i <= m; i++) { for (j = 1; j <= n; j++) { sum += A[i][j]; } printf(" "); cout << "Sum " << sum << " "; sum = 0; cout << endl; } proiz = 1; for (i = 1; i < m; i++) for (j = 1; j<n; j++) { if (A[i][j]>0) proiz *= A[i][j]; } cout << endl << endl << endl; cout << " Matrix Proizv" << endl << endl; printf(" "); cout << proiz << endl; for (i = 1; i <= m; i++) { sum = 0; for (j = 1; j <= n; j++) { sum = sum + A[i][j]; } B[i] = sum; //cout << B[i]; //printf(" "); } for (j = 1; j<=m-1; j++) if (B[j] > B[j + 1]) { //cout << B[j]; //printf(" "); tmp = B[j]; B[j] = B[j + 1]; B[j+1] = tmp; for (k = 1; k <= n; k++) { //cout << A[j][k]; //cout << A[j+1][k]; printf(" "); tmp = A[j][k]; A[j][k] = A[j + 1][k]; A[j + 1][k] = tmp; } } cout << endl << endl << endl; cout << " Matrix after" << endl << endl; for (i = 1; i <= m; i++) { printf(" "); for (j = 1; j <= n; j++) printf("%3.1f ", A[i][j]); printf("\n"); } _getch(); } Всем большое спасибо!!! |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|