Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
andodge
0 / 0 / 0
Регистрация: 29.02.2012
Сообщений: 22
#1

вывод матрицы - C++

28.03.2012, 16:56. Просмотров 515. Ответов 6
Метки нет (Все метки)

почему выводит вместо одной матрицы пять штук?



#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<iostream.h>
#define m 7
#define n 5
using namespace std;

void gen_matr(char Uch[][15],char Pr[][10],int Ocen[][7])
{
printf("Predmety:\n");
for(int i=0;i<5;i++)
{ printf("%d predmety:",i);
scanf("%s",Pr[i]);
}
printf("Ucheniki:\n");
for(int i=0;i<7;i++)
{ printf("%s Uchenik:",i);
scanf("%s",Uch[i]);
}
printf("Ocenki:\n");
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
Ocen[i][j]=rand()%4+2;



}




void vvod(char Uch[][15],char Pr[][10],int Ocen[][7])
{
printf("Vvod dannyh\n");
for (int i=0;i<7;i++)
printf("%s", Uch[i]);
scanf("%s",Uch[1]);
scanf("%s",Uch[2]);
scanf("%s",Uch[5]);
scanf("%s",Uch[4]);
scanf("%s",Uch[3]);
scanf("%s",Uch[6]);
scanf("%s",Uch[7]);
{ for (int i=0;i<5;i++)
printf("%s",Pr[i]);
scanf("%s",Pr[1]);
scanf("%s",Pr[2]);
scanf("%s",Pr[3]);
scanf("%s",Pr[4]);
scanf("%s",Pr[5]);

printf("\n");
}
}

void vivod(char Uch[][15],char Pr[][10],int Ocen[][7])
{ printf("Vivod dannyh\n");
printf("%s"," TABLICA \n ");
for(int i=0;i<7;i++)
printf(" %s ",Uch[i]);

printf("\n");

for(int i=0;i<5;i++)
{ printf("%s\n",Pr[i]);


for(int i=0;i<n;i++)
{for(int j=0;j<m;j++)
printf("%4d",Ocen[i][j]);


printf("\n");
} }

printf("Vivod zakonchen\n");
printf("\n");

}
void zadacha(char Uch[][15],char Pr[][10],int Ocen[][7])
{
int countOfPupill=0;

for(int j=0;j<m;j++)
{ int tempCount=0;
for(int i=0;i<n;i++)
{ if (Ocen[i][j]<=3)
{ tempCount ++;
}
}
if (tempCount <=1)
{ countOfPupill ++;
}
}
cout << "Kol-vo: "<<countOfPupill <<'\n';
}

void menu(char Uch[][15],char Pr[][10],int Ocen[][7])
{ printf("======MENU======\n");
printf("1.Vvod\n");
printf("2.Vivod\n");
printf("3.zadacha\n");
printf("4.Vihod\n");
printf("Vvedi pynkt\n");
int t;
scanf("%d",&t);
switch(t)
{ case 1:vvod(Uch,Pr,Ocen);break;
case 2:vivod(Uch,Pr,Ocen);break;
case 3:zadacha(Uch,Pr,Ocen);break;
case 4:exit(0);
}
}

void main()
{ char Uch[7][15],Pr[5][10];
int Ocen[5][7];


while (true)
menu(Uch,Pr,Ocen);
printf("konec\n");
}

getchar();
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.03.2012, 16:56     вывод матрицы
Посмотрите здесь:

Вывод матрицы - C++
как сделать переход на новую строку, чтоб матрица выводилась в виде: 1 2 3 4 5 6 int** matrix_outp(int M, int N, int **matrix) { ...

Вывод матрицы - C++
Подскажите что и где прописать чтобы мне вывело новую матрицу где есть одинаковые строки #include &lt;iostream&gt; using namespace std; ...

Вывод матрицы - C++
Подскажите, пожалуйста, как сделать вывод,чтобы цифры располагались друг под другом, а не так: 1 111111 1 0 11 1 0 ...

Вывод матрицы - C++
Как реализовать вывод матриц в виде 1 1 1 1 1 1 1 1 1 , а не 111111111? #include &lt;iostream&gt; #include &lt;conio.h&gt; using...

Вывод матрицы из файла.... - C++
Как вывести матрицу 5*5 из файла и записать в двумерный массив?

Вывод части матрицы - C++
Напечатать таблицу, содержащую номера, фамилии и оценку студентов по высшей математике, а также подсчитать средний балл группы по этому...

Вывод ячейки матрицы - C++
Необходимо создать функцию(метод) вывода ячейки матрицы на экран. (непонятно как наладить связь между матрицей и этим методом, как связать...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Hemull
47 / 47 / 1
Регистрация: 12.03.2012
Сообщений: 108
28.03.2012, 17:06     вывод матрицы #2
C++
1
2
3
4
5
6
7
8
9
10
for(int i=0;i<5;i++)
    { 
        printf("%s\n",Pr[i]);
        for(int i=0;i<n;i++)
        {
            for(int j=0;j<m;j++)
            printf("%4d",Ocen[i][j]);
            printf("\n");
        } 
    }
???
andodge
0 / 0 / 0
Регистрация: 29.02.2012
Сообщений: 22
28.03.2012, 17:16  [ТС]     вывод матрицы #3
Здесь должна вывестись матрица 5Х7
Hemull
47 / 47 / 1
Регистрация: 12.03.2012
Сообщений: 108
28.03.2012, 17:43     вывод матрицы #4
эт я понял. я указываю на другое

а вот этот выведет внутренность(т.е. вашу матрицу) 5 раз
C++
1
2
3
4
5
6
7
8
9
10
11
for(int i=0;i<5;i++)
        { 
                printf("%s\n",Pr[i]);
///вот этот цикл выведет матрицу 1 раз               
for(int i=0;i<n;i++)
                {
                        for(int j=0;j<m;j++)
                        printf("%4d",Ocen[i][j]);
                        printf("\n");
                } 
        }
Добавлено через 1 минуту
фактически предмет берется в цикле 5 раз, а для каждого предмета у вас выведется одна и та же матрица оценок

Добавлено через 3 минуты
если я правильно понял, каждому предмету соответствует строка оценок. тогда надо бы так

C++
1
2
3
4
5
6
7
for(int i=0;i<n;i++)
        { 
                printf("%s\n",Pr[i]);
                for(int j=0;j<m;j++)
                printf("%4d",Ocen[i][j]);
                printf("\n");
        }
andodge
0 / 0 / 0
Регистрация: 29.02.2012
Сообщений: 22
28.03.2012, 17:50  [ТС]     вывод матрицы #5
мне надо вывести одну матрицу. Эта матрица состоит только из чисел 2,3,4,5, а он выводит пять одинаковых матриц, состоящих из всех чисел. как это исправить?
Hemull
47 / 47 / 1
Регистрация: 12.03.2012
Сообщений: 108
28.03.2012, 18:04     вывод матрицы #6
я ж уже написал выше
замени им вот этот кусок в своем коде

C++
1
2
3
4
5
6
7
8
9
10
11
for(int i=0;i<5;i++)
{ printf("%s\n",Pr[i]);
 
 
for(int i=0;i<n;i++)
{for(int j=0;j<m;j++)
printf("%4d",Ocen[i][j]);
 
 
printf("\n");
} }
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.03.2012, 18:15     вывод матрицы
Еще ссылки по теме:

Ввод - вывод матрицы - C++
#include &lt;cstdlib&gt; #include &lt;stdio.h&gt; using namespace std; /* * */ int main(int argc, char** argv) { int...

Ввод и вывод матрицы - C++
Сделать ввод и вывод матрицы.Числа рандомно . Потом транспонировать ее.

Вывод матрицы WinAPI - C++
Есть матрица. Она может большой (100 х 100). Есть окно с колесами прокрутки. Каким средством WinAPI в этом окне вывести матрицу? ...

Вывод транспонированной матрицы - C++
программа выдает массив X , как сделать так что бы она выдавава X^T(транспонированная матрица) #include&lt;iostream.h&gt; ...

Вывод матрицы по спирали - C++
Массив по спирали я заполнил. Но нужно вывести его так, чтобы был видел алгоритм заполнения. То есть вывести по спирали. Не знаю как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
andodge
0 / 0 / 0
Регистрация: 29.02.2012
Сообщений: 22
28.03.2012, 18:15  [ТС]     вывод матрицы #7
я заменил, но матрица получается 5 строк и 42 столбца, а нужно 5 строк и 7 столбцов; и состоит из разных чисел, а мне нужно только 2,3,4,5.
Yandex
Объявления
28.03.2012, 18:15     вывод матрицы
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru