Обитель Греха

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

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


Вы здесь » Обитель Греха » Экзамен » Задачи на 4


Задачи на 4

Сообщений 1 страница 8 из 8

1

Задание 1 Вычислить сумму положительных элементов каждого столбца матрицы А(m*n).

#include "stdafx.h"
#include <conio.h>
#include <locale.h>
#include <time.h>
#include <stdio.h>
#include <stdlib.h>

#define MAX_X 2
#define MAX_Y 2

int _tmain()
{
time_t seconds;
time(&seconds);
srand(seconds);

int a[MAX_X+1][MAX_Y+1];
int b[MAX_X+1];

for (int i=0; i<=MAX_X; i++){

for (int j=0; j<=MAX_Y; j++){
    a[i][j] = rand()%10;   
}
}

for (int i=0; i<=MAX_X; i++){
b[i] = 0;
}

for (int i=0; i<=MAX_X; i++){

for (int j=0; j<=MAX_Y; j++){
    printf("%d\t",a[i][j]);
}

printf("\n");
   
}
printf("\n");

for (int i=0; i<=MAX_X; i++){
for (int j=0; j<=MAX_Y; j++){
    b[i] = b[i]+ a[j][i];
}
}

printf("\n\n" );

for (int i=0; i<=MAX_X; i++){
printf("%d\t",b[i] );
}

_getch();

}

0

2

Задание 2. Из матрицы Х (m*n) построить матрицу Y, поменяв местами строки и столбцы.
#include "stdafx.h"
#include <conio.h>
#include <locale.h>
#include <time.h>
#include <stdio.h>
#include <stdlib.h>

#define MAX_X 2
#define MAX_Y 2

int _tmain()
{
time_t seconds;
time(&seconds);
srand(seconds);

int a[MAX_X+1][MAX_Y+1];
int b[MAX_X+1][MAX_Y+1];

for (int i=0; i<=MAX_X; i++){

for (int j=0; j<=MAX_Y; j++){
    a[i][j] = rand()%10;   
}
}

for (int i=0; i<=MAX_X; i++){

for (int j=0; j<=MAX_Y; j++){
    printf("%d\t",a[i][j]);
}
printf("\n");   
}
printf("\n");

printf("Invert\n\n" );

for (int i=0; i<=MAX_X; i++){
for (int j=0; j<=MAX_Y; j++){
    b[i][j]=a[j][i];
    printf("%d\t",b[i][j]);
}
printf("\n");
}
printf("\n");

_getch();

}

0

3

Задание 3. Найти наименьший элемент матрицы Х (m*n) и записать нули в ту строку и столбец, где он находится.
#include "stdafx.h"
#include <conio.h>
#include <locale.h>
#include <time.h>
#include <stdio.h>
#include <stdlib.h>

#define MAX_X 2
#define MAX_Y 2

int _tmain()
{
time_t seconds;
time(&seconds);
srand(seconds);

int a[MAX_X+1][MAX_Y+1];
int xs,ys;
int smallest;

smallest=11;

for (int i=0; i<=MAX_X; i++){

for (int j=0; j<=MAX_Y; j++){
    a[i][j] = rand()%10;
    if(a[i][j] < smallest)
    {
    smallest = a[i][j];
    xs=i;
    ys=j;
    }
printf("%d\t",a[i][j]);
}
printf("\n");
}
printf("\n");

printf("%d: {%d;%d}\n\n", smallest,xs,ys);

for (int i=0; i<=MAX_X; i++){
a[xs][i] = 0;
}

for (int i=0; i<=MAX_Y; i++){
a[i][ys] = 0;
}

for (int i=0; i<=MAX_X; i++){

for (int j=0; j<=MAX_Y; j++){
    printf("%d\t",a[i][j]);
}
printf("\n");   
}
printf("\n");

_getch();

}

0

4

Задание 4. Дана действительная матрица размера m*n. Найти сумму наибольших значений элементов ее строк.
#include "stdafx.h"
#include <conio.h>
#include <locale.h>
#include <time.h>
#include <stdio.h>
#include <stdlib.h>

#define MAX_X 2
#define MAX_Y 7

int _tmain()
{
setlocale(LC_ALL,"");
time_t seconds;
time(&seconds);
srand(seconds);

int a[MAX_X+1][MAX_Y+1];
int xs,ys;
int biggest, sb;

biggest=0;
sb = 0;
for (int i=0; i<=MAX_X; i++){

for (int j=0; j<=MAX_Y; j++){
    a[i][j] = rand()%100;
    if(a[i][j] > biggest)
    {
    biggest = a[i][j];
    xs=i;
    ys=j;
    }
printf("%d\t",a[i][j]);
}
sb = sb + biggest;
biggest=0;
printf("\n");
}
printf("\n");

printf("Сумма наибольших значений строк: %d\n",sb);

_getch();

}

0

5

Задание 5. В последовательности из 30 символов сосчитать, сколько раз встречается буква А и сколько раз за буквой К следует буква А.
#include "stdafx.h"
# include <stdio.h>
#include <conio.h>
#include <locale.h>

int _tmain()
{
setlocale(LC_ALL,"");
char a[31];
int a_count = 0;
int ka_count= 0;

printf("Введите строку длиной менее 30 символов: ");

gets(a);

for(int i=0; i<=30; i++){

if (a[i] == 'k')
{
if(a[i+1] == 'a')
{
ka_count++;
}
}
else
if(a[i] == 'a')
{
a_count++;
}
}

printf("Количество элементов А: %d \n", a_count);
printf("Количество элементов КА: %d \n", ka_count);
_getch();
}

0

6

Задание 6. Упорядочить в алфавитном порядке последовательность из 10 пятибуквенных слов.
#include "stdafx.h"
#include<stdio.h>
#include<string.h>
#include <conio.h>
#include <locale.h>

void quick_string(char items[][6], int count);// размер строки не больше 10 символофф
void qs_string(char items[][6], int left, int right);

char str[][6] = { "один",
                  "два",
                   "три",
                   "четыр",
           "пять",
           "шесть",
           "семь",
           "восем",
           "девят",
           "десят"
                 };

int main(void)
{
setlocale (LC_ALL,"");
  int i;
  printf("Заданная строка:\n");
  for(i=0; i<10; i++){
  printf("%s ", str[i]);}
printf("\n");

quick_string(str, 10);
printf("Отсортированная строка:\n");
  for(i=0; i<10; i++){
  printf("%s ", str[i]);}

_getch();
}

void quick_string(char items[][6], int count)
{
  qs_string(items, 0, count-1);
}

void qs_string(char items[][6], int left, int right)
{
  register int i, j;
  char *x;
  char temp[6];

  i = left; j = right;
  x = items[(left+right)/2];

  do {
    while((strcmp(items[i],x) < 0) && (i < right)) i++;
    while((strcmp(items[j],x) > 0) && (j > left)) j--;
    if(i <= j) {
      strcpy(temp, items[i]);
      strcpy(items[i], items[j]);
      strcpy(items[j], temp);
      i++; j--;
   }
  } while(i <= j);

  if(left < j) qs_string(items, left, j);
  if(i < right) qs_string(items, i, right);

}

0

7

Задание 7. В последовательности из 60 символов сосчитать, сколько раз встречается последовательность 555 и сколько раз 666.
#include "stdafx.h"
# include <stdio.h>
#include <conio.h>
#include <locale.h>
#include <time.h>
#include <stdio.h>
#include <stdlib.h>

int _tmain()
{
setlocale(LC_ALL,"");

time_t seconds;
time(&seconds);
srand(seconds);

static int a[10]={6,1,5,5,5,7,3,6,6,6};
int five_count = 0;
int six_count = 0;
int j = 0;

printf("Введите строку длиной менее 30 символов: \n");

//for (int i=0; i<=9; i++){
//a[i] = rand()%10;
//}

for (int i=0; i<=9; i++){

printf("%d\t",a[i]);   

}
printf("%d\n");

for(int i=0; i<=9; i++){

if (a[i] == 5)
{
if(a[i+1] == 5){
    if(a[i+2] == 5){
    five_count++;}   
}
}

if (a[i] == 6)
{
if(a[i+1] == 6){
    if(a[i+2] == 6){
    six_count++;}   
}
}

}

printf("Количество элементов 555: %d \n", five_count);
printf("Количество элементов 666: %d \n", six_count);

_getch();
}

0

8

Задание 8. Произвести следующую обработку 10 целых чисел: найти количество отрицательных чисел и подсчитать сумму положительных чисел, делящихся без остатка на 3.
#include "stdafx.h"
#include <conio.h>
#include <locale.h>
#include <time.h>
#include <limits.h>
#include <stdio.h>
#include <stdlib.h>

int _tmain(int argc, _TCHAR* argv[])
{
int a[14];
int otr = 0;
int nol = 0;
int summ = 0;
int summ3 = 0;

time_t seconds;
time(&seconds);
srand(seconds);

for (int i=0; i<=14;i++)
{
    a[i]=rand()%10;

    if(a[i]%2) a[i] = -a[i];
    printf("%d\t",a[i]);

    if (a[i]>0)
    {
    summ= summ + a[i];

    }else
    if(a[i]<0){
        otr++;
    }

    if (a[i]%3)
    {
    summ3 = summ3 + a[i];

    }
}

printf("\n\n");
printf("%d\t%d\t%d\t%d\t",otr,summ,summ3);
_getch();
}

0


Вы здесь » Обитель Греха » Экзамен » Задачи на 4