Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.02.2014, 16:18   #1
dimon198909
Пользователь
 
Регистрация: 09.11.2013
Сообщений: 12
По умолчанию работа с табличными данными

добрый день. прошу оказать помощь в след задании. задача такова:
есть таблица с данными темпы роста продуктивности труда работников в промышленности для сша, англии и франции. состоит из 4х строк данных. задача : вывести данные по году когда разница в темпах роста производства между англией и францией была максимальной? [год, прирост, разница].
подскажие, что не так в моем коде (кроме некоторого лишнего, оно нужно для задания в других пунктах)

Код:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include 
#define N 100
#define LN 20
#define LC 15
#define LG_I 66
#define LG_V 51
main ()
  { struct growth_rate           /* структурний тип начальной таблицы: */
           { int yaear;          /* годы */
             int USA;            /* США */
             int UK;             /* Англия */
             int FRA;            /* Франция */
          };
/* начальные данные */
int n;                           /* К-во строк таблицы */ 
struct growth_rate c[N];         /* начальная таблица */
struct growth_rate  rab;         /* робоча змінна цього ж типу */
/* результаты*/
struct 
{
int yaear;          /* годы */
int UK;             /* Англия */
int FRA;            /* Франция */
int diff;           /* разница в темпах */
float pct;          /* прирост в % */
}
c_rab[N];        /* таблица результат */
/* промежуточные данные */
int i;                 /* индекс элемента таблицы */
int diff_1928;         /* разница в 1928 год */
int diff_1940;         /* разница в 1940 год */
int diff_1950;         /* разница в 1950 год */
int diff_1955;         /* разница в 1955 год */
int pr;                /* признак коррекности ввода данных */
/* відкреслювання при виведеннi початкової таблиці: */ 
char sg_icx[LG_I+1]=
"------------------------------------------------------------";
/* відкреслювання при виведеннi таблиці-результату: */ 
char sg_vix[LG_V+1]=
"-------------------------------------------------";
/* ========= проверка ограничений =========== */
/* ------------------ для колличества строк в таблице --------------- */
     do
        { printf ( "Введите колличество строк (не больше, чем %d):", n);
          scanf( %d, &"n);
          if (n<4 ¦¦ n>4)
             {pr=1;  printf( "Введены не все данные!\n");
             }
         else pr=0;
       }
     while(pr);
/* ------------------ для элементов таблиц данных --------------- */
	 printf( "Введите данные таблицы\n");
     printf( %s\"n", sg_icx);
	 printf(" !    YEARS    !    USA     !    UK    !      FRA        \n");
     printf(“%s\n", sg);
do
{ for (int i = 0; i < n; i++)
{printf("! %d," i+1);
	 scanf( %f, "c[i].yaear);
	 scanf( %f, "c[i].USA);
	 scanf( %f, "c[i].UK);
	 scanf( %f, "c[i].FRA);
	 if(c[i].yaear<0 || c[i].USA<0 || c[i].UK)<0 || c[i].FRA<0)
                  {pr=1;
                    printf( "Ви помилилися! Повторіть введення\n");
                    i--;
                  }
              else pr=0;
            }
        }
while(pr);
printf( %s\"n", sg_icx);
/* ======== ЗДІЙСНИМА ЧАСТИНА АЛГОРИТМУ ====== */
diff_1928:=c[0].FRA-c[0].UK;
diff_1940:=c[1].FRA-c[1].UK;
diff_1950:=c[2].FRA-c[2].UK;
diff_1955:=c[3].FRA-c[3].UK;
if (diff_1928>diff_1940) {printf("! year   !   UK  !    FRA     !   difference\n");
                          printf( %s\"n", sg_icx);
						  printf( "! c[0].year  !   c[0].UK  !    c[0].FRA    !   diff_1928\n");
}
else if (diff_1940>diff_1950) {printf("! year   !   UK  !    FRA     !   difference\n");
                          printf( %s\"n", sg_icx);
						  printf( "! c[1].year  !   c[1].UK  !    c[1].FRA    !   diff_1940\n");
}
else if (diff_1950>diff_1955) {printf("! year   !   UK  !    FRA     !   difference\n");
                          printf( %s\"n", sg_icx);
						  printf( "! c[2].year  !   c[2].UK  !    c[2].FRA    !   diff_1950\n");
}
else                     {printf("! year   !   UK  !    FRA     !   difference\n");
                          printf( %s\"n", sg_icx);
						  printf( "! c[3].year  !   c[3].UK  !    c[3].FRA    !   diff_1955\n");
}

Последний раз редактировалось MaTBeu; 24.02.2014 в 14:24.
dimon198909 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с данными на R Liagushka Помощь студентам 0 11.03.2012 15:44
РАБОТА С ТАБЛИЧНЫМИ ДАННЫМИ НА Си unknownspace Общие вопросы C/C++ 6 22.12.2011 08:19