Переписать в C из Pascal - C (СИ)
Формулировка задачи:
const n=6; m=5; var b,c:array[1..n] of integer; a:array[1..m,1..n] of integer; i,j,k,t:integer; begin clrscr; randomize; writeln('Massiv B:'); for i:=1 to n do begin b[i]:=i; write(b[i],' '); end; writeln; writeln; writeln('Matrica A:'); for i:=1 to m do begin for j:=1 to n do begin a[i,j]:=random(15); write(a[i,j]:4); end; writeln; end; i:=1; //берем очередное число из массмва В repeat t:=0; for j:=1 to m do for k:=1 to n do if a[j,k]=b[i] then //если встречаем его в маирице begin inc(t); //считаем c[t]:=j; //записываем в массив номер строки end; if (t>1)and(c[1]<>c[t])then writeln('Chislo ',b[i],' > 1 stroki');//если число более одного раза и номера строк в массиве разные, выводим сообщение inc(i); //переходим к следующему числу until i>n; //если массив закончился, завершаем readln end.
Решение задачи: «Переписать в C из Pascal»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <time.h> #define N 6 #define M 5 int main(void) { int a[M][N], b[N], c[N]; int i, j, k, t; srand((unsigned)time(NULL)); printf("Massiv B:\n"); for (i = 0; i < N; ++i) { b[i] = i; printf("%d ", b[i]); } printf("\n\n"); printf("Matrica A:\n"); for (i = 0; i < N; ++i) { for (j = 0; j < M; ++j) { a[i][j] = rand() % 15; printf("%4d", a[i][j]); } printf("\n"); } i = 0; do { t = -1; for (j = 0; j < M; ++j) for (k = 0; k < N; ++k) if (a[j][k] == b[i]) { ++t; c[t] = j; } if (t > 0 && c[0] != c[t]) printf("Chislo %d > 1 stroki\n", b[i]); ++i; } while (i < N); getchar(); return 0; }
Объяснение кода листинга программы
- Объявлены массивы a[M][N], b[N], c[N] для хранения данных.
- Выполняется инициализация генератора случайных чисел.
- Значения массива b[N] заполняются числами от 0 до N-1.
- Значения матрицы a[N][M] заполняются случайными числами от 0 до 15.
- Цикл do-while используется для поиска количества вхождений каждого числа из массива b[N] в матрицу a[N][M].
- В каждой итерации цикла do-while происходит поиск первого вхождения числа i из массива b[N] в матрице a[N][M].
- Если число i встречается в матрице a[N][M] более одного раза, то выводится сообщение
Chislo i > 1 stroki
. - После каждой итерации цикла do-while значение i увеличивается на единицу.
- В конце программы требуется ввод символа для завершения работы программы.
- Возвращается 0, что означает успешное завершение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д