Форум групп 22475 и 22478 ЕФ КГТУ

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Форум групп 22475 и 22478 ЕФ КГТУ » Учеба » ПнаЯВУ (C)


ПнаЯВУ (C)

Сообщений 11 страница 20 из 68

11

Однозначно и безоговорочно. Только Ибатуллин все задачи задавал, а не две.

0

12

Задачка №29
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

long columnMul(int **matr, int rows, int column_index){
        long mul = 1L;
        int i;
        for ( i = 0; i < rows; ++i )
                mul *= matr[i][column_index];
        return mul;
}

/*
        Дан двухмерный массив.
        Выяснить является ли произведение элементов заданного столбца массива трехзначным числом.
*/

#define ROWS 3
#define COLS 10
int main(void){
        int **matr, i, j;
        long mul;
       
        if ( ( matr = (int**)calloc(ROWS, sizeof(int*)) ) == NULL )
                exit(1);
        for ( i = 0; i < ROWS; ++i )
                if ( ( matr[i] = (int*)calloc(COLS, sizeof(int)) ) == NULL )
                        exit(1);
        srand(time(NULL));
        printf("\nMatrix:\n");
        for ( i = 0; i < ROWS; ++i )
                for ( j = 0; j < COLS; ++j )
                        printf( ( j < COLS - 1 ) ? "%d " : "%d\n", ( matr[i][j] = rand() % 10 ));
        do {
                printf("\nColumn index (0 - %d): ", COLS - 1);
                if ( scanf("%d", &j) != 1 )
                        exit(1);
        } while ( ( j < 0 || j > COLS - 1 ) && printf("Bad value!\n") );
        mul = columnMul(matr, ROWS, j);
        printf("Multiply of column is %ld. It's %sa three digits number.", mul,
                ( mul > 99 && mul < 1000 ) ? "" : "not ");
       
        for ( i = 0; i < ROWS; ++i )
                free(matr[i]);
        free(matr);
        exit(0);
}
Правельнее будет №13

0

13

И в каком компиляторе это открывать?

0

14

Задача №2. Дан двухмерный целых чисел массив. Вывести все номера эл., оканчивающихся цифрой 0, если таких элементов нет, то вывести соответствующее сообщение.

Вырезка
k = 0;  //Пока нужных элементов нет
  for(i=0; i<N; i++)
    for(j=0; j<M; j++) {
        if ((M[i][j] %10)==0) {
           k++;
           printf(" i=%d j=%d\n", i, j);
        }
    }
  printf(" Найдено %d чисел\n", k);

0

15

И в каком компиляторе это открывать?

Просил в Turbo c, похоже, что С++ :D Microsoft Visual C++

Отредактировано Камиль (2010-01-22 18:46:48)

0

16

Открывается. Но шота я не въезжаю.

0

17

Задача №1.

Основная часть:
int A[N][M];  //Данный массив
  for (k=0; k<N*M; k++) {
     i = k / M;  // Номер строки
     j = k % M;  //  % - остаток от деления = номер столбца
     i0 = (k-1) / M;  // То же для предыдущего элемента
     j0 = (k-1) % M;
     if (k > 0 && M[i][j] < M[i0][j0]) {
        tmp = M[i][j];
        M[i][j] = M[i0][j0];
        M[i0][j[0] = tmp;
     }
  }

Можно по другому:
for(int i=1; i<N; i++)
{
for(int j=1; j<N; j++)
  if(mas[i][j]< mas[i][j-1])
  {
   temp=mas[i][j+1];
   mas[i][j+1]=mas[i][j];
   mas[i][j]=temp;
  {
{

Отредактировано Камиль (2010-01-22 18:55:15)

0

18

:crazyfun:

Отредактировано Рентик (2010-01-27 00:25:49)

-1

19

Листинг MASSIV3

#include<stdio.h>
#include<math.h>
#include<conio.h>
main()
{
int a[10],i,k;k=0;
clrscr();
for(i=0;i<10;i++)
{
a[i]=rand();
printf("%8d",a[i]);
}
for(i=0;i<9;i++)
{
if (a[i]%2==0)
if (a[i+1]%2==0)
k=k+1;
}
printf("Chislo par=%d",k);
getch();
return 0;
}

:idea:

0

20

Решения чего ?

0


Вы здесь » Форум групп 22475 и 22478 ЕФ КГТУ » Учеба » ПнаЯВУ (C)