#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void ent(int * arrayName, int arraySize) {
// int i; Так давно уже писать не нужно
for (int i = 0; i < arraySize; i++) {
printf("a[%i] = ", i);
scanf("%i", & arrayName[i]);
}
}
void proc(int * arrayName, int arraySize) {
int repeat = 0, maxRepeat = 0;
for (int i = 0; i < arraySize; ++i) {
if (checkSquareNumber(arrayName[i])) {
printf("%d - full square \n", arrayName[i]);
repeat++;
} else {
repeat = 0;
}
maxRepeat = repeat > maxRepeat ? repeat : maxRepeat;
}
printf("Max otrezok = %d \n", repeat); // Забыли как будет слово отрезок на английском?
}
int checkSquareNumber(int number) {
if (number == 0 || number == 1)
return 1;
if (number % 4 == 0 || number % 9 == 0)
return 1;
if (number % 8 == 1 || number % 3 == 1)
return 1;
return 0;
}
void printArray(int * arrayName, int arraySize) {
// int i; Так давно уже писать не нужно
for (int i = 0; i < arraySize; ++i) {
printf("%d ", arrayName[i]);
}
}
void main() {
int i;
int n; //
int squar = 0;
printf("Size Massive: "); // Забыли как будет слово массив на английском?
scanf("%d", & n);
int Arr[n];
ent(Arr, n);
printf("Array: ");
printArray(Arr, n);
printf("\n");
proc(Arr, n);
system("pause");
}
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
int main(int argc, char const *argv[])
{
int fd[2], fork_status1, fork_status2;
char buff[20], str_[32];
if(pipe(fd) == -1) {
fprintf(stderr, "pipe - error!\n");
exit(-1);
} else {
fork_status1 = fork();
if(fork_status1 == -1) {
fprintf(stderr, "fork1 - error!\n");
exit(-2);
} else if(fork_status1 == 0) {
fork_status2 = fork();
if(fork_status2 == -1) {
fprintf(stderr, "fork2 - error!\n");
exit(-2);
} else if(fork_status2 == 0) { // Child process(2)
printf("Write smth(2)...\n");
while(strcmp(str_, "exit")) {
fgets(str_, 30, stdin);
write(fd[1], str_, strlen(str_));
}
exit(0);
} else { // Child process(1)
printf("Write smth(1)...\n");
while(strcmp(str_, "exit")) {
fgets(str_, 30, stdin);
printf("%s", str_); //<-----------------------------------
write(fd[1], str_, strlen(str_));
}
exit(0);
}
} else { // Parent process
while(strcmp(buff, "exit")) {
read(fd[0], buff, strlen(str_));
if(strcmp(buff, "exit")) {
//printf("%s\n", buff);
}
}
close(fd[0]);
close(fd[1]);
exit(0);
}
}
return 0;
}