powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Необходимо поменять структуру программы.
2 сообщений из 2, страница 1 из 1
Необходимо поменять структуру программы.
    #38117652
apelcine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Сделал задачу на Си, но как оказалось неправильно, сказали переделать, но въехать как, не могу.
Помогите пожалуйста!

Задание:
*Вторая часть задания подразумевает обязательное использование процедуры из первой части.*
Составить процедуру, которая находит номер первого от начала массива Т элемента, для которого f(Ti) больше заданной величины.
Для каждой строки матрицы А отпечатать элементы, начиная с элемента, абсолютная величина которого больше R.

Я сделал, что в процедуру передается вся матрица и по всем элементам проверяется(процедура f2). А оказалось, что надо чтобы передавались строки матрицы - как в процедуре f1. Но связать её не могу с main.
В общем f2 работает, но надо чтобы туда передавался массив(ы), а не матрица.

Код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>

void vvod(int *, int, char);
void vvod1(int **, int, int, char);
void f1(int *, int);
void f2(int **, int);

void vvod(int *mas, int n, char namematr)
{
int i, j;
for(i=0; i<n; i++)
{
    printf("\n %c[%d]=",namematr,i+1);
    scanf("%d", &mas[i]);
}
}

void vvod1(int **matr, int n, int m, char namematr)
{ int i, j;
for(i=0; i<n; i++)
for(j=0; j<m; j++)
{ printf("\n %c[%d][%d]=",namematr,i+1,j+1);
scanf("%d", &matr[i][j]);
}
}

void  f1(int *mas, int n)
{
 int i,k;
 puts("input K");
 scanf("%d",&k);
 for(i=0;i<n;i++)
 {
     if(mas[i]>k)
     {
         printf("mas[%d] = %d\n",i+1,mas[i]);
         break;
     }
 }
 return ;
}

void  f2(int **matr, int n)
{ int  i, j, R, *t, h=0, k=0;

puts("input R");
scanf("%d",&R);
for(i=0; i<n; i++)
{ j= 0;
  while (j < n)
  {
    if (matr[i][j] > R)
        break;
    else    //printf("t=%d\n",t);
     j++;
  }
  printf("str %d :",i+1);
  while (j<n)
  {
  printf(" %d ",matr[i][j]);
  j++;
  }
  puts("\n");
}

return ;
}

int main()
{ int  **a,*b, *c, n, m, i, j, t;
clrscr();
printf("input size T : \n");
scanf("%d", &t);
b=(int*)malloc(t*sizeof(int));
vvod(b, t, 'T');
f1(b, t);

printf("input size A : ");
scanf("%d", &n);
a=(int**)malloc(n*sizeof(int*));
for(i=0; i<n; i++)
a[i]=(int*)malloc(n*sizeof(int));
vvod1(a, n, n, 'A');
f2(a, n);
free(a);
free(b);
getch();
}



У меня уже голова кругом, спутался в коде, напишите как надо пожалуйста.
...
Рейтинг: 0 / 0
Необходимо поменять структуру программы.
    #38120394
apelcine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
всё ок, проблему решил
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Необходимо поменять структуру программы.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]