PDA

Просмотр полной версии : Крик о помощи!



Наташа
14.12.2007, 22:39
Помогите, если кто-либо сможет, П-о-ж-а-л-у-й-с-т-а!!!!!
Сыну нужно срочно сдать 2 лабы по информатике к пятнице, иначе он может завалить семестр!(1 курс)
язык - borland c++
1)
В двумерном N*K массиве целых чисел упорядочить строки в порядке убывания среднего арифметического элементов строки.
2)
Для длинного целого числа N определить, если возможно, номер двоичного разряда, для которого выполняется условие:число единичных разрядов справа от него равно числу единичных разрядов слева от него.

srv
17.12.2007, 19:22
/* задание 1 */

const m = 3; /* количество строк матрицы */
const k = 4; /* количество столбцов матрицы */

int i,j,l;
int matr[m][k]; /* матрица - двумерный массив m на k */
double vec[m]; /* вектор (одномерный массив) среднеарифметических значений по строкам*/
double buf;

/*-------------------------------------------------------
Ввод матрицы (matr) m-строк, k-столбцов (организовать самостоятельно)

например:

matr[0][0] = 1;
matr[0][1] = 2;
matr[0][2] = 3;
matr[0][3] = 3;

matr[1][0] = 8;
matr[1][1] = 5;
matr[1][2] = 1;
matr[1][3] = 6;

matr[2][0] = 2;
matr[2][1] = 5;
matr[2][2] = 6;
matr[2][3] = 3;

или с экрана
---------------------------------------------------------*/

/* нахождение среднеарифметического по строкам*/
for (i=0; i<=m-1; i++)
{
vec[i] = 0;
for (j=0; j<=k-1; j++)
vec[i] = vec[i] + matr[i][j];
vec[i] = vec[i] / k;
}

/* сотрировка по убыванию */
for (i=0; i<=m-1-1; i++)
for(j=0; j<=m-1-1; j++)
if (vec[j] < vec[j+1])
{
buf = vec[j];
vec[j] = vec[j+1];
vec[j+1] = buf;

for (l=0; l<=k-1; l++)
{
buf = matr[j][l];
matr[j][l] = matr[j+1][l];
matr[j+1][l] = buf;
}
}

/* Вывод отсортированной матрицы (matr) m-строк, k-столбцов (организовать самостоятельно)*/

Наташа
17.12.2007, 20:26
*thumb* СПАСИБО!!!*ggg* СПА:) СИ:D БО*jgesh*

srv
18.12.2007, 13:30
/* задание 2, если я правильно всё понял)))
вводимое число положительное! От 0 до 4294967295 (32 бит) - unsigned long

я здесь обитаю http://irc.pestovo.net */

//---------------------------------------------------------------------------

#include <vcl.h>
#include <stdio.h> /* printf, gets */
#include <stdlib.h> /* atoi */
#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused
int main(int argc, char* argv[])
{
printf(" * zadanie 2 *\n");

char p[80];
int i,j,k,kl,kr;
unsigned long n,st; /* 0..4294967295 (32 бит)*/

String s = "";

/* Ввод длинного целого пользователем (->Enter) */
printf("\nvvod n [0..4294967295]: ");
gets(p);
n = atol(p);

/* Перевод введённого числав двоичнйй вид */
for (i=0; i<=32-1; i++)
{
st = 1;
if (i!=0) for (j=0; j<=i-1; j++) st = st*2;

if ((n & st) != 0) s=s+"1";
else s=s+"0";
}

printf("\n01234567890123456789012345678901 - razryad (0-31)");
printf("\n%s - bin\n",s);

/*Поиск единиц слева и справа от текущего разряда*/
for (i=0; i<=32-1; i++)
{

kl = 0;
if (i!=31) for (j=i+1; j<=32-1; j++)
{
st = 1;
for (k=0; k<=j-1; k++) st = st*2;
if ((n & st) != 0) kl = kl+1;
}

kr = 0;
if (i!=0) for (j=i-1; j>=0; j--)
{
st = 1;
for (k=0; k<=j-1; k++) st = st*2;
if ((n & st) != 0) kr = kr+1;
}

/* если кол-во ед слева, равно кол-ву ед справа */
if (kl==kr) printf("\n%2d: %d = %d ravnyaetsya",i,kl,kr);
else printf("\n%2d: -",i);

}

printf("\n\n->Enter");
gets(p);
return 0;
}
//---------------------------------------------------------------------------

Наташа
19.12.2007, 10:56
ОГРО_О_О_МНОЕ СПАСИБИЩЕ!!!!!!!!!!!!!!!!

srv
19.12.2007, 11:02
Пожалуйста) Задания хорошие, развивающие, интересно было делать) Вот только почётче сформулировали бы преподы

srv
19.01.2008, 09:50
Хоть бы отписалась как всё прошло)

Наташа
19.01.2008, 10:15
Только вчера защитил информатику, поэтому пока нечего было писать, sorry! На "4" не вытянул, но Ваша помощь помогла не завалить предмет и сдать 1 сессию - БАААльшущее СПАСИБО!!! Будет трояк еще по матанализу, а по остальным 5 и 4. Со степухи конечно слетел, но для меня главное, чтобы учился и соображал, а оценки - чушь, особенно в Универе, ведь ни в науку, ни красный липлом... С праздником Крещения!!!!

necromancer
19.01.2008, 19:11
А специальность какая, позвольте поинтересоваться?