Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 1
Регистрация: 10.12.2012
Сообщений: 9
1

На экран выводится "мусор"

11.06.2013, 19:30. Показов 1414. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вместо создаваемого массива выводит на экран "мусор" какой-то. Не пойму, что не так...
C
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
#include<stdio.h>
#include<conio.h>
#include<iostream>
 int main(void)
 {   int n, m, i, j;
     printf("Vvedite razmer massiva:");
     scanf("%d%d", &n, &m);
 
     int**arr = new int *[n];
     for( i=0; i<n; i++)
         arr[i] = new int [m];
     
     printf("Vvedite massiv\n\n");
 
     for(i=0; i<n; i++)
        { for(j=0; j<m; j++)
           {
            printf("arr[%d][%d]=", i, j);
            scanf("%d", (*(arr+i)+j));
            printf("\n%d\n", (*(arr+i)+j));}}
 
     printf("Vi vveli %d chisel(la)\n\n", i*j);
     for(i=0; i<n; i++)
        { for(j=0; j<m; j++)
           {
            printf("%9d", (*(arr+i)+j));}
            printf("\n");}
_getch();
 }
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.06.2013, 19:30
Ответы с готовыми решениями:

В файл выводится мусор
Вот код. Здесь я записываю три числа разного типа в текстовый файл test.txt. Но в файле...

Выводится мусор в конце строки
При выводе вместе с нужным значением выводится мусор #include &quot;stdafx.h&quot; long int len1(char*adr)...

Вместе с текстом выводится мусор
Здравствуйте дорогие товарищи. Я изучал С# и решил перейти на Си. Взял простенькую задачу из...

Запись и считывание файла - выводится мусор
Запись проходит нормально, но при чтении машина подтягивает мусор из оперативки, в чем проблема?...

При загрузке данных из файла выводится мусор
Здравтсвуйте помогите разобраться. написал игру где можно сохранить результат имя и акаунт. При...

10
58 / 58 / 44
Регистрация: 06.10.2012
Сообщений: 98
11.06.2013, 19:49 2
У тебя с вводом элементов массива проблемы
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
11.06.2013, 19:57 3
И с освобождением памяти

Добавлено через 49 секунд
Да и заголовочный файл С++ затесался. Если что, под С89 не пойдет (обычно под него пишут).
Создавайте .c файлы и компилируйте С компилятором
0
0 / 0 / 1
Регистрация: 10.12.2012
Сообщений: 9
11.06.2013, 20:01  [ТС] 4
Как же мне все эти прелести исправить может подскажете?
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
11.06.2013, 20:07 5
C
1
scanf("%d", &arr[i][j]);
про память почитайте malloc и free
0
0 / 0 / 1
Регистрация: 10.12.2012
Сообщений: 9
11.06.2013, 20:47  [ТС] 6
функцию scanf приводила к такому виду, а вот с памятью поковыряться надо бы. спасибо.

Добавлено через 36 минут
Получилось что-то вот такое
C
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
#include<stdio.h>
#include<conio.h>
#include<iostream>
 int main(void)
 {   int n, m, i, j;
     printf("Vvedite razmer:");
     scanf("%d%d", &n, &m);
 
     int**arr;
     arr = (int**)malloc(n*sizeof(int));
     for(i=0; i<n; i++)
        *(arr+i) = (int*)malloc(m*sizeof(int));
     
 
     printf("Massiv\n\n");
 
     for(i=0; i<n; i++)
        { for(j=0; j<m; j++)
           {
            printf("arr[%d][%d]=", i, j);
            scanf("%d", &arr[i][j]);
            printf("\n%d\n", &arr[i][j]);}
     printf("stroka %d vvedena\n", i+1);}
 
 
     printf("\n\nSpasibo!\n");
 
 
     printf("Vi vveli %d chisel(la)\n\n", i*j);
     for(i=0; i<n; i++)
        { for(j=0; j<m; j++)
           {
            printf("%4d", &arr[i][j]);}
            printf("\n");}
     free(arr);
_getch();
 }
Только и эта версия кода не работает.
0
58 / 58 / 44
Регистрация: 06.10.2012
Сообщений: 98
11.06.2013, 22:06 7
смотри внимательно за ссылками, вот держи работающий:
C
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
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<stdio.h>
#include<conio.h>
 
 int main(void)
 {   int n, m, i, j;
     printf("Vvedite razmer: ");
     scanf("%d%d", &n, &m);
 
     int **arr;
     arr = (int**)malloc(n*sizeof(int));
     for(i=0; i<n; i++)
        *(arr+i) = (int*)malloc(m*sizeof(int));
     
 
     printf("Massiv\n\n");
 
     for(i=0; i<n; i++)
        { for(j=0; j<m; j++)
           {
            printf("arr[%d][%d]=", i, j);
            scanf("%d", &arr[i][j]);
            printf("\n%d\n", arr[i][j]);}
     printf("stroka %d vvedena\n", i+1);}
 
     printf("\n\nSpasibo!\n");
 
     printf("Vi vveli %d chisel(la)\n\n", i*j);
     for(i=0; i<n; i++)
        { for(j=0; j<m; j++)
           {
            printf("%4d", arr[i][j]);}
            printf("\n");}
     free(arr);
    _getch();
 }
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
12.06.2013, 04:25 8
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Z_A_S, вам бы тоже не мешало почитать
Цитата Сообщение от MrGluck Посмотреть сообщение
про память почитайте malloc и free
и послушать совета
Цитата Сообщение от MrGluck Посмотреть сообщение
Создавайте .c файлы и компилируйте С компилятором
Добавлено через 6 минут
Вот собственно как надо:
C
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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
 
int main(void)
{  
    int n, m, i, j=0; 
    int **arr;
    
    printf("Vvedite razmer: ");
    scanf("%d%d", &n, &m);
    arr = malloc(n * sizeof(int*));     
 
    printf("Massiv\n\n"); 
    for(i=0; i < n; i++)
    {
        *(arr+i) = malloc(m * sizeof(int));
        for(j=0; j < m; j++)
        {
            printf("arr[%d][%d]=", i, j);
            scanf("%d", &arr[i][j]);
            printf("\n%d\n", arr[i][j]);
        }
        printf("stroka %d vvedena\n", i + 1);
    }
 
    printf("\n\nSpasibo!\n"); 
    printf("Vi vveli %d chisel(la)\n\n", i * j);
    for(i=0; i < n; i++)
    {
        for(j=0; j < m; j++)
            printf("%4d", arr[i][j]);
        printf("\n");
        free(arr[i]);
    }
    free(arr);
    
    _getch();
    return 0;
}
1
58 / 58 / 44
Регистрация: 06.10.2012
Сообщений: 98
12.06.2013, 09:19 9
Я и не собирался так писать, только исправил ссылки в коде...спасибо за замечания
0
0 / 0 / 1
Регистрация: 10.12.2012
Сообщений: 9
12.06.2013, 19:29  [ТС] 10
MrGluck,
cпасибо, добрый человек!!! Правда пришлось немного исправить: дописала тип int перед функцией malloc, т к компилятор ругался
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
12.06.2013, 20:17 11
shulia-katty, ну так компилируйте С-компилятором, а не С++
0
12.06.2013, 20:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.06.2013, 20:17
Помогаю со студенческими работами здесь

Почему в одном случае мусор выводится а в другом нет
#define _CRT_NO_SECURE_WARNINGS #include &lt;stdio.h&gt; int A; //глобальная матрица int a; ...

Выводится мусор в конце строки при использовании wprintf()
Ну собственно вот: #define UNICODE #define _UNICODE #include &lt;stdio.h&gt; #include &lt;conio.h&gt;...

Найти элементы матрицы, которые делятся на сумму индексов и не делятся на 5 (в рандомной матрице выводится мусор)
Здравствуйте. Не могу разобраться.. Почему, когда я ищу элементы, которые делятся на сумму индексов...

Выводится мусор на экран при прерывании 09h
Здравствуйте. Пишу модульную программу, которая получает на входа два 8-разрядных двоичных числа....

Программа реверса строки: почему на экран выводится мусор, вместо нужного текста?
Пишу программу реверса строки (меняет местами первый символ и последний, второй и предпоследний и...

Выводится мусор в конструкторе с параметрами
файл planet.h #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; class Planet {...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru