ANSI C / C99 Wczytywanie serii danych do cwiczen algorytmicznych

0

Czesto w zadaniach algorytmicznych pojawia sie koniecznosc wczytania kilku liczb do tablicy, podawanych w jednej linii, na przyklad:

2 7
1 2 3 4 5 6 7
9 8 7 6 5 4 3

Zastanawiam sie jaki jest najprostszy sposob czytania takich danych.

Pierwsze, co przychodzi mi na mysl to czytanie lancucha do jakiegos bufora. Dostep do poszczegolnych elementow moge uzyskac dzieki strtok. Ale to duzo zabawy na pewno da sie jakos prosciej.

W przypadku, gdy zawsze czytam na przyklad 2 liczby odpowidz jest oczywista:

scanf("%d %d", &a, &b);

Moge sobie wygenerowac dowolna ilosc %d za pomoca petli i uzyc wskaznika. Ale prawa strona funkcji, czyli podanie konkretnego zrodla, gdzie chce zapisac te dane nie da sie zmodyfikowac w ten sposob.

I tu wracam do dzielenia lancucha na tokeny i zabawy z atoi.

W jaki sposob doswiadczeni programisci radza sobie z takimi zadaniami?

0

Ale prawa strona funkcji, czyli podanie konkretnego zrodla, gdzie chce zapisac te dane nie da sie zmodyfikowac w ten sposob.

WTF? Lekcja na dziś: TABLICE.

0
#include <stdio.h>

int main()
{
    int w,h;
    scanf("%d %d", &w, &h);
    int tab[w][h];
    for (int i = 0; i<w; i++)
        for (int j = 0; j<h; j++)
            scanf("%d",&tab[i][j]);

    for (int i = 0; i<w; i++)
    {
        printf(" { ");
        for (int j = 0; j<h; j++)
            printf("%d ",tab[i][j]);
        printf("}\n");
    }
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1