Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <math.h>
- #define SIZE 10
- FILE *inputFile, *outputFile;
- float globalArray[SIZE];
- void someFunc(int flag);
- int main(int argc, char * argv[])
- {
- float localArray[SIZE];
- int hand_input=0;
- int i;
- int step=0;
- printf("Название университета и номер работы\n");
- getchar();
- if (argc<2 || argc >3)
- {
- hand_input=1;
- }
- outputFile = fopen(argv[1], "w");
- if (outputFile==NULL)
- {
- perror("\nВозникла ошибка при открытии файла!");
- printf("Дальнейшая работа программы невозможна\n");
- return -1;
- }
- inputFile = fopen(argv[2], "r");
- if (inputFile==NULL)
- {
- hand_input=1;
- }
- printf("\nНеинициализированные массивы:\n");
- fprintf(outputFile, "\nНеинициализированные массивы:\n");
- printf("\n--------Глобальный массив----------\n");
- fprintf(outputFile, "\n--------Глобальный массив----------\n");
- printf("%-10s|%-15s|%-15s", "Number", "Value", "Address");
- fprintf(outputFile, "%-10s|%-15s|%-15s", "Number", "Value", "Address");
- for (i=0; i<SIZE; i++)
- {
- printf("\n%-10d|%f|%-15p", i, globalArray[i], &globalArray[i]);
- fprintf(outputFile, "\n%-10d|%-15d|%-15p", i, globalArray[i], &globalArray[i]);
- }
- printf("\n\n--------Локальный массив----------\n");
- fprintf(outputFile, "\n\n--------Локальный массив----------\n");
- printf("%-10s|%-15s|%-15s", "Number", "Value", "Address");
- fprintf(outputFile, "%-10s|%-15s|%-15s", "Number", "Value", "Address");
- for (i=0; i<SIZE; i++)
- {
- printf("\n%-10d|%%f|%-15p", i, localArray[i], &localArray[i]);
- fprintf(outputFile, "\n%-10d|%-15d|%-15p", i, localArray[i], &localArray[i]);
- }
- someFunc(0);
- char buf[20]; int flag;
- i=0;
- if(hand_input==0){
- printf("\n----------Ввод из файла--------\n");
- while (!feof(inputFile))
- {
- if (i>SIZE) break;
- if (fgets(buf, 20, inputFile)==NULL) break;
- flag=sscanf(buf, "%f", &globalArray[i]);
- int tmp=0;
- int* p=&tmp;
- if ((flag==0) || (globalArray[i]<-50) || (globalArray[i]>50) || (globalArray[2]-globalArray[1]==globalArray[3]-globalArray[2]))
- {
- step=globalArray[2]-globalArray[1];
- globalArray[i]=globalArray[0]; ///Ну или 1
- }
- if (globalArray[i]<-50 || globalArray[i]>50 || (globalArray[i]!=globalArray[i-1]+step))
- {
- printf("\nВ массив будет введен 0");
- globalArray[i]=localArray[i]=0;
- i++;
- continue;
- }
- localArray[i]=globalArray[i];
- printf("\n%f", globalArray[i]);
- i++;
- }
- } else{
- for(i=0;i<SIZE;i++){
- printf("\n----------Ввод с клавиатуры--------\n");
- flag=scanf("%f", &globalArray[i]);
- int tmp=0;
- int* p=&tmp;
- if ((i=0) || (i=1) || (i=2))
- {
- globalArray[i]=localArray[i];
- }
- if (i=2)
- {
- if (globalArray[1]-globalArray[0]==globalArray[2]-globalArray[1])
- {
- step=(globalArray[2]-globalArray[1]);
- }
- else
- {
- printf("Последовательность не существует");
- return -1;
- }
- if ((flag==0) || (globalArray[i]<-50) || (globalArray[i]>50) || (globalArray[i]!=globalArray[i-1]+step))
- {
- printf("\nВ массив будет введен 0");
- globalArray[i]=localArray[i]=0;
- continue;
- }
- localArray[i]=globalArray[i];
- printf("\n%f", globalArray[i]);
- }
- }
- someFunc(1);
- printf("\nИнициализированные массивы:\n");
- fprintf(outputFile, "\nНеинициализированные массивы:\n");
- printf("\n--------Глобальный массив----------\n");
- fprintf(outputFile, "\n--------Глобальный массив----------\n");
- printf("%-10s|%-15s|%-15s", "Number", "Value", "Address");
- fprintf(outputFile, "%-10s|%-15s|%-15s", "Number", "Value", "Address");
- for (i=0; i<SIZE; i++)
- {
- printf("\n%-10d|%-15d|%-15p", i, globalArray[i], &globalArray[i]);
- fprintf(outputFile, "\n%-10d|%f|%-15p", i, globalArray[i], &globalArray[i]);
- }
- printf("\n\n--------Локальный массив----------\n");
- fprintf(outputFile, "\n\n---------Локальный массив----------\n");
- printf("%-10s|%-15s|%-15s", "Number", "Value", "Address");
- fprintf(outputFile, "%-10s|%-15s|%-15s", "Number", "Value", "Address");
- for (i=0; i<SIZE; i++)
- {
- printf("\n%-10d|%-15d|%-15p", i, localArray[i], &localArray[i]);
- fprintf(outputFile, "\n%-10d|%f|%-15p", i, localArray[i], &localArray[i]);
- }
- someFunc(0);
- fflush(outputFile);
- fclose(inputFile);
- fclose(outputFile);
- printf("--------Конец программы------");
- return 0;
- }
- void someFunc(int flag)
- {
- float localizedArray[SIZE];
- int i;
- if (flag==0)
- {
- printf("\n\n--------Локальный массив----------\n");
- printf("%-10s|%-15s|%-15s", "Number", "Value", "Address");
- fprintf(outputFile, "\n\n--------Локальный массив----------\n");
- fprintf(outputFile, "%-10s|%-15s|%-15s", "Number", "Value", "Address");
- for (i=0; i<SIZE; i++)
- {
- printf("\n%-10d|%-15d|%-15p", i, localizedArray[i], &localizedArray[i]);
- fprintf(outputFile, "\n%-10d|%f|%-15p", i, localizedArray[i], &localizedArray[i]);
- }
- printf("\n");
- fprintf(outputFile, "\n");
- }
- else
- {
- for (i=0; i<SIZE; i++)
- {
- localizedArray[i] = globalArray[i];
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment