Загрузка...

Помогите найти проблему

Тема в разделе C/C++ создана пользователем ORIE 25 ноя 2022. 165 просмотров

  1. ORIE
    ORIE Автор темы 25 ноя 2022 6 28 июл 2020
    Задача состоит в том, чтобы удалить в матрице столбцы, индекс которых кратен трём, то-есть 3,6,9 и тд.
    код программы:

    #include <stdlib.h>

    #include <stdio.h>

    #include <time.h>



    #define N 7







    [B]int[/B] main() {

    [B]int[/B] i = 0, j = 0, k;

    srand(time([B]NULL[/B]));

    [B]int[/B] a[N][N];

    [B]for[/B] (i; i < N; i++) {

    [B]for[/B] ([B]int[/B] j = 0; j < N; j++) {

    [B]if[/B] (j%3==0){k=j;}

    a[i][j] = rand() % 50;

    printf("%3d ", a[i][j]);

    }

    printf("\n\n");

    }

    [B]int[/B] a1[N-1][N-1];





    printf("new:\n");



    /*код удаления столбца */

    [B]for[/B] ([B]int[/B] i = 0; i < N; i++)



    [B]for[/B] ([B]int[/B] j = k; j < N; j++)

    a[i][j] = a[i][j];



    #define N1 N - N/3 //новый размер

    [B]for[/B] (i = 0; i < N; i++) {



    [B]for[/B] ([B]int[/B] j = 0; j < N1; j++) {

    printf("%3d ", a[i][j]);

    }

    printf("\n\n");

    }



    }





    проблема
    состоит в том, что он пропускает выборку столбца и удаляет последние несколько строк[
     
    25 ноя 2022 Изменено
  2. vtlstolyarov
    vtlstolyarov 25 ноя 2022 468 8 янв 2022
    как-то так?
    C
    #include <stdlib.h>
    #include <stdio.h>
    #include <time.h>

    #define N 7

    int main() {
    srand(time(NULL));
    int a[N][N];

    for (int i = 0; i < N; i++) {
    for (int j = 0; j < N; j++) {
    a[i][j] = rand() % 50;
    printf("%3d ", a[i][j]);
    }
    printf("\n\n");
    }

    #define N1 N - N/3 //новый размер
    int a1[N1][N1];
    printf("new:\n");

    /*код удаления столбца */
    for (int i = 0; i < N; i++)
    for (int j = 0; j < N; j++)
    if ((i + 1) % 3 != 0 && (j + 1) % 3 != 0)
    a1[i - i/3][j - j/3] = a[i][j];

    for (int i = 0; i < N1; i++) {
    for (int j = 0; j < N1; j++) {
    printf("%3d ", a1[i][j]);
    }
    printf("\n\n");
    }
    }
     
    25 ноя 2022 Изменено
Top
Загрузка...