mishchenko07
11.02.2020 08:39

Найти ошибки вот : #include #include #include #include #include int main() { int chislo_slov; //число слов int dlia_vvoda_chisla_slov; for(dlia_vvoda_chisla_slov=0; dlia_vvoda_chisla_slov< 1; ){ printf("vvedite chislo slov: "); scanf("%d",& chislo_slov); if (chislo_slov< = 10000 and chislo_slov> =2){ printf("chislo slov: %d\n",chislo_slov); //кол-во строк printf("vvedite slova cherez enter: "); dlia_vvoda_chisla_slov++; } else printf("povtorite popitku\n"); } char **massiv_vvodimih_slov=(char**)malloc(chislo_slov*sizeof(char)); for (int i=0; i massiv_vvodimih_slov[i]=(char*)malloc(100*sizeof(char)); for(int i=0; i char *vvodimoe_slovo; vvodimoe_slovo = (char*)malloc(100 * sizeof(char)); scanf("%s",vvodimoe_slovo ); *massiv_vvodimih_slov[i]=*vvodimoe_slovo; } int vse_slova; int rifma1=0; int rifma2=0; int pervoe_slovo=0; int vtoroe_slovo=0; char **massiv_vivoda; *massiv_vivoda = (char *)malloc(2 * sizeof(char)); for(int z=0; z< 2; z++) massiv_vivoda[z]=(char*)malloc(1000*sizeof(char)); for( vse_slova=0,vtoroe_slovo=0,pervoe_slovo=0; vse_slova { if(vtoroe_slovo { int slovo1=strlen(massiv_vvodimih_slov[pervoe_slovo]); int slovo2=strlen(massiv_vvodimih_slov[vtoroe_slovo]); if(pervoe_slovo! =vtoroe_slovo){ for(int g=0,p=1,y=slovo1-p,i=slovo2-p; g==0 and y> =0 and i> =0; ){ if(massiv_vvodimih_slov[pervoe_slovo][y]==massiv_vvodimih_slov[vtoroe_slovo][i]){ rifma1++; p++; } else{ if(rifma1> rifma2){ rifma2=rifma1; rifma1=0; *massiv_vivoda[0]=*massiv_vvodimih_slov[pervoe_slovo]; *massiv_vivoda[1]=*massiv_vvodimih_slov[vtoroe_slovo]; } else{ g++; vse_slova++; else vtoroe_slovo++; } else{ vtoroe_slovo=0; pervoe_slovo++; } } int m=0; if(rifma2==0) printf("u slov net rifmi"); else{ printf("dlinna rifmi: %d,\n",rifma2); printf("u slov %s i %s",massiv_vivoda[m],massiv_vivoda[m+1]); } }

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
руслан797
24.03.2022 04:47

int RowWithMax(double m[n][n], int j)

{

   double max_el = m[j][j];

   int max_i = j;

   for (int i = j; i < n; i++)

   {

       if (abs(m[i][j]) > abs(max_el))

       {

           max_el = m[i][j];

           max_i = i;

       }

   }

   return max_i;

}

 

void RowChange(double m[n][n], double f[n], int i1, int i2)

{

   for (int j = 0; j < n; j++)

   {

       /*m[i1][j] = m[i1][j] + m[i2][j];

       m[i2][j] = m[i1][j] - m[i2][j];

       m[i1][j] = m[i1][j] - m[i2][j];*/

       swap(m[i1][j], m[i2][j]);

   }

   

   swap(f[i1], f[i2]);

}

 

double StraightRun(double m[n][n], double f[n], int i) //прямой метод

{

   double el;

   double det = 1;

   int reverse = 0;

 

   int max_i = RowWithMax(m, i);

   if (i != max_i)

   {

       RowChange(m, f, i, max_i);

       //reverse++;

       det *= (-1);

   }

   el = m[i][i];

   det *= el;

   f[i] /= el;

   for (int i1 = n - 1; i1 >= i; i1--)

   {

       m[i][i1] /= el;

   }

   for (int i2 = i + 1; i2 < n; i2++)

   {

       el = m[i2][i];

       f[i2] -= f[i] * el;

       for (int j = n - 1; j >= i; j--)

       {

           m[i2][j] -= el * m[i][j];

       }

   }

 

 

   return det/**pow(-1, reverse)*/;

 

}

0,0(0 оценок)
Ответ:
pershikovanata
28.03.2020 11:56

программа с комментариями, если все равно не понятно спрашивай

для проверки программы рекомендую n поставить где нибудь на 10 потому что вводить 1000 чисел с клавиатуры то еще удавольствие :))

числа можно вводить по одному или одной строкой через пробел

const

   n = 1000; // длина массива

var

   d : array of integer := new integer[n]; // объявляем и создаем массив

   a, b : integer;

   

begin

   // вводим числа в массив //

   writeln('введите данные в массив:');

   for var i := 0 to n-1 do begin

       read(a);

       d[i] := a;

   end;

   writeln('введен массив d=', d); // выводим массив на экран

   // переворачиваем данные в массиве                                //

   // для этого меняем первое с последним, второе с предпоследним    //

   // и так до середины                                              //

   for var i := 0 to (n div 2)-1 do begin

       a := d[i];

       d[i] := d[n-i-1];

       d[n-i-1] := a;

   end;

   writeln('переворачиваем массив d=', d); // выводим перевернутый массив

   write('числа у которых первая цифра больше последней:');

   // ищем и ввыводим числа с заданным условием //

   for var i := 0 to n-1 do begin

       // находим чему равна 1 цифра //

       b := d[i];

       repeat

           b := b div 10;

       until b < 10;

       if b > d[i] mod 10 then write(' ', d[i]); // сравниваем первую и последнюю цифры и ели первая больше то выводим число

   end;

end.

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота