Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Необходимо поменять структуру программы. / 2 сообщений из 2, страница 1 из 1
21.01.2013, 11:50
    #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
22.01.2013, 20:21
    #38120394
apelcine
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Необходимо поменять структуру программы.
всё ок, проблему решил
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Необходимо поменять структуру программы. / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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