Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 29.02.2012
Сообщений: 22

вывод матрицы

28.03.2012, 16:56. Показов 1346. Ответов 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();
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.03.2012, 16:56
Ответы с готовыми решениями:

Реализовать задание с использованием функций (ввод матрицы, вывод матрицы, вычисление суммы)
Реализовать задание с использованием функций (ввод матрицы, вывод матрицы, вычисление суммы) и цикла for для вычисления суммы. Изменение...

Написать и протестировать подпрограмму, которая переставляет в обратном порядке элементы главной диагонали квадратной матрицы - вывод всей матрицы
Не знаю как сделать чтоб вся матрица была задание Написать и протестировать подпрограмму, которая переставляет в обратном порядке элементы...

Даны матрицы А(4,3) и В(3,5). Для каждой матрицы вычислить сумму элементов над главной диагональю. Ввод,вывод,сумму в виде отдельных процедур
Завтра дедлайн, а у меня 2 лабы и начало первого. Прошу помощи.

6
48 / 48 / 11
Регистрация: 12.03.2012
Сообщений: 108
28.03.2012, 17:06
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");
        } 
    }
???
0
0 / 0 / 0
Регистрация: 29.02.2012
Сообщений: 22
28.03.2012, 17:16  [ТС]
Здесь должна вывестись матрица 5Х7
0
48 / 48 / 11
Регистрация: 12.03.2012
Сообщений: 108
28.03.2012, 17:43
эт я понял. я указываю на другое

а вот этот выведет внутренность(т.е. вашу матрицу) 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");
        }
0
0 / 0 / 0
Регистрация: 29.02.2012
Сообщений: 22
28.03.2012, 17:50  [ТС]
мне надо вывести одну матрицу. Эта матрица состоит только из чисел 2,3,4,5, а он выводит пять одинаковых матриц, состоящих из всех чисел. как это исправить?
0
48 / 48 / 11
Регистрация: 12.03.2012
Сообщений: 108
28.03.2012, 18:04
я ж уже написал выше
замени им вот этот кусок в своем коде

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");
} }
0
0 / 0 / 0
Регистрация: 29.02.2012
Сообщений: 22
28.03.2012, 18:15  [ТС]
я заменил, но матрица получается 5 строк и 42 столбца, а нужно 5 строк и 7 столбцов; и состоит из разных чисел, а мне нужно только 2,3,4,5.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.03.2012, 18:15
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru